C程序设计上机指导答案_第1页
C程序设计上机指导答案_第2页
C程序设计上机指导答案_第3页
C程序设计上机指导答案_第4页
C程序设计上机指导答案_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 C语言上机环境程序参考答案#include stdio.hmain() printf(* * * * * * * * * *n); printf(My name is TCn); printf(* * * * * * * * * *n); 第二章 数据类型、运算符和表达式程序参考答案(无)第三章 顺序结构程序设计程序参考答案1、#include stdio.hmain() float F,C; printf(Please input data:); scanf(%f,&C); F=9*(C+32)/5; printf(F=%.2fn,F);2、#include stdio.hmain(

2、) float a,b,h,area; printf(Please input a,b,h:); scanf(%f,%f,%f,&a,&b,&h); area=(a+b)*h/2; printf(area=%.2fn,area);3、#include stdio.hmain() float a,b; printf(Please input a,b:); scanf(%f,%f,&a,&b); printf(%.2f+%.2f=%.2fn,a,b,a+b); printf(%.2f*%.2f=%.2fn,a,b,a*b); printf(%.2f-%.2f=%.2fn,a,b,a-b); pri

3、ntf(%.2f/%.2f=%.2fn,a,b,a/b);4、#include stdio.hmain() float r1,r2,chuan,bing; printf(Please input r1,r2:); scanf(%f,%f,&r1,&r2); chuan=r1+r2; bing=(r1+r2)/(r1*r2); printf(chuan=%.2fn,chuan); printf(bing=%.2fn,bing);第四章 选择结构程序设计程序参考答案1、分析下面的程序片段,写出程序的输出结果。(1)x=4(2)a=3,b=6(3)42、编写程序(1)#include stdio.h

4、main() int y; printf(Please input year:); scanf(%d,&y); if(y%4=0&y%100!=0|y%400=0) printf(%d is a leap year!n,y); else printf(%d is not a leap year!n,y);(2)#include stdio.hmain() int a,b,c,d,t; printf(Please input a,b,c,d:); 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(

5、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(%d %d %d %dn,a,b,c,d);(3)#include stdio.hmain() float a,b,c; printf(Please input a,b,c:); scanf(%f,%f,%f,&a,&b,&c); if(a0&b0&c0&a+bc&a+cb&b+ca) if(a=b&a=c) printf(DENGBIANn); else if(a=b|a=c|b=c) printf(DENGYAOn); el

6、se if(a*a+b*b=c*c|a*a+c*c=b*b|c*c+b*b=a*a) printf(ZHIJIAOn); else printf(YIBANn); else printf(Input Error!n);(4)#include stdio.h#include math.hmain() float x,y; printf(Please input x:); scanf(%f,&x); if(x=0) if(x=10) y=exp(x);/*数学函数*/ else y=sin(x)+cos(x); else y=x; printf(x=%.2f,y=%.2fn,x,y);第五章 循环

7、结构程序设计程序参考答案1、#include stdio.hmain() int a=1,sum=0; while(a=99) sum+=a; a+=2; printf(sum=%dn,sum);或:#include stdio.hmain() int a=1,sum=0;do sum+=a; a+=2; while(a=99); printf(sum=%dn,sum);或:#include stdio.hmain() int a=1,sum=0; for(;a=99;a+=2) sum+=a; printf(sum=%dn,sum);2、#include stdio.hmain() int

8、a,b,c,m,count=0; for(m=100;m1000;m+) a=m/100; b=m/10%10; c=m%10; if(a*a*a+b*b*b+c*c*c=m) count+; printf(count=%dn,count);3、#include stdio.hmain() int i; float a=2,b=1,sum=0,t; for(i=0;i20;i+) sum+=a/b; t=a; a+=b; b=t; printf(sum=%.2fn,sum);4、#include stdio.hmain() int m,sum,a; for(m=2;m1000;m+) sum=

9、0; for(a=1;am;a+) if(m%a=0) sum+=a; if(m=sum) printf(%dn,m); 5、#include stdio.hmain() int a,b,c; for(a=1;a=9;a+) for(b=1;b=9-a;b+) printf( ); for(c=1;c0;c-) printf(%d,c); printf(n); 6、#include stdio.hmain() int m,n,a,b; printf(Please input m,n:); scanf(%d,%d,&m,&n); if(m0&n0) for(a=mn?m:n;a0;a-) if(

10、m%a=0&n%a=0) break; for(b=1;b0) if(a%2=0) count_ou+; sum_ou+=a; else count_ji+; sum_ji+=a; scanf(%d,&a); printf(avg_ji=%.2fn,sum_ji/count_ji); printf(avg_ou=%.2fn,sum_ou/count_ou);8、#include stdio.hmain() int da,zhong,xiao; for(da=0;da=33;da+)/*大马取值范围*/ for(zhong=0;zhong=50;zhong+)/*中马取值范围*/ xiao=10

11、0-da-zhong; /*小马取值范围*/ if(da*6+zhong*4+xiao*1=200)/*货物满足100则输出*/ printf(%d %d %dn,da,zhong,xiao); 9、#include stdio.hmain() int a,b; for(a=1;a=9;a+) for(b=1;b=a;b+) printf(%d*%d=%-3d,b,a,a*b); printf(n); 第六章 数组程序参考答案1、#include stdio.hmain() int i; float a10,max,min; printf(Please input 10 datas:); fo

12、r(i=0;i10;i+) scanf(%f,&ai); max=min=a0; for(i=0;i10;i+) if(maxai) min=ai; printf(max=%.2f,min=%.2fn,max,min);2、#include stdio.hmain() int a10,t,i,j; printf(Please input 10 datas:); for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+1=t; for(i=0;i0):); scanf(%d,&m); if(m

13、0) while(m) ai+=m%2;/*余数存入数组*/ m=m/2; /*每次除以二*/ n+; /*计数,这样的操作次数*/ for(i=n-1;i=0;i-) printf(%d ,ai); printf(n); else printf(Input Error!n); 4、#include stdio.hmain() int m,a10,n=0,i=0,flag=0; printf(Please input m:); scanf(%d,&m); if(m0) while(m) ai+=m%10; m=m/10; n+; for(i=0;in/2;i+) if(ai=an-1-i) f

14、lag=1; else flag=0; break; if(flag) printf(yes!n); else printf(no!n); else printf(Input error!n);5、#include stdio.hmain() int i,j,max,row,col,a34; printf(Please input datas:); for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,&aij); /*下面语句完成矩阵形式输出*/ for(i=0;i3;i+) for(j=0;j4;j+) printf(%d ,aij); printf(n); /*下

15、面语句完成求最大值及最大值位置*/ max=a00; row=col=0; for(i=0;i3;i+) for(j=0;j4;j+) if(maxai) max=aij; row=i; col=j; printf(max=%d,row=%d,col=%dn,max,row,col);6、 #include stdio.h main() char a3120,b; int i,j,up=0,low=0,dig=0,oth=0; for(i=0;i3;i+) printf(Please input %d string:,i);/*输入每行字符*/ gets(ai); for(j=0;(b=aij

16、)!=0&j=A&b=a&b=0&b=9) dig+;/*统计数字*/ else oth+;/*统计其它*/ printf(%d,%d,%d,%dn,up,low,dig,oth);/*结果输出*/ 7、 #include stdio.h#define n 10main() int ann,i,j; for(i=0;in;i+) aii=1; ai0=1; for(i=2;in;i+) for(j=1;ji;j+) aij=ai-1j+ai-1j-1; for(i=0;in;i+) for(j=0;jb?a:b; if(tc) t=c; return t;main() float a,b,c;

17、 printf(Please input a,b,c:); scanf(%f,%f,%f,&a,&b,&c); printf(max=%.2fn,max(a,b,c);2、#include stdio.hvoid inttostr(int n) char a10; int i=0; ai+=0+n%10;/*余数作为字符保存数组*/ n=n/10; /*商*/ if(n) inttostr(n);/*递归调用*/ ai=0; /*最后加结束标志*/ printf(%s,a); /*输出字符串*/main() int n; printf(Please input n:); scanf(%d,&n

18、); printf(The new string is:); inttostr(n);/*调用自定义函数*/ printf(n);3、#include stdio.hfloat fab(float n) if(n=1|n=2) return 1.0; else return fab(n-1)+fab(n-2);main() int n; printf(Please input n:); scanf(%d,&n); printf(%.0fn,fab(n);4、#include stdio.hfloat sum(float n)/*定义自定义函数*/ float s=0,sum=0;/*求和累加变

19、量*/ int i,j; for(i=1;i=n;i+)/*求前n项*/ s=0; /*每一项都从零求和*/ for(j=1;jn?m:n;i0;i-) if(m%i=0&n%i=0) break; return i;int gbsh(int m,int n) /*最小公倍数*/ int i; for(i=1;i=m*n;i+) if(i%m=0&i%n=0) break; return i;main() int m,n; printf(Please input m&n:); scanf(%d%d,&m,&n); printf(gysh=%dn,gysh(m,n);/*调用求公约数*/ pri

20、ntf(gbsh=%dn,gbsh(m,n);/*调用求公倍数*/6、#include stdio.hint sum(int m) int s=0; while(m) s+=m%10; m=m/10; return s;main() int m; printf(Please input m:); scanf(%d,&m); printf(sum=%dn,sum(m);7、#include stdio.hfloat fac(float n) if(n=0|n=1) return 1; else return n*fac(n-1);main() float m; printf(Please inp

21、ut m:); scanf(%f,&m); printf(%.0f!=%.0fn,m,fac(m);第八章 编译预处理程序参考答案1、答案略。2、#include stdio.h#define sum(n) (1+n)*(n)/2.0main() int n; printf(Please input n:); scanf(%d,&n); printf(sum=%.0fn,sum(n);第九章 指针程序参考答案1、 #include stdio.h int length(char *p) int n=0; while(*p+) n+; return n; main() char a80; pri

22、ntf(Please input a string:); gets(a); printf(length=%dn,length(a); 2、 #include stdio.h#include string.hmain() char str120,*p1,*p2; int a,b,flag=0; printf(please input string:); gets(str); a=strlen(str);/*计算输入字符串的长度*/ p1=str;/*指针p1指在字符串的首位置*/ p2=str+a-1;/*指针p2指在字符串的末位置*/ while(p1n) printf(Position er

23、ror!n); else scopy(sn,sm,m); /*调用函数,进行复制*/ printf(nThe new string is %s n,sm);/*结果输出*/ 4、#include stdio.hvoid delchar(char *str) while(*str) if(*str=a&*str=A&*str=A&*p=a&*p=z) letter+; p+; printf(letter=%dn,letter);6、#include stdio.hint char_count(char *str,char letter) int count=0; while(*str) if(*

24、str=letter) count+; str+; return count;main() char a120,letter; printf(Please input a string:); gets(a); printf(Please input a letter:); letter=getchar(); printf(count=%dn,char_count(a,letter); 第十章 结构体和共用体程序参考答案1、 #define N 2 #define M 3 #include stdio.h struct student char Sno10;/*学号*/ char Sname8;

25、/*姓名*/ int ScoreM;/*课程成绩*/ stuN;/*构造数据类型,是结构体数组*/ void input()/*输入数据*/ int i,j; for(i=0;iN;i+) scanf(%s%s,stui.Sno,stui.Sname);/*输入学号和姓名*/ for(j=0;jM;j+) scanf(%d,&stui.Scorej);/*输入每个学生的成绩*/ void output()/*输出数据*/ float sum=0; int i,j; for(i=0;iN;i+) sum=0;/*每次求和中间变量都为零*/ printf(%12s%10s,stui.Sno,stu

26、i.Sname);/*输出学号和姓名*/ for(j=0;jM;j+) sum=sum+stui.Scorej;/*求总分*/ printf(%6.2fn,sum/3);/*输出平均成绩*/ main() printf(Please input datas:); input();/*调用输入数据*/ printf(The result is:n); printf( Sno Sname avgn); output();/*调用输出数据*/ 2、#include stdio.hmain( ) union data int a10; int b25;/*第一空*/ ; union data ab;

27、int i,j; for(i=0;i10;i+) scanf(%d,&ab.ai); /*第二空*/ for(i=0;i2;i+) for(j=0;j6|week%sn, week,weeknameweek); /* 第三空 */ 4、#define maxlen 100typedef struct int datamaxlen; int length;seqlist;void init_list(seqlist *L) L-length=0;void insert_list(seqlist *L,int x) int i,k; for(i=L-length-1;L-dataix&i=0;i-

28、)/*查找位置*/ L-datai+1=L-datai; L-datai+1=x;/*插入元素*/ L-length+;/*表的长度加一*/main() seqlist *L; int n,i,x; init_list(L);/*初始化线性表*/ printf(nPlease input n:);/*输入n*/ scanf(%d,&n); if(n=maxlen) printf(overflow!n); else printf(nPlease input %d datas:,n); for(i=0;idatai); L-length+; printf(nPlease input x:); scanf(%d,&x); insert_list(L,x);/*函数调用*/ printf(nThe new list is:); for(i=0;ilength;i+) printf(%d ,L-datai); 第十一章 文件程序参考答案1、#include stdio.hmain() FILE *fp; char a120,*p,str; if(fp=fopen(file1.txt,w)=NULL) printf(Cant open thi

温馨提示

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

评论

0/150

提交评论