当前位置:文档之家› C语言实验报告参考答案原

C语言实验报告参考答案原

C语言实验报告参考答案实验一熟悉C语言程序开发环境及数据描述四、程序清单1.编写程序实现在屏幕上显示以下结果:The dress is longThe shoes are bigThe trousers are black答案:#include<stdio.h>main(){printf("The dress is long\n");printf("The shoes are big\n");printf("The trousers are black\n");}2.编写程序:(1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。

(2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。

答案:(1)#include<stdio.h>main(){int a,b,c,x,y;a=150;b=20;c=45;x=a/b;y=a/c;printf("a/b的商=%d\n",x);printf("a/c的商=%d\n",y);x=a%b;y=a%c;printf("a/b的余数=%d\n",x);printf("a/c的余数=%d\n",y);}(2)#include<stdio.h>main(){int a,b,c,d;float x;a=160;b=46;c=18;d=170;x=(a+b)/(b-c)*(c-d);printf("(a+b)/(b-c)*(c-d)=%f\n",x); }3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将0赋给c。

(提示:用条件运算符)答案:#include<stdio.h>main(){int a,b,c;a=0;b=-10;c= (a>b) ? b:a;printf("c = %d\n",c);}五、调试和测试结果1.编译、连接无错,运行后屏幕上显示以下结果:The dress is longThe shoes are bigThe trousers are black2、(1) 编译、连接无错,运行后屏幕上显示以下结果:a/b的商=7a/c的商=3a/b的余数=10a/c的余数=15(2) 编译、连接无错,运行后屏幕上显示以下结果:(a+b)/(b-c)*(c-d)=-1064.00003. 编译、连接无错,运行后屏幕上显示以下结果:c =-10实验二顺序结构程序设计四、程序清单1.键盘输入与屏幕输出练习问题1 D 。

问题2 改printf("%c,%c,%d\n",a,b,c);这条语句改成:printf("%c %c %d\n",a,b,c);问题3 改scanf("%c%c%d",&a,&b,&c);这条语句改为:scanf("%c,%c,%d",&a,&b,&c);问题4 改printf("%c,%c,%d\n",a,b,c);这条语句改成:printf("\’%c\’ \’ %c\’ %d\n",a,b,c);问题5 把scanf("%c%c%d",&a,&b,&c);和printf("%c,%c,%d\n",a,b,c);改成scanf("%c%*c%c%*c%d",&a,&b,&c);printf("\'%c\',\'%c\',%d\n",a,b,c);2(1)从键盘输入两个八进制数,计算两数之和并分别用十进制和十六进制数形式输出。

#include <stdio.h>int main(){int a,b,c;scanf("%d%d",&a,&b);c = a + b;printf("%d\n",c);printf("%x\n",c);return 0;}2(2)编写程序:从键盘输入两个实数a和x,按公式计算并输出y的值:#include<stdio.h>#include<math.h>int main(){float a,x,y;scanf("%f%f",&a,&x);y = pow(a,5) + sin(a*x) + exp(a*x) + log(a+x);printf("y=%f\n",y);return 0;}五、调试和测试结果2(1) 输入: 12 14输出:261a2(2) 输入:1 0输出:2.000000实验三选择结构程序设计四、设计流程(算法描述)(请写出上机内容2(3)题的算法描述)主要是两两比较,然后得出最大的数五、程序清单(1)输入一个整数,若大于等于0,输出提示信息“is positive”,否则输出“is negative”。

#include<stdio.h>#include<math.h>main(){int a;scanf("%d",&a);if(a>=0)printf("the number is positve\n");elseprintf("the number is negetive\n");return 0;}(2)输入两个整数a和b,若a>=b时,求其积c并显示;若a<b时,求其商c并显示。

#include<stdio.h>main(){int a,b,c;scanf("%d%d",&a,&b);if(a>=b)printf("c=%d\n",a*b);elseprintf("c=%d\n",a/b);return 0;}(3)输入a、b、c三个整数,输出最大数。

#include<stdio.h>main(){int a,b,c,x;scanf("%d%d%d",&a,&b,&c);if(a>=b)x=a;elsex=b;if (x<c)x=c;printf("the max number is:%d\n",x);return 0;}六、调试和测试结果2(1) 输入: 2输出:the number is positve输入: 0输出:the number is positve输入: -2输出:the number is negetive2(2) 输入: 3 2 输出:c=6输入: 2 3 输出:c=02(3) 输入:3 2 1 输出:the max number is:3输入:2 3 1 输出:the max number is:3输入:1 2 3 输出:the max number is:3实验四循环结构程序设计四、设计流程(算法描述)(请写出上机内容2的算法描述)首先求出每一个给定数的所有因子和,然后从2到5000循环,那一个数x与因子之和相等,就是完数。

五、程序清单1.编写程序:求1+2+3+...+100和12+22+33+ (1002)#include<stdio.h>#include<math.h>int main(){int i,j,sum;sum = 0;for (i=1;i<=100;i++)sum += i;printf("the sum is:%d\n",sum);sum =0;for(i=1;i<=100;i++){j=pow(i,2);sum +=j;}printf("the square sum is:%d\n",sum);return 0;}2.一个数如果恰好等于它的因子之和,这个数就称为“完数”,编写程序找出2~5000中的所有完数。

#include<stdio.h>#include<math.h>main(){int i,j,sum=0;for(i=2;i<=5000;i++) //遍历从2到5000的所有数{sum = 0;for (j=1;j<=i/2;j++) //找出给定整数X的所有因子和{if(i%j == 0)sum +=j;}if(i == sum) //sum为因子和,如果和i相等,则输出printf("%d ",i);} return 0;}3.编写程序:计算sinx 的近似值,精确到10-6。

其实 )!12()1(sin )12(1n )1(--=-∞=-∑n x x n n 所以程序 #include <stdio.h>#include <math.h>main(){float x,sinx,i,t;printf("请输入一个x 值(弧度值):");scanf("%f",&x);sinx=0; t=x;i=1;while(fabs(t)>=1e-6){ sinx=sinx+t;t=t*(-x*x/(2*i*(2*i+1)));i++;}printf("sin(%.2f)=%.6f\n",x,sinx);}六、调试和测试结果1:结果:the sum is:5050the square sum is:3383502:结果:6 28 4963、输入0,输出sin(0.00)=0.000000输入1.57,输出sin(1.57)=1.000000输入0.5,输出sin(0.50)=0.479426实验五函数和编译预处理四、设计流程(算法描述)(请写出上机内容2的算法描述)求素数的方法就是:给定一个大于3的数x,从2到X的平方根遍历,只要有数可以被x 整除,就不是素数五、程序清单1.编写自定义函数long power(int m,int n),计算nm的值。

相关主题