C语言试验报告答案_第1页
C语言试验报告答案_第2页
C语言试验报告答案_第3页
C语言试验报告答案_第4页
C语言试验报告答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一、编程题 (参考答案 ) 1、#include “ stdio.h ”void main() int Math=82,eng=78,comp=91,average; average=(Math+eng+comp)/3;printf( “ Math=%d,eng=%d,comp=%d,average=%dn”,Math,eng,comp,average);2、#include “ stdio.h ”void main() int n=152,d1,d2,d3; d1=n%10; d2=(n/10)%10; d3=n/100;printf( "整数d的个位数字是 %d,十位数字是%

2、d,百位数字是 dn” ,n,d1,d2,d3);3、#include “ stdio.h ”void main() int n1,n2;printf(“Enter n1,n2 :” );scanf( “%d,%d” ,&n1,&n2);printf(“%d+%d=%d”n ,n1,n2,n1+n2);printf(“%d/%d=%dn” ,n1,n2,n1/n2);printf(“%d%d=%d”n,n1,n2,n1%n2);三、改错题 原错误行(共三行) :/* found *#include “ stdoi,h ”printf(“ %d=%d*%dn”,x);/*foun

3、d */* found *printf(“ %d*%d=%dn” ,y);改正后:#include “ stdio.h ” printf(“ %d=%d*%dn” ,y,x,x);printf(“ %d*%d=%dn” ,x,x,y);实验二一、改错题1、原错误行(共三行) :/* found */ #include “ stdoi,h ”/* found */ scanf( “ %lf ” ,x);/* found */ y=1/x改正后:#include “ stdio.h scanf( “ %lf ” ,&x); y=1/x;2、原错误行(共两行)* found * int i,

4、sum;* found *for(i=1,i<=100,i+)改正后: int i,sum=0;for(i=1;i<=100;i+)二、编程题 (本标题报告上漏印了)2、 (因为报告上小题号就是从 2开始的,没有第 1 题) #include “ stdio.h ” #include “ math.h ” void main() int a,b,c;float s,area,perimeter;printf( “请输入三角形的三边:” ); scanf( “ %d,%d,%d” ,&a,&b,&c);if(a+b>c&&a+c>b

5、&&b+c>a) perimeter=a+b+c; s=perimeter/2; area=sqrt(s*(s-a)*(s-b)*(s-c);printf( “ area =%.2f,perimeter=%.2fn” ,area,perimeter); elseprintf( “不构成三角形” );3、#include “ stdio.h ” void main() int i,m,n;float sum=0;printf( “ Enter m :” ); scanf( “%d” ,&m);printf( “ Enter n :” ); scanf( “%d” ,

6、&n);for(i=m;i<=n;i+) sum=sum+1.0/i;printf( “ sum=%.3fn ” ,sum);4、#include “ stdio.h ” void main() int i,n;float sum=0;printf( “ Enter n :” ); scanf( “%d” ,&n);for(i=1;i<=n;i+) sum=sum+1.0/(2*i-1);printf( “ sum=%.2fn ” ,sum);5、#include “ stdio.h ” void main() int i,m,n;long a=1,b=1;prin

7、tf( “ Enter m :” ); scanf( “%d” ,&m);printf( “ Enter n :” ); scanf( “%d” ,&n);for(i=1;i<=m;i+) a=a*i;for(i=1;i<=n;i+) b=b*i;printf( “ %d!+%d!=%ldn ” ,m,n,a+b);实验三、改错题原错误行(共三行)* found *double sum;* found *for(i=1;i<10;i+)sum=sum+fact(i);printf( “1!+2!+ +10!=%fn ” ,sum);* found *doubl

8、e fact(int n); 改正后: double sum=0; for(i=1;i<=10;i+) double fact(int n) 二、编程题1、int even(int n) if(n%2=0) return 1;else return 0;2、int prime(int x) int n; for(n=2;n<x;n+) if(x%n=0) return 0; if(x>=2) return 1;elsereturn 0;3、#include “ stdio.h ”int fun1(int n) if(n%2=0)return 1;elsereturn 0;in

9、t fun2(int x) int n;for(n=2;n<x;n+) if(x%n=0) return 0;if(x>=2)return 1; elsereturn 0;void main() int i,m,n,a,b;printf( “ Enter m :” );scanf( “ %d”,&m);printf( “ Enter n :” );scanf( “ %d”,&n);a=fun1(m);b=fun2(n);if(a=1) printf("%d是偶数 n ” ,m);else printf(%d是奇数n,m);if(b=1) printf(&q

10、uot;%d是素数 n ” ,n);else printf(“4不是素数n ” ,n);实验四一、改错题1、 原错误行(共两行) :/* found */ int i,s;/* found */if(stri<=0'|stri>='9' )'0' &&stri<= 共三行) :9')改正后: int i,s=0; if(stri>= 2、原错误行found/*/ int i,j,n,x,an;/*found*/ai =ai+1;/*found*/ai=x;改正后:/* 插入 int i,j,n,x,a10;

11、 ai+1 =ai; aj=x;3、原错误行(共三行)found/*/max=str;/*found*/if(max<str)/*found*/max=str;改正后:strcpy(max,str);if(strcmp(max,str)<0)strcpy(max,str);4、 原错误行(共两行) : /*found*/* 该函数求出 a 数组中 n 个元素奇数的个数 */void fun(int a,int n)/*found */if(ai%2=0) m+;改正后:int fun(int a,int n) if(ai%2!=0) m+; 二、编程题#include “ stdi

12、o.h ” void main() int i,n,min,max,s1,s2,t,a10;printf( “请输入数据个数 n 值:” ); scanf( “%d” ,&n);printf("请输入这 d(数:”,n);for(i=0;i<n;i+)scanf(“ %d” ,&ai);min=a0; s1=0; max=an-1; s2=n-1;for(i=0;i<n;i+) if(ai<min) min=ai; s1=i; if(ai>max) max=ai; s2=i; if(s1!=0) t=a0;a0=as1;as1=t; if(s2

13、!=n-1) t=an-1;an-1=as2;as2=t; for(i=0;i<n;i+)printf( “ %d ” ,ai);2、int sum(int a,int n) int i,sum=0;for(i=0;i<n;i+)sum+=ai;return sum;实验五一、改错题1、原错误行(共两行) :/* found */ scanf( “ %d”,& p+);/* found */x0=xk;改正后:scanf( “ %d”,p+);x0=k;二、编程题1、int search(int *a,int n,int x) int i; for(i=0;i<n;i

14、+) if(ai=x) return i; return -1;2、int fun(char *s) int i,j,n ; n=strlen(s); for(i=0,j=n-1;i<n/2;i+,j-) if(si!=sj) return 0; return 1;3、 此题为选作题 #include “ stdio.h ”void sort(int *a,int n) int i,j,k,t;for(i=0;i<n-1;i+) k=i;for(j=i+1;j<n;j+) if(aj<ak) k=j;if(k!=i) t=ai;ai=ak;ak=t; main() in

15、t a10,i,n;printf( “请输入 n 值:” );scanf( “%d” ,&n);,n);printf("请输入这d个元素值:”for(i=0;i<n;i+)scanf( “ %d” ,&ai);sort(a,n);for(i=0;i<n;i+)printf("%d ",ai);printf("n");实验六、改错题(原错误行共两行)* found * scanf( %d",&scorej);* found *printf(” 总分最高的学生是:s,%dn", name, s

16、um);改正后: scanf( %d”,&ai.scorej);printf("总分最高的学生是:%s,%dn", , ak.sum);二、编程题1、#i nclude "stdio.h"typedef struct student/* 定义结构体类型 */ long num;char n ame9;int score3;float aver;STU;void mai n() STU a10;int i,j,n ,s=0;printf("输入 n:");scan f("%d",&n);

17、for(i=0;i< n;i+)",i+1); printf(" 输入第d个学生的学号、姓名和3门课成绩:scan f("%ld",&ai. nu m);scan f("%s",ai. name);s=0;for(j=0;j<3;j+)scanf("%d",&ai.scorej); s+=ai.scorej;ai.aver=s/3.0;for(i=0;i< n;i+)prin tf("%s,%.2f分n",ai. name,ai.aver);三、填空题p->

18、;n ext=headhead= pp=head、改错题(原错误行共两行)实验七* found *FILE fp;* found *if(fp=fopen( “a.txt”,“w ”)!=NULL) 改正后:FILE *fp;if(fp=fopen( “a.txt ”,“w”)=NULL) 二、编程题1、#include "stdio.h"#include "string.h" void main() FILE *fp;char a10;if(fp=fopen("test.txt","w")=NULL) print

19、f("error"); exit(0); scanf("%s",a); strupr(a); fputs(a,fp); fclose(fp);2、 #include "stdio.h"#include "string.h" void main() FILE *fp;char a; if(fp=fopen("test.txt","r")=NULL) printf("error");exit(0); while(!feof(fp) a=fgetc(fp); p

20、rintf("%c",a); fclose(fp);3、#include "stdio.h"#include "stdlib.h"typedef struct student long num;char name9;int score3;float aver;STU;void main() FILE *fp;int i,j,n,s;STU a;scanf("%d",&n);if (fp=fopen("stud.dat","wb")=NULL) printf("File connot be opened

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论