《C语言上机实验 答案》由会员分享,可在线阅读,更多相关《C语言上机实验 答案(31页珍藏版)》请在装配图网上搜索。
1、实验一 上机操作初步(2学时)一、实验方式:一人一机二、实验目的:1、熟悉VC+语言的上机环境及上机操作过程。2、了解如何编辑、编译、连接和运行一个C程序。3、初步了解C程序的特点。三、实验内容:说明:前三题为必做题目,后两题为选做题目。1、输出入下信息:(实验指导书P79)*Very Good*2、计算两个整数的和与积。(实验指导书P81)3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书P3)4、在屏幕上显示一个文字菜单模样的图案:=1 输入数据 2 修改数据3 查询数据 4 打印数据=5、从键盘上输入两个整数,交换这两个整数。四、实验步骤与过程:五、实验调试。
2、记录:六、参考答案:1、#include void main( ) printf(“*n”);printf(“ Very Goodn”);printf(“*n”);2、#include void main( ) int a,b,c,d;printf(“Please enter a,b:”);scanf(“%d,%d”,&a,&b);c=a+b; d=a*b;printf(“%d+%d=%dn”,a,b,c);printf(“%d*%d=%dn”,a,b,d);3、#include #include void main( ) double x,s;printf(“Please input val。
3、ue of x:”);scanf(“%lf”,&x);s=cos(x);printf(“cos(%lf)=%lfn”,x,s);4、#include void main( ) printf(“=n”);printf(“ 1 输入数据 2 修改数据n”);printf(“ 3 查询数据 4 打印数据n”);printf(“=n”);5、#include void main( ) int x,y,t;printf(“Please enter x and y:”);scanf(“%d%d”,&x,&y);t=x; x=y; y=t;printf(“After swap:x=%d,y=%dn”,x,y。
4、);实验二 简单的C程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌握C语言的数据类型。2、学会使用C语言的运算符及表达式。3、掌握不同数据类型的输入输出方法。三、实验内容:说明:前四题为必做题目,后两题为选做题目。1、输入r1、r2,求出圆形垫片面积。(实验指导书P84)2、输入华氏温度h,输出摄氏温度c。(实验指导书P85)3、从键盘输入一个3位整数,将输出该数的逆序数。(实验指导书P89)4、输入并运行以下程序,分析运行结果。#include void main( ) int i,j;i=8; j=10;printf(“%d,%dn”,+i,+j);i=8; j=10;pri。
5、ntf(“%d,%dn”,i+,j+);i=8; j=10;printf(“%d,%dn”,+i,i);i=8; j=10;printf(“%d,%dn”,i+,i);5、输入三角形三条边的边长,求三角形的面积。(书P55)6、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。(书P55)四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include #define PI 3.14void main( ) float r1,r2;double s1,s2,s;printf(“Please enter r1,r2:n”);scanf(“%f%f”,&r1,&r2);s2。
6、=r2*r2*PI; s1=r1*r1*PI; s=s2-s1;printf(“s=%lfn”,s);2、#include void main( ) float h,c;printf(“请输入华氏温度:”);scanf(“%f”,&h);c=5.0/9*(h-32);printf(“n摄氏温度:%fn”,c);3、#include void main( ) int a,b,c,x,y;printf(“请输入一个3位的正整数:n”);scanf(“%d”,&x);a=x/100; /*求x的百位数*/b=(x-a*100)/10; /*求x的十位数*/c=x-a*100-b*10; /*求x的个。
7、位数*/y=c*100+b*10+a;printf(“%d:%dn”,x,y);4、运行结果:9,118,109,88,85、#include #include void main( ) int a,b,c;double area,s;printf(“Please enter a,b,c:”);scanf(“%d,%d,%d”,&a,&b,&c);s=(double)(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“area=%.2lfn”,area);6、#include void main( ) char a,b,c;float x;print。
8、f(“Please enter:n”);a=getchar(); b=getchar(); c=getchar();x=(a+b+c)/3.0;printf(“(a+b+c)/3=%.2fn”,x);实验三 选择结构程序设计(2学时)一、实验方式:一人一机二、实验目的:1、熟练掌握if语句和switch语句。2、练习并掌握多分支选择结构的编程方法。3、学习调试和修改程序的步骤。三、实验内容:说明:前三题为必做题目,后两题为选做题目。1、读入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是立方体还是长方体。(实验指导书P104)2、输入某一年月,输出该月的天数。(实验指导书P105)3、有。
9、一函数: x (xvoid main( ) int l,w,h;printf(“请输入箱子的长、宽、高:n”);scanf(“%d%d%d”,&l,&w,&h);if(l=w&w=h) /*如果长、宽、高相等,则为立方体*/printf(“该箱子是立方体。”);elseprintf(“该箱子是长方体。”);2、#include void main( ) int year,month,days;printf(“Please enter year and month:n”);switch(month) case 2: if(year%4=0&year%100!=0|year%400=0)days=。
10、29;elsedays=28;break;case 1:case 3:case 5:case 7:case 8:case 10:case 12: days=31; break;case 4: case 6: case 9: case 11: days=30;printf(“%d年%d月有%d天n”,year,month,days);3、#include void main( ) float x,y;printf(“Please input x:n”);scanf(“%f”,&x);if(xvoid main( ) char x;printf(“Enter a char:n”);x=getcha。
11、r();if(x=a&x=A&xvoid main( ) int a,b,c,d,t;printf(“请输入4个整数:”);scanf(“%d%d%d%d”,&a,&b,&c,&d);if(ab) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; if(ad) t=a; a=d; d=t; if(bc) t=b; b=c; c=t; if(bd) t=b; b=d; d=t; if(cd) t=c; c=d; d=t; printf(“排序结果如下:n”);printf(“%d,%d,%d,%dn”,a,b,c,d);实验四 循环结构程序设计(4学时)一、实验方式:一人。
12、一机二、实验目的:1、熟练掌握while语句、do-while语句和for语句。2、练习并掌握循环结构的嵌套形式。3、掌握循环结构的程序设计方法。三、实验内容:说明:前四题为必做题目,后两题为选做题目。1、从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。(实验指导书P117)2、求所有的水仙花数。水仙花数是一个3位数的自然数,该数各位数的立方和等于该数本身。(实验指导书P118)3、判断输入的某个数是否为素数。若是,输出YES,否则输出NO。(书P123)4、计算的近似值。公式如下:/4=1-1/3+1/5-1/7+,直到最后一项的绝对值小于10-6为止。(书。
13、P123)5、计算 s=1!+2!+20! 的值并输出。6、输入10个整数,统计并输出其中正数、负数和零的个数。四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include void main( ) float x,max,min;printf(“Please input scores:”);scanf(“%f”,&x);max=min=x;while(x=0) if(xmax) max=x;if(xvoid main( ) int x,y,z;int k=100;while(k#include void main( ) int i,x,yes,a;printf(“Enter in。
14、teger number:”);scanf(“%d”,&x);yes=1; i=2;a=(int)sqrt(double)x);while(yes&i#include void main( ) float pi,t,n;int sign=1;pi=0; n=1; t=1;while(fabs(t)=1e-6) t=sign/n;pi+=t;n+=2;sign=-sign;pi=pi*4;printf(“pi=%fn”,pi);5、#include void main( ) float s=0,t=1;int n;for(n=1;nvoid main( ) int x,i,a1=0,b1=0,c。
15、1=0;for(i=1;i0) a1+;else if(xvoid main( ) int score,temp,logic;char grade;logic=1;while(logic) printf(“Input score:”);scanf(“%d”,&score);if(score100|scorevoid main( ) int m,n,k;int sum=0;printf(“各种驮法如下:n”);for(m=1;mvoid main( ) char c;int letter=0,space=0,digit=0,other=0;printf(“请输入一行字符:n”);while(c=。
16、getchar( )!=n) if(c=a&c=A&c=0&cvoid main( ) int i,j,k;for(i=0;iint a=5;int b=7;void main( ) int a=4,b=5,c;c=plus(a,b);printf(“a+b=%dn”,c);plus(int x,int y) int z;z=x+y;return (z);4、求500以内的所有亲密数对。若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数对。(实验指导书P136)5、输入并运行以下程序,分析运行结果。#include int d=1;fun(in。
17、t p) static int d=5;d+=p;printf(“%d ”,d);return (d);void main( ) int a=3;printf(“%d ”,fun(a+fun(d);6、设计一个函数,输出整数n的所有素数因子。(书P157)四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include #include float area(float a,float b,float c) float s,p,area;s=(a+b+c)/2;p=s*(s-a)*(s-b)*(s-c);area=sqrt(p);return (area);void main( ) f。
18、loat x,y,z,ts;scanf(“%f%f%f”,&x,&y,&z);if(x0&y0&z0&x+yz&y+zx&x+zy) ts=area(x,y,z);printf(“area=%fn”,ts);elseprintf(“data error!n”);2、#include void trangle(int n) int i,j;for(i=0;iint facsum(int m) int sum=1,f=2;while(fint prime(int n) int i,flag=1;for(i=2;ivoid main( ) int i,n,a10,avg;for(i=0;ivoid 。
19、main( ) int i,n=10,a10;float avg=0;for(i=0;ivoid sort1(int s ,int n) int i,j;int t;for(i=0;i=i+1;j-)if(sj#include #define N 40void main( ) char strN,ch=Y;int i;int len;printf(“Input a string:n”);scanf(“%s”,str);len=strlen(str);for(i=0;ivoid main( ) int a33,sum;int i,j;sum=0;for(i=0;iint day_tab213=0。
20、,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31;int day_year(int year,int month,int day) int i,j,s=0;if(year%4=0&year%100!=0|year%400=0) i=1; else i=0;for(j=1;j#define N 10void main( ) int aN;int num,i;char ch=n;printf(“请输入一个数组:n”);for(i=0;i函数库内的计算字符串长度的函数strlen( )。四、实验步骤与。
21、过程:五、实验调试记录:六、参考答案:1、#include #include #define N 5void main( ) int *p,*q,aN;int i,tmp;p=a;q=(int *)malloc(N*sizeof(int);printf(“Please input the first group:”);for(i=0;i*(q+i) tmp=*(p+i); *(p+i)=*(q+i); *(q+i)=tmp; 交换printf(“Result:n”);for(i=0;ivoid swap(int *p1,int *p2) int p;p=*p1; *p1=*p2; *p2=p;。
22、void main( ) int n1,n2,n3;int *p1,*p2,*p3;printf(“Please input three integer datas:”);scanf(“%d%d%d”,&n1,&n2,&n3);p1=&n1; p2=&n2; p3=&n3;if(n1void swap1(int x,int y);void swap2(int *x,int *y);void main( ) int a,b;printf(“Please input a=:”);scanf(“%d”,&a);printf(“Please input b=:”);scanf(“%d”,&b);swa。
23、p1(a,b);printf(“nAfter call swap1:a=%d b=%dn”,a,b);swap2(&a,&b);printf(“nAfter call swap2:a=%d b=%dn”,a,b);void swap1(int x,int y) int temp;temp=x; x=y; y=temp;void swap2(int *x,int *y) int temp;temp=*x; *x=*y; *y=temp;4、#include int strlength(char *s);void main( ) int n1,n2;char *list1=“See no evil。
24、,hear no evil.”;char *list2=“blind and deaf?”;n1=strlength(list1);n2=strlength(list2);puts(list1);printf(“The length of list1=%dn”,n1);puts(list2);printf(“The length of list2=%dn”,n2);int strlength(char *s) int n=0;while(*s!=0) n+;s+;return n;实验九 综合实验2:函数、数组、指针的综合应用(2学时)一、实验方式:一人一机二、实验目的:1、进一步掌握通过指针。
25、引用数组元素的方法。2、综合运用函数、数组、指针的知识,实现复杂程序的编程。3、掌握调试复杂程序的技巧。三、实验内容:说明:前两题为必做题目,后两题为选做题目。要求用指针方法实现。1、数组元素奇偶排列。实验要求:1)定义一个整型一维数组,任意输入数组的元素,其中包含奇数和偶数。2)定义一个函数,实现将数组元素奇数排列在左,偶数排列在右的排列。3)在上述定义的函数中,不允许再增加新的数组。4)从主函数中分别调用上述函数,打印输出结果。(实验指导书P172)2、编写函数lower( )模拟标准函数strlwr( ),调用形式为lower(char *st),其作用是将字符串st中的大写字母转换成小写。(书P192)3、编写函数,比较两个字符串是否相等。(书P234)4、编写函数reverse( )模拟标准函数strrev( ),调用形式为reverse(char *st),其作用是颠倒字符。