程序设计基础试卷第一学期最终答案答案

上传人:仙*** 文档编号:149965634 上传时间:2022-09-08 格式:DOC 页数:23 大小:57.01KB
收藏 版权申诉 举报 下载
程序设计基础试卷第一学期最终答案答案_第1页
第1页 / 共23页
程序设计基础试卷第一学期最终答案答案_第2页
第2页 / 共23页
程序设计基础试卷第一学期最终答案答案_第3页
第3页 / 共23页
资源描述:

《程序设计基础试卷第一学期最终答案答案》由会员分享,可在线阅读,更多相关《程序设计基础试卷第一学期最终答案答案(23页珍藏版)》请在装配图网上搜索。

1、1.#includeint main()int x,y;printf(x=);scanf(%d,&x);if(x100|x0)y=-1;else if(x=0)y=0;else y=1;printf(y=%dn,y);return 0;2.#includeint main()int a,b,c,min;scanf(%d%d%d,&a,&b,&c);min=a;if(minb)min=b;if(minc)min=c;printf(min=%dn,min);return 0;3.#include#includeint main()double a,b,c,s,p;printf(输入三角形三边a,b

2、,c:);scanf(%lf,%lf,%lf,&a,&b,&c);if(c(a+b)&a(b+c)&b(a+c)p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c);printf(三角形面积:%5.2lfn,s);else printf(三边不能构成三角形n);return 0;4.#includeint main()int a,b,c,d,t;printf(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(ad)t=a;a=d;d=t;if(bc)t=b;b

3、=c;c=t;if(bd)t=b;b=d;d=t;if(cd)t=c;c=d;d=t;printf(max=%dnmin=%dn,d,a);return 0;5.#includeint main()char c;printf(输入成绩等级:);scanf(%c,&c);if(c68|c65)printf(enter data errorn);elseif(c=A)printf(分数段:80-100n);else if(c=B)printf(分数段:70-79n);else if(c=C)printf(分数段:60-69n);else printf(分数段:60以下n);return 0;6.#

4、includeint main()int x,y;printf(x=);scanf(%d,&x);if(x1)y=x;printf(y=x,y=%dn,y);else if(x=10)y=3*x-11;printf(y=3*x-11,y=%dn,y);else y=2*x-1;printf(y=2*x-1,y=%dn,y);return 0; 7.#includeint main()int n;printf(输入成绩:);scanf(%d,&n);if(n100)printf(errorn);else if(n=90)printf(成绩等级: An); else if(n=80)printf(

5、成绩等级: Bn);else if(n=70)printf(成绩等级: Cn);else if(n=60)printf(成绩等级: Dn);else if(n0)printf(成绩等级: En);else printf(errorn);return 0;8.#include#includeint main()double a,b,c,disc,x1,x2,r,i;scanf(%lf,%lf,%lf,&a,&b,&c);printf(The equation );if(fabs(a)=1e-6)printf(is not a quadraticn);elsedisc=b*b-4*a*c;if(f

6、abs(disc)1e-6)x1=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(disc)/(2*a);printf(has distinct real roots:58.2fn,x1,x2);elser=-b/(2*a);i=sqrt(-disc)/(2*a);printf( has complex roots:n);printf(%8.4f+%8.4fin,r,i);printf(%8.4f-%8.4fin,r,i);return 0;9.#includeint main()int n;scanf(%d,&n);if(n%4=0&n%100!=0)|(n%400=0)p

7、rintf(%d is a leap yearn,n);elseprintf(%d is not a leap yearn,n);return 0;*10.#include#includeint main()int a,i,j=0,k;for(a=3;a=1000;a=a+2)k=sqrt(a);for(i=2;i=k+1)printf(%d ,a);j+; if(j%5=0) printf(n); printf(n);return 0;11.#includeint main()int i,j=1;for(i=5,j;i=100;i+,j+)if(i%5=0|i%7=0)&(i%5!=0|i%

8、7!=0)printf(%d ,i);if(j%5=0)printf(n);j+;return 0;12.#include#includeint main()int i,k,l;for(i=0;i=2000;i+)k=sqrt(i+100); l=sqrt(k+168);if(k*k=i+100)&(l*l=k+168)printf(%d ,i);printf(n);return 0;13.#includeint main()int f20=1,1,i,j;for(i=2;i20;i+)fi=fi-1+fi-2;for(i=0,j=1;i20;i+)printf(%d ,fi);if(j%5=

9、0) printf(n);j+;printf(n);return 0;14.#includeint main()double s=0,t=1;int n;for(n=1;n=20;n+)t=t*n;s=s+t;printf(1!+2!+.+20!=%22.15en,s);return 0;15.#includeint main()int i,n=30;double a=1,b=2,s=0,t;for(i=1;i=n;i+)s=s+a/b;t=b;b=a+b;a=b;printf(sun=%16.10fn,s);return 0;16.#includeint main()int i,sum=1,

10、s=1;for(i=1;i=10;i+)s=3*s;sum=sum+s;printf(1+3+.3,20=%dn,sum);return 0;17.#include#includeint main()double x1,x0,f,f1; x1=1.5;dox0=x1;f=(2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x1=x0-f/f1;while(fabs(x1-x0)=1e-5);printf(The root of equation is %5.2fn,x1);return 0;18.#includeint main()int i,a,b,c;for(i=10

11、0;i500;i+)a=i/100;b=i/10-a*10;c=i%10;if(i=a*a*a+b*b*b+c*c*c)printf(%d ,i);printf(n);return 0;19.#includeint main()int i;printf(输入一个8进制数:);scanf(%o,&i);printf(转为10进制为:%dn,i);return 0;20.#includeint main()int p,r,n,m,t;printf(请输入两个正整数:);scanf(%d,%d,&n,&m);if(nm)t=n;n=m;m=t;p=n*m;while(m!=0)r=n%m;n=m;m

12、=r;printf(最大公约数为:%dn,n);printf(最小公被数为:%dn,p/n);return 0;21.#includeint main()double sn=100,hn=50,i;for(i=2;i=10;i+)sn=sn+2*hn;hn=hn/2;printf(第10次落地共经过%lf米n,sn);printf(第10次落地反弹%lf米n,hn);return 0;22.#includeint main()int i,j;for(i=1;i=9;i+)for(j=i;j=9;j+)printf(%d*%d=%dt,i,j,i*j);printf(n);23.#include

13、int main()int i,j,k;for(i=0;i=3;i+)for(j=0;j=2-i;j+)printf( );for(k=0;k=2*i;k+)printf(*);printf(n);for(i=0;i=2;i+)for(j=0;j=i;j+)printf( );for(k=0;k=4-2*i;k+)printf(*);printf(n);return 0;24.#includeint main()int m,s,i;for(m=2;m500;m+)s=0;for(i=1;im;i+)if(m%i)=0)s=s+i;if(s=m)printf(%d,its factors are

14、 ,m);for(i=1;im;i+)if(m%i=0)printf(%d,i);printf(n);return 0;25.#includeint main()int a5,i,t;printf(enter array a:n);for(i=0;i=0;i-)printf(%d ,ai);printf(n);return 0;26.#includeint main()int a,b,c,A,B,C,n=0;for(a=1;a=4;a+) A=a*100;for(b=1;b=4;b+)if(b=a) continue;B=b*10; for(c=1;c=4;c+)if(c=b|c=a)cont

15、inue; printf(%d ,A+B+c);n+;printf(n共有%d个数n,n);printf(n);return 0;27.#includeint main()int a10,i,j,t;for(i=0;i10;i+)scanf(%d,&ai);printf(n);for(i=0;i9;i+)for(j=0;jaj+1)t=aj;aj=aj+1;aj+1=t;for(i=0;i10;i+)printf(%d ,ai);printf(n);return 0;28.#includeint main()int a10,i,t,min,j;for(i=0;i10;i+)scanf(%d,&

16、ai);printf(n);for(i=0;i9;i+)min=i;for(j=i+1;jai)min=j;t=ai;ai=ai+1;ai+1=t;for(i=9;i=0;i-)printf(%d ,ai);printf(n);return 0;29.#includeint main()int a;scanf(%d,&a);if(a100000|a=0&a=10&a=100&a=1000&a10000)printf(%d是4位数n,a);printf(%d %d %d %dn,a/1000,a/100-a/1000*10,a/10-a/100*10,a%100-10*(a/10-a/100*1

17、0);printf(%d%d%d%dn,a%100-10*(a/10-a/100*10),a/10-a/100*10,a/100-a/1000*10,a/1000);elseprintf(%d是5位数n,a);printf(%d %d %d %d %dn,a/10000,a/1000-a/10000*10,a/100-a/1000*10,a/10-10*(a/100),a%10);printf(%d%d%d%d%dn,a%10,a/10-10*(a/100),a/100-a/1000*10,a/1000-a/10000*10,a/10000);return 0;30.#include#incl

18、udeint main()int i,j,k;for(i=3;i=100;i=i+2)k=sqrt(i);for(j=2;j=k+1)printf(%d ,i);printf(n);return 0;31. #include int main() int a11=1,4,6,9,13,15,17,36,68,100;int temp1,temp2,num,end,i,j;printf(array a:n);for(i=0;iend)a10=num;elsefor(i=0;inum)temp1=ai;ai=num;for(j=i+1;j11;j+)temp2=aj;aj=temp1;temp1=

19、temp2;break;printf(Now array:n);for(i=0;i11;i+)printf(%5d,ai);printf(n);return 0; array a: 1 4 6 9 13 15 17 36 68 100insert data:54Now array: 1 4 6 9 13 15 17 36 54 68 10032.#includeint main() int a23=1,2,3,4,5,6;int b32,i,j;printf(array a:n);for(i=0;i=1;i+)for(j=0;j=2;j+)printf(%5d,aij);bji=aij;pri

20、ntf(n);printf(array b:n);for(i=0;i=2;i+)for(j=0;j=1;j+)printf(%5d,bij);printf(n);return 0;33.#includeint main() int i,j,row=0,colum=0,max;int a34=1,2,4,5,23,54,6,7,0,3,5,6;max=a00;for(i=0;i=2;i+)for(j=0;jmax)max=aij;row=i;colum=j;printf(max=%dnrow=%dncolum=%dn,max,row,colum);return 0;34.include#defi

21、ne N 4 #define M 5 /数组为4行5列int main()int i,j,k,aNM,max,maxj,flag;printf(please input matrix:n);for(i=0;iN;i+) /输入数组for(j=0;jM;j+)scanf(%d,&aij);for(i=0;iN;i+)max=ai0; /开始时假设ai0最大maxj=0; /将列号0赋给maxj保存for(j=0;jmax)max=aij; /将本行的最大数存放在max中maxj=j; /将最大数所在的列号存放在maxj中flag=1; /先假设使鞍点,以flag为1代表for(k=0;kakma

22、xj) /将最大数和其同列元素比flag=0; /如果max不是,表示不是鞍点,令flat等0continue;if(flag) /如果flag为1表示是鞍点printf(a%d%d=%dn,i,maxj,max); /输出鞍点值和所在行列号break;if(!flag) /如果flag为0并表示鞍点不存在printf(It is not exist!n);return 0;35. #include #include int main() char str320; /定义二维字符数组char string20; /定义以为字符数组,作为交换字符串时的临时字符数组int i;for(i=0;i0

23、) /若str0str1strcpy(string,str0); /把str0的字符串赋给字符数组stringelsestrcpy(string,str1); /否则把str1的字符串赋给stringif(strcmp(str2,string)0) /若str2大于stringstrcpy(string,str2); /把str2的字符串赋给字符数组stringprintf(nThe largest string is:n%sn,string);return 0; Holland China America The largest string is : Holland36.#includei

24、nt main() void fun(char str,int i,int n);int i,n;char str100;printf(请输入一串字符:);gets(str);printf(i,n:); scanf(%d,%d,&i,&n);fun(str,i,n);puts(str);printf(n);return 0;void fun(char str,int i,int n) int j;for(n;n0;n-)for(j=i;j=100;j+) /注意要引用另一个变量做循环条件,并使每次循环初始值为istrj-1=strj;请输入一串字符:zzxkzjxkjzxci,n:3,5zzk

25、jzxcPress any key to continue37.#includeint main()void concatenate(char string1,char string2,char string);char s1100,s2100,s100;printf(input string1:);scanf(%s,s1);printf(input string2:);scanf(%s,s2);concatenate(s1,s2,s);printf(nThe new string is %sn,s);return 0;void concatenate(char string1,char st

26、ring2,char string)int i,j;for(i=0;string1i!=0;i+)stringi=string1i;for(j=0;string2j!=0;j+)stringi+j=string2j;stringi+j=0;input string1:countryinput string2:sideThe new string is countrysidePress any key to continue38. #include int main() char string100;int i,num=0,word=0;char c;gets(string); /输入一个字符串

27、给字符组string for(i=0;(c=stringi)!=0;i+) /只要字符不是0就继续执行循环if(c= ) word=0; /如果是空格符,使word置0else if(word=0) /如果不his空格符且word原值为0word=1; /使word置1 num+; /sum累加1,表示增加一个单词printf(There are %d words in this line.n,num);/输出单词数return 0; 39.#includeint main()char c;int letters=0,space=0,digit=0,other=0;printf(请输入一行字符

28、:n); while(c=getchar()!=n)if(c=a&c=A&c=0&c=9)digit+;else other+;printf(字母数:%dn空格数:%dn数字数:%dn其他字符数:%dn,letters,space,digit,other);return 0;40.#includeint main()int i,j,upp,low,dig,spa,oth;char text440;upp=low=dig=spa=oth=0;for(i=0;i4;i+)printf(please input line %d:n,i+1);gets(texti);for(j=0;j=A&texti

29、j=a&textij=0&textij=9)dig+;else if(textij= )spa+;else oth+;printf(nupper case :%dn,upp);printf(low case :%dn,low);printf(digit :%dn,dig);printf(space :%dn,spa);printf(other :%dn,oth);return 0;41.#includeint main()int j,n;char ch90,tran90;printf(input cipher code:);gets(ch);printf(ncipher sode :%s,ch

30、);j=0;while(chj!=0)if(chj=A)&(chj=a&(chj=z)tranj=219-chj;elsetranj=chj;j+;n=j;printf(noriginal text:);for(j=0;jn;j+)putchar(tranj);printf(n);return 0;42.#include #include math.h main() int a,b,c,d; scanf(%d,&a); for(b=3;b=a/2;b+=2) for(c=2;csqrt(b) d=a-b; else break; for(c=2;csqrt(d) printf(%d=%d+%d

31、n,a,b,d); 43.#includeint main() int ge,shi,qian,wan,x;scanf(%d,&x);wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;if(ge=wan&shi=qian) /*个位等于万位并且十位等于千位*/printf(%d是回文数n,x);elseprintf(%d不是回文数n,x);return 0;1232112321是回文数Press any key to continue44.#includeint main() int n,i,ind,M=3; printf(请输入总人数:);

32、 scanf(%d,&n); ind=1; for(i=2;i=n;i+) ind=(ind+M)%i; if(ind=0) ind=i; printf(最后留下是原来第%d号n,ind);解析。事实上,约瑟夫问题存在着时间复杂度为O(n)的解法。要解决这个问题,要用到同余这个数学工具。下面,假设目前还剩下K个人,这K个人从1到M报数,那么,当第M个人被杀后,剩下的人将按照怎样的规则报数呢?如果我们将第M个人被杀后,第P个人报的数计做Q,那么可以得到下面的同余式:(P - M % K) % K = Q将上式变形可以得出:P = ( Q + M)% K那么可以知道,在第(N - K + 2)轮报

33、数为Q的人,在第(N - K + 1)轮的报数为 ( Q + M)% K.又易知,最后剩下的人,在最后一轮的报数必然为1,那么可以利用同余式倒推其原始编号:(1 + M)% 2 + M) % 3)+ M % 4。程序源代码: #define nmax 50 main() int i,k,m,n,numnmax,*p; printf(please input the total of numbers:); scanf(%d,&n); p=num; for(i=0;i *(p+i)=i+1; i=0; k=0; m=0; while(m if(*(p+i)!=0) k+; if(k=3) *(p+i)=0; k=0; m+; i+; if(i=n) i=0; while(*p=0) p+; printf(%d is leftn,*p); 45.#includeint main() double i=0.01;int n=0;while(i=8844)i=i*2;n+;printf(对折%d次,可超得过珠穆朗玛峰高度n,n);return 0;

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!