C语言上机题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

改错:计算大于100的前10个素数之和.#includestdio.hvoidmain(){inti,j,n,s;n=0;s=1;/*$ERROR1$*/s=0;for(i=101;;i+=2){for(j=2;j=i/2;j++)if(i%j==0){continue;/*$ERROR2$*/break;}if(ji/2){s+=i;n++;if(n!=10)/*$ERROR3$*/n==10break;}}printf(s=%d\n,s);}填空:输入一个大于1的正整数,将其分解成质因数的乘积(质因数即素数因子),并按下例中的格式输出.请填空.例如:Inputn:90Output:90=2*3*3*5#includestdio.hvoidmain(){longi,n;printf(Inputn:);scanf(%ld,___);/*$BLANK1$*/&nprintf(Output:%d=,n);i=2;while(in){if(n%i==0){printf(%ld*,i);n=___;/*$BLANK2$*/}elsei++;}printf(%ld\n,___);/*$BLANK3$*/}程序设计:有100匹马驮100担货,大马驮4担,中马驮3担,5匹小马驮1担.问三种马各有几匹?注意:1.大、中、小马都必须有;2.问题的解只有一种输出格式:big=30,mid=40,small=30#includestdio.hvoidPRINT(inta,intb,intc){FILE*out;printf(big=%d,mid=%d,small=%d\n,a,b,c);if((out=fopen(C:\\24000101\\RESULT.DAT,w+))!=NULL)fprintf(out,big=%d,mid=%d,small=%d.,a,b,c);fclose(out);}voidmain(){PRINT(a,b,c);}第二套改错:从键盘输入一个不多于4位的十进制正整数,求出是几位数.如输入528,结果为n=3。#includestdio.hvoidmain(){intx,n;scanf(%d,x);/*$ERROR1$*/if(x=0||x=10000)printf(DataError!\n);else{if(x=10)n=1;/*$ERROR2$*/elseif(x100)n=2;elseif(x1000)n=3;n=4;/*$ERROR3$*/printf(n=%d\n,n);}}填空:输出以下图形(字符*之间没有空格,第一行之前有一个空格)。*************************程序如下:#includestdio.hvoidmain(){inti,j;for(i=1;i=___;i++)/*$BLANK1$*/{for(j=1;j=___;j++)/*$BLANK2$*/printf();for(j=1;j=___;j++)/*$BLANK3$*/printf(*);printf(\n);}}程序设计:计算并输出Fibonacci数列中小于30000的最大一项。说明:Fibonacci数列的前两项均为1,从第3项开始每一项都是其前两项的和。数列如下:1,1,2,3,5,8,13,21,……输出格式:f=2345678#includestdio.hvoidPRINT(longf){FILE*out;printf(f=%ld\n,f);if((out=fopen(C:\\24000102\\RESULT.DAT,w+))!=NULL)fprintf(out,f=%ldd,f);fclose(out);}voidmain(){PRINT(f);}第三套改错:在屏幕上输出以下图形(说明:第一行之前有3个空格,星号之间无空格).*************************#includestdio.h#includemath.hvoidmain(){inti,j;for(i=-3;i=3;i++){j=1;/*$ERROR1$*/while(jabs(i)){printf();j++;}j=0;while(j=7-2*abs(i))/*$ERROR2$*/{printf(*);i++;/*$ERROR3$*/}printf(\n);}}填空:以下程序的功能是:输出所有的水仙花数,并输出水仙花数的个数.所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身.请填空.程序如下:#includestdio.hvoidmain(){inti,a,b,c,n;n=___;/*$BLANK1$*/for(i=101;i=999;i++){a=i%10;b=i/10%10;c=___;/*$BLANK2$*/if(a*a*a+b*b*b+c*c*c==i){printf(%6d,i);___;/*$BLANK3$*/}}printf(\nn=%d\n,n);}程序设计:求出1900~2010之间个位数不是7的所有素数之和.输出格式:s=23456#includestdio.hvoidPRINT(longs){FILE*out;printf(s=%ld\n,s);if((out=fopen(C:\\24000103\\RESULT.DAT,w+))!=NULL)fprintf(out,s=%ldf,s);fclose(out);}voidmain(){PRINT(s);}第四套改错:计算100~300之间满足下列条件的数之和.(1)能被3整除(2)个位数是7#includestdio.hvoidmain(){inti,sum;sum=1;/*$ERROR1$*/for(i=100;i=300;i++)if(i%3==0)if(i%10==7){sum=i;/*$ERROR2$*/}print(%d,sum);/*$ERROR3$*/}填空:求满足条件1+2+3+……+n=1000的最小n的值。请填空程序如下:#includestdio.hvoidmain(){inti,n,s;s=___;/*$BLANK1$*/i=1;while(s1000){s=___;/*$BLANK2$*/i++;}n=___;/*$BLANK3$*/printf(n=%d\n,n);}程序设计:编写程序,计算各位数字之和等于15的三位数之和。输出格式:s=1234#includestdio.hvoidPRINT(longs){FILE*out;printf(s=%ld\n,s);if((out=fopen(C:\\24000103\\RESULT.DAT,w+))!=NULL)fprintf(out,s=%ldn,s);fclose(out);}voidmain(){PRINT(s);}第五套改错:输出一维数组中的最大元素及其下标值。#includestdio.hvoidmain(){inta[10]={-3,1,-5,4,9,0,-8,7,-6,2};inti,max,addr;max=a[0];addr=1;/*$ERROR1$*/i=1;while(i=10)/*$ERROR2$*/{if(maxa[i]){max=a[i];i=addr;/*$ERROR3$*/}i++;}printf(max=%d,address=%d\n,max,addr);}填空:下面程序功能是:从键盘输入一个学生成绩,输出对应的等级(100分为A,90~99为B,80~89为C,70~79为D,60~69为E,小于60为F),如果输入成绩小于0分或大于100分,输出提示信息“InputError!:。请填空。程序如下:#includestdio.hvoidmain(){intg;printf(Enteramark:);scanf(%d,___);/*$BLANK1$*/if(g0||g100)printf(InputError!\n);else{printf(g=%d:,g);switch(___)/*$BLANK2$*/{case10:printf(A\n);break;case9:printf(B\n);break;case8:printf(C\n);break;case7:printf(D\n);break;case6:printf(E\n);break;___:printf(F\n);/*$BLANK3$*/}}}程序设计:编写程序,计算900到2010之间所有能被11整除的奇数之和。(要求用循环实现)输出格式:sum=2345678#includestdio.hvoidPRINT(longsum){FILE*out;printf(sum=%ld\n,sum);if((out=fopen(C:\\24000102\\RESULT.DAT,w+))!=NULL)fprintf(out,sum=%ldt,sum);fclose(out);}voidmain(){PRINT(sum);}第六套改错:计算1-2/(1+2)+3/(1+2+3)-4/(1+2+3+4)+……+n/(1+2+3+……+n)的值。(假设本题中的n的值从键盘输入,且大小在10以内。)#includestdio.hvoidmain(){inti,j,n,a;doubles=0;printf(pleaseentern=);scanf(%d,n);/*$ERROR1$*/for(i=1;i=n;i++){a=1;/*$ERROR2$*/for(j=1;j=i;j++)a=a+j;if(i%2==0)/*$ERROR3$*/s=s+1.0*i/a;elses=s-1.0*i/a;}printf(%f\n,s);}填空:学生的记录由学号和成绩组成,以下程序在10名学生记录中找出最低成绩并输出该学生的信息(如果存在多名学生成绩并列最低,则均输出)。请填空。程序如下:#includestdio.h#defineN10structstudent{charnum[20];intscore;};voidmain(){structstudentst[N]={{0906050401,99},{0906050402,76},{0906050501,80},{0906050502,68},{0906050503,76},{0906050504,64},{0906050506,98},{0906050508,79},{0906050509,64},{0906050510,98}};inti;int___;/*$BLANK1$*/min=st[0].score;for(i=1;iN;i++)if(min___)/*$BLANK2$*/min=st[i].score;for(i=0;i___;i++)/*$BLANK3$*/if(min==st[i].score)printf(%s\t\t%d\n,st[i].num,st[i].score);}程序设计:根据下式求出s的值(要求使用循环实现):s=1/2-2/3+3/4-4/5+……+99/100输出格式:s=0.1234#includestdio.hvoidPRINT(doubles){FILE*out;printf(s=%.4f\n,s);if((out=fopen(C:\\24000102\\RESULT.DAT,w+))!=NULL)fprintf(out,s=%.4ff,s);fclose(out);}voidmain(){PRINT(s);}第七套改错:将数组中的数按从小到大排序后输出,要求:所有数据输出在一行,且每个数据占5列.#includestdio.hvoidmain(){inta[11]={7,9,-6,10,50,32,24,-15,1,88,29};inti,j,k;for(j=0;j10;

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功