




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三、编程题1 编写程序,输入一个非负数,输出以此数为半径的圆周长以及面积。#include stdio.h #define PI 3.1415void main()float r,area,circumference;scanf(%f,&r);area=PI*r*r;circumference=2*r*PI;printf(area=%6.2fncircumference=%6.2fn,area,circumference);2 编写程序,输出下面结果,注意,双引号也要输出:“Im a student!”#include void main()printf(Im a student!n);3 编写程序,输入一个小写字母,将其转换为大写字母输出。例如输入b,则输出B。提示:小写字母和对应的大写字母的ASCII码值相差32。void main()char ch;ch=getchar();ch-=32;putchar(ch);/printf(%c,ch);4 编写程序,输入一个华氏温度f,输出其相应的摄氏温度c。华氏温度和摄氏温度的转换公式为: #include void main() float f,c; scanf(“%f”,&f); c=5.0*(f-32)/9; printf(“华氏温度%5.2f转换为摄氏温度为:%5.2fn”,f,c);第四章三、编程题1 输入一个整数,判断这个整数是奇数还是偶数(提示:整数的奇偶性可以利用取余运算符%判定)。#include void main()int a;scanf(%d,&a);if(a%2)printf(奇数n);elseprintf(偶数n);2 编写程序,输入一个24小时制的时间,转换为12小时制时间后进行输出。以13点15分为例,输入:13:15,则输出:下午1:15。#include void main()int hour,minute;scanf(%d:%d,&hour,&minute);if (hour12) hour=hour-12;printf(%d:%dn,hour,minute);3 输入年号,判断它是否是闰年(如果年号能被400整除,或能被4整除,而不能被100整除,则是闰年,否则不是)。void main()int year;scanf(%d,&year);if (year%400=0|(year%4=0&year%100=0)printf(%d是闰年n,year);elseprintf(%d不是闰年n,year);4 输入一个字符,如果是大写字母则输出对应的小写字母,如果是小写字母则输出相应的大写字母,如果都不是则原样输出。#include void main()char ch;scanf(%c,&ch);if(ch=a&ch=A&ch=Z)ch+=32;printf(n%cn,ch);5 设计一个简单的计算器程序,能输入整型运算数和基本运算符(+,-,*,/),输出计算结果。例如:输入2+6,输出2+6=8。#includemain()float a,b,result;char op;scanf(%f%c%f,&a,&op,&b);switch(op)case+: result=a+b; printf(=%f,result); break;case-: result=a-b; printf(=%f,result); break;case*: result=a*b; printf(%f,result); break;case/: if(b=0.0) printf(error!n); result=a/b; printf(=%f,result); default: printf(error due to the illegal input!n);第五章三、编程题1 编写程序,显示100200之间能被7除余2的所有整数。#include stdio.hmain() int i; for(i=100;i=200;i+) if(i%7=2)printf(t%dt,i); 2 输入n个整数,求这n个整数中的最大数、最小数和偶数平均数,并输出。#include void main() int i,n,data,max=0,min=0,even=0,evennumber=0;printf(Please input the number of data:);scanf(%d,&n);printf(Please input the data:n);scanf(%d,&data);max=data;min=data;if (data%2=0) even=even+data;evennumber+;for(i=1;imax)max=data;elseif (datamin)min=data;if (data%2=0)even=even+data;evennumber+;printf(The max is %dnThe min is %dn The average of even is %5.2fn,max,min,(float)(even)/evennumber);3 输入一串字符,以回车作为结束标志。统计并输出这串字符中大写字母、小写字母和数字字符的个数。#include void main() int upper=0,lower=0,number=0;char letter;while(letter=getchar()!=n)if (letter=a&letter=A&letter=0&letter=9) number+;printf(the number of uppercase is:%dn,upper);printf(the number of lowercase is:%dn,lower);printf(the number of number is:%dn,number);4 输出九九乘法表。#include void main() int i,j; for(i=1;i=9;i+) for(j=1;j=3)(即从第三个数起,每个数等于前2个数之和)。方法1:#include stdio.h void main() int f0,f1,f2,n;f0=1;f1=1;printf(Fibonacci数列的前40个数是:%dt%dt,f0,f1);for(n=2;n40;n+) f2=f0+f1; printf(%dt,f2);f0=f1;f1=f2;方法2:#include stdio.h void main() int f40,n; f0=1;f1=1;printf(Fibonacci数列的前40个数是:%dt%dt,f0,f1);for(n=2;n40;n+) fn=fn-1+fn-2; printf(%dt,fn); 8 一个穷人找到一个百万富翁,给他商讨一个换钱计划如下:我每天给你十万元,而你第一天只需给我一元钱,第二天给我二元钱,第三天给我四元钱,即我每天都给你十万元,你每天给我的钱都是前一天的两倍,直到满一个月(30天)。百万富翁很高兴地接受了这个换钱计划。请编写程序计算满一个月时,穷人给了富翁多少钱,而富翁又给了穷人多少钱。#include void main() long poor=100000,rich=1,i,s=0;for(i=2;i0;i-) k = (j + 1) * 2; j = k; printf(%total=%dn,k);、第六章三1. #include #define n 10void main() int an,i,count1=0,count2=0,sum=0;float ave;for (i=0;i80) count1+=1; else if(ai60) count2+=1;ave=sum/n;printf(%d个优秀, %d个不及格,平均分:%f。,count1,count2,ave);2. #include #define n 10void main() int an,i,j,k,max,min;for (i=0;in;i+)scanf(%d,&ai); if (!i) max=min=ai; j=k=i; else if (maxai) min=ai; k=i; printf(最大值%d在第%d位,最小值%d在第%d位。,max,j+1,min,k+1); 3. #include #include void main() char s20,ch;int i,n; printf(请输入字符串:); gets(s); n=strlen(s); for(i=0;in/2;i+) ch=si; si=sn-1-i; sn-1-i=ch; printf(逆序存放的字符串:); puts(s); 4. #include #define N 10void main() int i,j,n,aN+1;printf(请输入%d个由小到大排列的整数:,N);for(i=0;iN;i+)scanf(%d,&ai);printf(请输入要插入的数:);scanf(%d,&n);for(i=0;in) j=i; break; if (i=N) j=i; for(i=N-1;i=j;i-) ai+1=ai;aj=n;printf(插入后的排列:);for(i=0;i=N;i+) printf(%d ,ai);5. #include #define N 3void main() int i,j,aNN,sum=0; printf(请输入%d*%d矩阵的元素:,N,N); for(i=0;iN;i+) for(j=0;jN;j+) scanf(%d,&aij); if(i=j) sum+=aij; printf(主对角线元素之和:%d。,sum); 6. #include #includevoid main() int i,j, n,k=0, b300; for (i=1;i300;i+) n=int(sqrt(i); for(j=2;jn) bk=i; k+; for(i=0;ik;i+) printf(%5d,bi); 7. #include #define N 7void main() int i,j,k,aN,temp;printf(请输入%d个整数:,N); for(i=0;iN;i+) scanf(%d,&ai); for(i=0;iN-1;i+) k=i; temp=ai; for(j=i+1;jaj) k=j; temp=aj; if (k!=i) ak=ai; ai=temp; printf(排序后的数列:); for(i=0;iN;i+) printf(%3d,ai); 8. #include void main() int i=0,count1=0,count2=0,count3=0; char s20; printf(请输入字符串:); gets(s); while(si!=0) if(si=a&si=A&si=0&si=9) count2+; else count3+; i+; printf(字符%d个,数字%d个,其他%d个。,count1,count2,count3); 9. #include #include void main()char s20,ch;int i=0; printf(请输入字符串:); gets(s); while(si!=0) si+=3; if (siz) si-=26; i+; printf(加密后:); puts(s); 10. #include #include void main()char s120,s220;int i=0,j=0; printf(请输入字符串1:); gets(s1); printf(请输入字符串2:); gets(s2); while (s1i!=0) i+; s1i=s2j; do i+; j+; s1i=s2j; while (s2j!=0); printf(连接后:); puts(s1); 11. #include #include void main()char s120,s220,s340;int i=0,j=0,k=0; printf(请输入按字母序排列的字符串1:); gets(s1); printf(请输入按字母序排列的字符串2:); gets(s2); while(s1i!=0&s2j!=0) if (s1is2j) s3k=s1i; k+;i+; else s3k=s2j; k+;j+; while(s1i!=0) s3k=s1i; k+;i+; while(s2j!=0) s3k=s2j; k+;j+; s3k=0; printf(合并后的字符串:); puts(s3); 12. #include void main()int i,j,a55; for(i=0;i=0;j-) if(j=i) aij=1; else aij=aij+1+1; for(i=0;i5;i+) for(j=0;j5;j+) printf(%3d,aij); printf(n); 13. #include void main()int i,j,a88; for(i=0;i8;i+) for(j=0;j8;j+) if(j=i|(i+j)=7) aij=1; else aij=0; for(i=0;i8;i+) for(j=0;j8;j+) printf(%3d,aij); printf(n); 14. #include void main()int i,j,sum,a53=20,30,26,30,20,25,25,50,20,46,15,10,35,15,12; for(i=0;i5;i+) sum=0; for(j=0;j3;j+) sum+=aij; switch (i) case 0:printf(第一个);break; case 1:printf(第二个);break; case 2:printf(第三个);break; case 3:printf(第四个);break; case 4:printf(第五个);break; printf(企业的总产值是:%d万元。n,sum); for(j=0;j3;j+) sum=0; for(i=0;i5;i+) sum+=aij; switch (j) case 0:printf(A);break; case 1:printf(B);break; case 2:printf(C);break; printf(产品的总产值是:%d万元。n,sum); 15. #include #define N 5void main()int i,j,aNN,bN; printf(请输入%d个数:,N); for(i=0;iN;i+) scanf(%d,&bi); for(i=0;iN;i+) for(j=i;jN;j+) aij=bj-i; for(j=0;ji;j+) aij=aji; for(i=0;iN;i+) for(j=0;jN;j+) printf(%3d,aij); printf(n); 16. #include void main()int i=0,j=0,m,n,a20,b20;printf(请输入数组a中的数据,以0结束:); scanf(%d,&ai);while(ai!=0) i+;scanf(%d,&ai);printf(请输入数组b中的数据,以0结束:);scanf(%d,&bj);while(bj!=0)j+;scanf(%d,&bj);for(m=0;mi;m+) for(n=0;nj;n+) if(am=bn) printf(%3d在a中下标为%d,在b中下标为%d。,am,m,n); 17. #include void main()int a2020,b2020,flag12020,flag22020,i,j,s,t,k,l,m,n;printf(请输入数组a的一维长度:);scanf(%d,&k);printf(请输入数组a的二维长度:);scanf(%d,&l);printf(请输入数组a中的数据:);for(i=0;ik;i+) for(j=0;jl;j+) scanf(%d,&aij);for(i=0;ik;i+) for(j=0;jl;j+) printf(%3d,aij); flag1ij=1; printf(n);printf(请输入数组b的一维长度:);scanf(%d,&m);printf(请输入数组b的二维长度:);scanf(%d,&n);printf(请输入数组b中的数据:);for(i=0;im;i+) for(j=0;jn;j+) scanf(%d,&bij);for(i=0;im;i+) for(j=0;jn;j+) printf(%3d,bij); flag2ij=1; printf(n);for(i=0;ik;i+) for(j=0;jl;j+) for(s=0;sm;s+) for(t=0;tn;t+) if(aij=bst) flag1ij=0;flag2st=0; printf(只在一个数组中存在的有:); for(i=0;ik;i+) for(j=0;jl;j+) if(flag1ij) printf(%3d,aij);for(i=0;im;i+) for(j=0;jn;j+) if(flag2ij) printf(%3d,bij); 18. #include void main()int a101,i,j,count=0;for(i=1;i=100;i+) ai=1;for(i=2;i=100;i+) for(j=i;j=100;j+)if(j % i =0)aj*=-1;for(i=1;i=100;i+) if(ai=1) count+; printf(第%d张正面朝上。n,i);printf(共有%d张正面朝上。n,count); 19. #include void main()int n,i,j,k,top,bottom,left,right,goup,godown,goleft,goright,a2020;i=0;j=0;goright=1;goup=0;godown=0;goleft=0;printf(请输入方阵的维数:);scanf(%d,&n);top=-1;bottom=n;left=-1;right=n;for(k=1;k=n*n;k+) aij=k; if(goright) if(jright-1) j+; else goright=0; godown=1; top+; i+; continue; if(godown) if(ileft+1) j-; elsegoleft=0; goup=1; bottom-; i-; continue; if(goup) if(itop+1) i-; elsegoup=0; goright=1; left+; j+; continue;第8章指针 课后习题参考答案三、编程题1. #include stdio.h#define N 10void main()int i_valN;int *p;int i,j,val,k;for (i = 0 ; i N ; i+)scanf(%d,i_val+i);p = &i_val0;printf(排序前结果如下:n);for(i = 0 ; i N; i+)printf(%dn,*(p+i);printf(n);for( i = 0 ; i N-1; i+)k=i;for(j = i+1 ; j N ; j+) if (pj pk) k=j;if (k!=i) val=pi;pi=pk;pk=val;printf(排序后结果如下n);for(i = 0 ; i N; i+)printf(%dn,*(p+i);printf(n);2 #include stdio.h#define N 3void main()int i_valNN=11,12,13,21,22,23,31,32,33;int *p;int nSum=0;int i;p = i_val0;printf(求对角线元素之和); for( i = 0 ; i N; i+)nSum += pi*N+i; nSum += p(N-i-1)*N+i; if(N%2) nSum-=pN/2*N+N/2;printf(结果如下:n);printf(%dn,nSum);3 #include stdio.h#define N 5void f(int val ,int size)int min_index=0,max_index= 0;int i =0;int v;for (i = 1 ; i size ; i +)if(valivalmax_index) max_index = i;v = valmax_index;valmax_index = valsize-1;valsize-1= v;v = valmin_index;valmin_index = val0;val0= v;void main()int valN=91, 55 ,11, 44 , 33;int i;printf(执行函数f之前n);for(i = 0 ; i N; i+)printf(%dn,*(val+i);f(val,N);printf(执行函数f之后n);for(i = 0 ; i N; i+)printf(%dn,*(val+i);printf(n);4.#include stdio.h#include string.h#define N 5void strcpy2(char * src ,char *dest)int i = 0; int len = strlen(src);for(i = 0 ; i len ; i+)desti= srci;destlen+i= srci;dest2*len=0;void main()char a1024,b1024;scanf(%s,a);strcpy2(a,b);printf(%sn,b);5#include stdio.h#include string.h#define N 5int ishuiwen(char * str)int i = 0; int len = strlen(str);for(i = 0 ; i next;p2=head;while(p0-scorep1-score)&(p1!=NULL) /查找插入点p2=p1; p1=p1-next;p0-next=p2-next;p2-next=p0;2题目功能由函数fun实现,源程序代码如下:#include #define N 16typedef struct char num10; int s; STREC;int fun( STREC *p,STREC *q,int l, int h )int i,j=0;for(i=0;i=l&pi.s=h) qj=pi; j+; return j;main() STREC sN=GA005,85,GA003,76,GA002,69,GA004,85, GA001,96,GA007,72,GA008,64,GA006,87, GA015,85,GA013,94,GA012,64,GA014,91, GA011,90,GA017,64,GA018,64,GA016,72; STREC hN,tt;FILE *out ; int i,j,n,low,heigh,t; printf(Enter 2 integer number low & heigh : ); scanf(%d%d, &low,&heigh); if ( heigh low ) t=heigh;heigh=low;low=t; n=fun( s,h,low,heigh ); printf(The students data between %d-%d :n,low,heigh); for(i=0;in; i+) printf(%s %4dn,hi.num,hi.s); printf(n); out = fopen(K:k2024000922out.dat,w) ; n=fun( s,h,80,98 ); fprintf(out,%dn,n); for(i=0;in-1;i+) for(j=i+1;jhj.s) tt=hi ;hi=hj; hj=tt; for(i=0;in; i+) fprintf(out,%4dn,hi.s); fprintf(out,n); fclose(out);3题目功能由函数fun实现,源程序代码如下:#include #define N 8typedef struct char num10; double sN; double ave; STREC;void fun(STREC *p)double t=0.0; /初始化平均值int i;for(i=0;isi; /求得总分t/=N; /根据人数,求平均分p-ave=t;/将平均分赋值到记录ave成员中main() STREC s=GA005,85.5,76,69.5,85,91,72,64.5,87.5; int i; voi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 孩子手机上瘾怎么戒
- 家电公司同业拆借管理细则
- 家电公司跑步活动组织办法
- 跳画技能考试试题及答案
- 启蒙篮球测试题及答案
- 公寓管理试题及答案
- 会展概论试题及答案
- 专职理财经理考试试题及答案
- 倒茶礼仪考试题及答案
- java包装类面试题及答案
- 温硝化制硝基苯装置的改进
- 保教知识与能力幼儿园课件
- 财务部半年度述职汇报PPT模板
- 药品种类清单
- 公共基础知识(社区工作者基础知识)试题(附答案)
- GB/T 37915-2019社区商业设施设置与功能要求
- GB/T 31298-2014TC4钛合金厚板
- 《电业安全工作规程》
- 卡西欧gw5600说明书
- 中兴NGN培训教材 MSG9000结构原理介绍课件
- 穿湖隧道施工组织设计
评论
0/150
提交评论