C语言程序设计练习四程序填空题.docx
《C语言程序设计练习四程序填空题.docx》由会员分享,可在线阅读,更多相关《C语言程序设计练习四程序填空题.docx(24页珍藏版)》请在冰点文库上搜索。
C语言程序设计练习四程序填空题
《C语言程序设计》练习四
程序填充题:
根据题目描述的程序功能,在给出程序的横线处缺少的部分补上相应内容,使其能正确运行。
1.输入一个学生的成绩(在0~100分之间,超出此范围显示错),进行五级评分并显示。
#include
voidmain()
{
intscore;
scanf("%d",&score);printf("%d->",score);
if(__________________)/*第一空*/
switch(___________________)/*第二空*/
case9:
case10:
printf("Excellent\n");break;
case8:
printf("Good\n");break;
case7:
printf("Middle\n");break;
case6:
printf("Pass\n");_______________;/*第三空*/
default:
printf("Nopass\n");
}
elseprintf("Inputerror!
\n");
2.使用二维数组形成并按下列形式输出数据
{inti,j,___________;/*第一空*/
for(i=0;i<5;i++)
for(j=0;j<5;j++)
a[i][j]=_________;/*第二空*/
{for(j=0;j<5;j++)
printf("%2d",a[i][j]);
__________;/*第三空*/
3.对含有10个元素的数组a先按元素的存储次序倒序输入,再按其正序输出。
#define_________/*第一空*/
{inti,a[N];
for(i=N-1;________;i--)/*第二空*/
scanf("%d",_________);/*第三空*/
for(i=0;iprintf("\n");} 4.学生成绩的字母等级和分数范围如下:字母等级分数范围A90~100B80~89C70~79D60~69E0~59其它字母输入错误输入字母等级之后,输出相应的分数范围。#includevoidmain(){_________;/*第一空*/scanf("%c",&score);switch(score){case'A':printf("A:90~100\n");________;/*第二空*/case'B':printf("B:80~89\n");break;case'C':printf("C:70~79\n");break;case'D':printf("D:60~69\n");break;case'E':printf("E:0~59\n");break;_________:printf("输入错误\n");/*第三空*/}} 5.从键盘输入x的值,根据以下公式计算并输出x和y的值。#include#includevoidmain(){floatx,y;scanf("%f",________);/*第一空*/if(x<0)printf("inputerror!\n");else{switch((int)(x/2)){case0:y=x;_______;/*第二空*/case1:case2:y=x*x+1;break;case3:case4:y=_________;break;/*第三空*/default:y=1/(x*x+1);}printf("x=%7.2f,y=%10.6f\n",x,y);}} 6.分别统计并输出17、18、19和20岁各年龄的学生人数。#includevoidmain(){inti,n,age,a[30];for(i=0;i<30;i++)a[i]=0;scanf("%d",&n);/*输入人数<30*/for(i=0;i{scanf("%d",&age);/*输入年龄*/if(age<17||age>20)____________;/*第一空*/elseswitch(________)/*第二空*/{case17case18:case19:case20:a[age-17]++;}}for(i=0;i<=3;i++)printf("age=%dnumber=%d\n",i+17,________);/*第三空*/}7.将从键盘输入的字符串逆序显示。#include#includevoidmain(){intn;charstr[80],*p;printf("Inputastring:\n");gets(str);/*输入字符串*/n=strlen(_______);/*第一空*/p=str+______-1;/*第二空*/while(p>=str){printf("%c",*p);_________;/*第三空*/}printf("\n");} 8..输入100名学生的出生月份,统计并输出每个月份过生日的学生人数。#include#defineN10voidmain(){inti,month;intbirth[13]={0};/*birth[1]~birth[12]分别保存1~12月过生日的学生数*/for(i=1;i<=N;i++){scanf("%d",________);/*第一空*/if(month>=1&&month<=12)birth[month]++;}for(i=1;__________;i++)/*第二空*/printf("%dmonth__________\n",i,birth[i]);/*第三空*/9.输入n(n≥1),计算1+(1+2)+(1+2+3)+…….+(1+2+……+n)的值。#includevoidmain(){inti,n;longsum=0;longcal(int);scanf("%d",&n);for(i=1;i<=n;i++)sum=sum+cal(________);/*第一空*/printf("1+(1+2)+…+(1+2+…+n)=%ld\n",sum);}longcal(________)/*第二空*/{staticlongs=0;s=s+m;______________;/*第三空*/} 10.从键盘输入10个整数,用“冒泡排序法”由小到大进行排序。#include#defineN10voidmain(){inti,j,t,a[N];for(i=0;ifor(i=0;ifor(j=N-1;j>=i+1;________)/*第一空*/if(a[j]{t=a[j];_________;a[j-1]=t;}/*第二空*/for(i=0;iprintf("\n");} 11.为二维数组各元素输入数据,计算并输出全部元素之和。#include#defineN5voidmain(){inti,j,a[N][N],sum=;/*第一空*/for(i=0;ifor(j=0;j{scanf("%d",&a[i][j]);sum+=;/*第二空*/}printf("sum=%d\n",);/*第三空*/} 12.为n输入一个正整数值后,计算并输出sum=1-的值。#includevoidmain(){intn,k=0;float________;/*第一空*/scanf("%d",&n);do{k++;if(________)sum+=1.0/k;/*第二空*/elsesum-=1.0/k;}while(_________);/*第三空*/printf("sum=%.4f\n",sum);} 13.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。#includevoidmain(){inti,j;inta[3][4],max,min,sum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",____________);/*第一空*/max=min=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++){___________;/*第二空*/if(a[i][j]>max)max=a[i][j];if(a[i][j]}printf("max=%d,min=%d,sum=%d\n",_______________);/*第三空*/} 14.根据迭代公式,求a的平方根(精度要求<10-6)。#include#defineEPS1E-6#include__________/*第一空*/voidmain(){floata,x0,x1=1.0;scanf("%f",&a);do{x0=x1;x1=___________;/*第二空*/}while(fabs(x1-x0)>=________);/*第三空*/printf("sqrt=%.6f\n",x1);} 15.将数组a中元素按下图循环左移一位并输出。a[0]a[1]a[2]a[3]a[4]执行前12345执行后23451#includevoidmain(){intj,k,a[5]={1,2,3,4,5};k=a[0];for(j=0;j<5;j++)a[j]=________;/*第一空*/a[4]=_________;/*第二空*/for(j=0;j<5;j++)printf("%5d",_________);/*第三空*/printf("\n");} 16.求数组a的所有元素之和。#defineN3voidmain(){inti,j,sum=0;inta[N][N]={2,4,6,8,10,12,14,16,18};for(i=0;ifor(j=0;________;j++)/*第二空*/sum=sum+___________;/*第三空*/printf("sum=%d\n",sum);} 17.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。#includevoidmain(){inti,j,len;chars[81],t;gets(s);puts(s);len=strlen(s);for(i=0;ifor(j=i+1;jif(___________)/*第二空*/{t=s[i];s[i]=s[j];___________;/*第三空*/}puts(s);} 18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。#includevoidmain(){inti,n;scanf("%d",_________);/*第一空*/printf("%d",n);for(i=2;iif(n%i==0)________;/*第二空*/if(________)printf("Yes\n");/*第三空*/elseprintf("No\n");} 19.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includevoidmain(){charch;for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/_________;/*第二空*/for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/printf("\n");} 20.输入x的值,按下列公式计算并输出y的值。y=#includevoidmain(){intx,y;scanf(__________);/*第一空*/if(x<0)y=-1;elseif(_________)y=0;/*第二空*/else__________;/*第三空*/printf("x=%d,y=%d\n",x,y);} 21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。#includevoidmain(){intweek;staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday","Thrusday","Friday","Saturday"};while(1){printf("Inputweekday:");scanf("%d",_______);/*第一空*/if(__________)break;/*第二空*/printf("weekday:%d→%s\n",week,___________);/*第三空*/}} 22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。#includevoidfun(intnum,inta[]){inti;for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/}voidmain(){inti,b[5]={1,2,3,4,5};fun(5,_______);/*第二空*/for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/printf("\n");} 23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。计算公式: n!=#includelongfac(intn){if(________)return(1);/*第一空*/elsereturn________;/*第二空/}voidmain(){intm;longintfa;for(m=0;m<=10;m++){________;/*第三空*/printf(″%d!=%1d\n″,m,fa);}} 24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:age(n)=#includeintage(intn){if(n==1)return(______);/*第一空*/elsereturn(________);/*第二空*/}voidmain(){printf("%d\n",_______);/*第三空*/} 25.计算并输出1!+2!+3!+4!+5!的值。#includeintf(inta){staticintc=1;c=c*a;return_________;/*第一空*/}voidmain(){inti,k;k=_______;/*第二空*/for(i=2;i<=5;i++)k+=f(_________);/*第三空*/printf("%d\n",k);} 26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。#includeintneg=0,pos=0,zero=0;voidsele(intnum){if(num>0)neg++;elseif(num<0)pos++;else______________;/*第一空*/}voidmain(){inti,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%5d",a[i]);sele(_________________);/*第二空*/}printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/} 27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#include#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
printf("\n");
4.学生成绩的字母等级和分数范围如下:
字母等级分数范围
A90~100
B80~89
C70~79
D60~69
E0~59
其它字母输入错误
输入字母等级之后,输出相应的分数范围。
{_________;/*第一空*/
scanf("%c",&score);
switch(score)
{case'A':
printf("A:
90~100\n");________;/*第二空*/
case'B':
printf("B:
80~89\n");break;
case'C':
printf("C:
70~79\n");break;
case'D':
printf("D:
60~69\n");break;
case'E':
printf("E:
0~59\n");break;
_________:
printf("输入错误\n");/*第三空*/
5.从键盘输入x的值,根据以下公式计算并输出x和y的值。
{floatx,y;
scanf("%f",________);/*第一空*/
if(x<0)printf("inputerror!
\n");
else
{switch((int)(x/2))
{case0:
y=x;_______;/*第二空*/
case1:
case2:
y=x*x+1;break;
case3:
case4:
y=_________;break;/*第三空*/
y=1/(x*x+1);
printf("x=%7.2f,y=%10.6f\n",x,y);
6.分别统计并输出17、18、19和20岁各年龄的学生人数。
{inti,n,age,a[30];
for(i=0;i<30;i++)a[i]=0;
scanf("%d",&n);/*输入人数<30*/
for(i=0;i{scanf("%d",&age);/*输入年龄*/if(age<17||age>20)____________;/*第一空*/elseswitch(________)/*第二空*/{case17case18:case19:case20:a[age-17]++;}}for(i=0;i<=3;i++)printf("age=%dnumber=%d\n",i+17,________);/*第三空*/}7.将从键盘输入的字符串逆序显示。#include#includevoidmain(){intn;charstr[80],*p;printf("Inputastring:\n");gets(str);/*输入字符串*/n=strlen(_______);/*第一空*/p=str+______-1;/*第二空*/while(p>=str){printf("%c",*p);_________;/*第三空*/}printf("\n");} 8..输入100名学生的出生月份,统计并输出每个月份过生日的学生人数。#include#defineN10voidmain(){inti,month;intbirth[13]={0};/*birth[1]~birth[12]分别保存1~12月过生日的学生数*/for(i=1;i<=N;i++){scanf("%d",________);/*第一空*/if(month>=1&&month<=12)birth[month]++;}for(i=1;__________;i++)/*第二空*/printf("%dmonth__________\n",i,birth[i]);/*第三空*/9.输入n(n≥1),计算1+(1+2)+(1+2+3)+…….+(1+2+……+n)的值。#includevoidmain(){inti,n;longsum=0;longcal(int);scanf("%d",&n);for(i=1;i<=n;i++)sum=sum+cal(________);/*第一空*/printf("1+(1+2)+…+(1+2+…+n)=%ld\n",sum);}longcal(________)/*第二空*/{staticlongs=0;s=s+m;______________;/*第三空*/} 10.从键盘输入10个整数,用“冒泡排序法”由小到大进行排序。#include#defineN10voidmain(){inti,j,t,a[N];for(i=0;ifor(i=0;ifor(j=N-1;j>=i+1;________)/*第一空*/if(a[j]{t=a[j];_________;a[j-1]=t;}/*第二空*/for(i=0;iprintf("\n");} 11.为二维数组各元素输入数据,计算并输出全部元素之和。#include#defineN5voidmain(){inti,j,a[N][N],sum=;/*第一空*/for(i=0;ifor(j=0;j{scanf("%d",&a[i][j]);sum+=;/*第二空*/}printf("sum=%d\n",);/*第三空*/} 12.为n输入一个正整数值后,计算并输出sum=1-的值。#includevoidmain(){intn,k=0;float________;/*第一空*/scanf("%d",&n);do{k++;if(________)sum+=1.0/k;/*第二空*/elsesum-=1.0/k;}while(_________);/*第三空*/printf("sum=%.4f\n",sum);} 13.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。#includevoidmain(){inti,j;inta[3][4],max,min,sum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",____________);/*第一空*/max=min=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++){___________;/*第二空*/if(a[i][j]>max)max=a[i][j];if(a[i][j]}printf("max=%d,min=%d,sum=%d\n",_______________);/*第三空*/} 14.根据迭代公式,求a的平方根(精度要求<10-6)。#include#defineEPS1E-6#include__________/*第一空*/voidmain(){floata,x0,x1=1.0;scanf("%f",&a);do{x0=x1;x1=___________;/*第二空*/}while(fabs(x1-x0)>=________);/*第三空*/printf("sqrt=%.6f\n",x1);} 15.将数组a中元素按下图循环左移一位并输出。a[0]a[1]a[2]a[3]a[4]执行前12345执行后23451#includevoidmain(){intj,k,a[5]={1,2,3,4,5};k=a[0];for(j=0;j<5;j++)a[j]=________;/*第一空*/a[4]=_________;/*第二空*/for(j=0;j<5;j++)printf("%5d",_________);/*第三空*/printf("\n");} 16.求数组a的所有元素之和。#defineN3voidmain(){inti,j,sum=0;inta[N][N]={2,4,6,8,10,12,14,16,18};for(i=0;ifor(j=0;________;j++)/*第二空*/sum=sum+___________;/*第三空*/printf("sum=%d\n",sum);} 17.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。#includevoidmain(){inti,j,len;chars[81],t;gets(s);puts(s);len=strlen(s);for(i=0;ifor(j=i+1;jif(___________)/*第二空*/{t=s[i];s[i]=s[j];___________;/*第三空*/}puts(s);} 18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。#includevoidmain(){inti,n;scanf("%d",_________);/*第一空*/printf("%d",n);for(i=2;iif(n%i==0)________;/*第二空*/if(________)printf("Yes\n");/*第三空*/elseprintf("No\n");} 19.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includevoidmain(){charch;for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/_________;/*第二空*/for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/printf("\n");} 20.输入x的值,按下列公式计算并输出y的值。y=#includevoidmain(){intx,y;scanf(__________);/*第一空*/if(x<0)y=-1;elseif(_________)y=0;/*第二空*/else__________;/*第三空*/printf("x=%d,y=%d\n",x,y);} 21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。#includevoidmain(){intweek;staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday","Thrusday","Friday","Saturday"};while(1){printf("Inputweekday:");scanf("%d",_______);/*第一空*/if(__________)break;/*第二空*/printf("weekday:%d→%s\n",week,___________);/*第三空*/}} 22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。#includevoidfun(intnum,inta[]){inti;for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/}voidmain(){inti,b[5]={1,2,3,4,5};fun(5,_______);/*第二空*/for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/printf("\n");} 23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。计算公式: n!=#includelongfac(intn){if(________)return(1);/*第一空*/elsereturn________;/*第二空/}voidmain(){intm;longintfa;for(m=0;m<=10;m++){________;/*第三空*/printf(″%d!=%1d\n″,m,fa);}} 24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:age(n)=#includeintage(intn){if(n==1)return(______);/*第一空*/elsereturn(________);/*第二空*/}voidmain(){printf("%d\n",_______);/*第三空*/} 25.计算并输出1!+2!+3!+4!+5!的值。#includeintf(inta){staticintc=1;c=c*a;return_________;/*第一空*/}voidmain(){inti,k;k=_______;/*第二空*/for(i=2;i<=5;i++)k+=f(_________);/*第三空*/printf("%d\n",k);} 26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。#includeintneg=0,pos=0,zero=0;voidsele(intnum){if(num>0)neg++;elseif(num<0)pos++;else______________;/*第一空*/}voidmain(){inti,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%5d",a[i]);sele(_________________);/*第二空*/}printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/} 27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#include#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
{scanf("%d",&age);/*输入年龄*/
if(age<17||age>20)____________;/*第一空*/
switch(________)/*第二空*/
{case17
case18:
case19:
case20:
a[age-17]++;
for(i=0;i<=3;i++)
printf("age=%dnumber=%d\n",i+17,________);/*第三空*/
7.将从键盘输入的字符串逆序显示。
{intn;
charstr[80],*p;
printf("Inputastring:
gets(str);/*输入字符串*/
n=strlen(_______);/*第一空*/
p=str+______-1;/*第二空*/
while(p>=str)
{printf("%c",*p);
_________;/*第三空*/
8..输入100名学生的出生月份,统计并输出每个月份过生日的学生人数。
#defineN10
inti,month;
intbirth[13]={0};/*birth[1]~birth[12]分别保存1~12月过生日的学生数*/
for(i=1;i<=N;i++)
scanf("%d",________);/*第一空*/
if(month>=1&&month<=12)birth[month]++;
for(i=1;__________;i++)/*第二空*/
printf("%dmonth__________\n",i,birth[i]);/*第三空*/
9.输入n(n≥1),计算1+(1+2)+(1+2+3)+…….+(1+2+……+n)的值。
inti,n;
longsum=0;longcal(int);
scanf("%d",&n);
for(i=1;i<=n;i++)sum=sum+cal(________);/*第一空*/
printf("1+(1+2)+…+(1+2+…+n)=%ld\n",sum);
longcal(________)/*第二空*/
staticlongs=0;
s=s+m;
______________;/*第三空*/
10.从键盘输入10个整数,用“冒泡排序法”由小到大进行排序。
{inti,j,t,a[N];
for(i=0;ifor(i=0;ifor(j=N-1;j>=i+1;________)/*第一空*/if(a[j]{t=a[j];_________;a[j-1]=t;}/*第二空*/for(i=0;iprintf("\n");} 11.为二维数组各元素输入数据,计算并输出全部元素之和。#include#defineN5voidmain(){inti,j,a[N][N],sum=;/*第一空*/for(i=0;ifor(j=0;j{scanf("%d",&a[i][j]);sum+=;/*第二空*/}printf("sum=%d\n",);/*第三空*/} 12.为n输入一个正整数值后,计算并输出sum=1-的值。#includevoidmain(){intn,k=0;float________;/*第一空*/scanf("%d",&n);do{k++;if(________)sum+=1.0/k;/*第二空*/elsesum-=1.0/k;}while(_________);/*第三空*/printf("sum=%.4f\n",sum);} 13.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。#includevoidmain(){inti,j;inta[3][4],max,min,sum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",____________);/*第一空*/max=min=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++){___________;/*第二空*/if(a[i][j]>max)max=a[i][j];if(a[i][j]}printf("max=%d,min=%d,sum=%d\n",_______________);/*第三空*/} 14.根据迭代公式,求a的平方根(精度要求<10-6)。#include#defineEPS1E-6#include__________/*第一空*/voidmain(){floata,x0,x1=1.0;scanf("%f",&a);do{x0=x1;x1=___________;/*第二空*/}while(fabs(x1-x0)>=________);/*第三空*/printf("sqrt=%.6f\n",x1);} 15.将数组a中元素按下图循环左移一位并输出。a[0]a[1]a[2]a[3]a[4]执行前12345执行后23451#includevoidmain(){intj,k,a[5]={1,2,3,4,5};k=a[0];for(j=0;j<5;j++)a[j]=________;/*第一空*/a[4]=_________;/*第二空*/for(j=0;j<5;j++)printf("%5d",_________);/*第三空*/printf("\n");} 16.求数组a的所有元素之和。#defineN3voidmain(){inti,j,sum=0;inta[N][N]={2,4,6,8,10,12,14,16,18};for(i=0;ifor(j=0;________;j++)/*第二空*/sum=sum+___________;/*第三空*/printf("sum=%d\n",sum);} 17.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。#includevoidmain(){inti,j,len;chars[81],t;gets(s);puts(s);len=strlen(s);for(i=0;ifor(j=i+1;jif(___________)/*第二空*/{t=s[i];s[i]=s[j];___________;/*第三空*/}puts(s);} 18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。#includevoidmain(){inti,n;scanf("%d",_________);/*第一空*/printf("%d",n);for(i=2;iif(n%i==0)________;/*第二空*/if(________)printf("Yes\n");/*第三空*/elseprintf("No\n");} 19.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includevoidmain(){charch;for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/_________;/*第二空*/for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/printf("\n");} 20.输入x的值,按下列公式计算并输出y的值。y=#includevoidmain(){intx,y;scanf(__________);/*第一空*/if(x<0)y=-1;elseif(_________)y=0;/*第二空*/else__________;/*第三空*/printf("x=%d,y=%d\n",x,y);} 21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。#includevoidmain(){intweek;staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday","Thrusday","Friday","Saturday"};while(1){printf("Inputweekday:");scanf("%d",_______);/*第一空*/if(__________)break;/*第二空*/printf("weekday:%d→%s\n",week,___________);/*第三空*/}} 22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。#includevoidfun(intnum,inta[]){inti;for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/}voidmain(){inti,b[5]={1,2,3,4,5};fun(5,_______);/*第二空*/for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/printf("\n");} 23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。计算公式: n!=#includelongfac(intn){if(________)return(1);/*第一空*/elsereturn________;/*第二空/}voidmain(){intm;longintfa;for(m=0;m<=10;m++){________;/*第三空*/printf(″%d!=%1d\n″,m,fa);}} 24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:age(n)=#includeintage(intn){if(n==1)return(______);/*第一空*/elsereturn(________);/*第二空*/}voidmain(){printf("%d\n",_______);/*第三空*/} 25.计算并输出1!+2!+3!+4!+5!的值。#includeintf(inta){staticintc=1;c=c*a;return_________;/*第一空*/}voidmain(){inti,k;k=_______;/*第二空*/for(i=2;i<=5;i++)k+=f(_________);/*第三空*/printf("%d\n",k);} 26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。#includeintneg=0,pos=0,zero=0;voidsele(intnum){if(num>0)neg++;elseif(num<0)pos++;else______________;/*第一空*/}voidmain(){inti,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%5d",a[i]);sele(_________________);/*第二空*/}printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/} 27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#include#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
for(i=0;ifor(j=N-1;j>=i+1;________)/*第一空*/if(a[j]{t=a[j];_________;a[j-1]=t;}/*第二空*/for(i=0;iprintf("\n");} 11.为二维数组各元素输入数据,计算并输出全部元素之和。#include#defineN5voidmain(){inti,j,a[N][N],sum=;/*第一空*/for(i=0;ifor(j=0;j{scanf("%d",&a[i][j]);sum+=;/*第二空*/}printf("sum=%d\n",);/*第三空*/} 12.为n输入一个正整数值后,计算并输出sum=1-的值。#includevoidmain(){intn,k=0;float________;/*第一空*/scanf("%d",&n);do{k++;if(________)sum+=1.0/k;/*第二空*/elsesum-=1.0/k;}while(_________);/*第三空*/printf("sum=%.4f\n",sum);} 13.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。#includevoidmain(){inti,j;inta[3][4],max,min,sum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",____________);/*第一空*/max=min=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++){___________;/*第二空*/if(a[i][j]>max)max=a[i][j];if(a[i][j]}printf("max=%d,min=%d,sum=%d\n",_______________);/*第三空*/} 14.根据迭代公式,求a的平方根(精度要求<10-6)。#include#defineEPS1E-6#include__________/*第一空*/voidmain(){floata,x0,x1=1.0;scanf("%f",&a);do{x0=x1;x1=___________;/*第二空*/}while(fabs(x1-x0)>=________);/*第三空*/printf("sqrt=%.6f\n",x1);} 15.将数组a中元素按下图循环左移一位并输出。a[0]a[1]a[2]a[3]a[4]执行前12345执行后23451#includevoidmain(){intj,k,a[5]={1,2,3,4,5};k=a[0];for(j=0;j<5;j++)a[j]=________;/*第一空*/a[4]=_________;/*第二空*/for(j=0;j<5;j++)printf("%5d",_________);/*第三空*/printf("\n");} 16.求数组a的所有元素之和。#defineN3voidmain(){inti,j,sum=0;inta[N][N]={2,4,6,8,10,12,14,16,18};for(i=0;ifor(j=0;________;j++)/*第二空*/sum=sum+___________;/*第三空*/printf("sum=%d\n",sum);} 17.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。#includevoidmain(){inti,j,len;chars[81],t;gets(s);puts(s);len=strlen(s);for(i=0;ifor(j=i+1;jif(___________)/*第二空*/{t=s[i];s[i]=s[j];___________;/*第三空*/}puts(s);} 18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。#includevoidmain(){inti,n;scanf("%d",_________);/*第一空*/printf("%d",n);for(i=2;iif(n%i==0)________;/*第二空*/if(________)printf("Yes\n");/*第三空*/elseprintf("No\n");} 19.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includevoidmain(){charch;for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/_________;/*第二空*/for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/printf("\n");} 20.输入x的值,按下列公式计算并输出y的值。y=#includevoidmain(){intx,y;scanf(__________);/*第一空*/if(x<0)y=-1;elseif(_________)y=0;/*第二空*/else__________;/*第三空*/printf("x=%d,y=%d\n",x,y);} 21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。#includevoidmain(){intweek;staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday","Thrusday","Friday","Saturday"};while(1){printf("Inputweekday:");scanf("%d",_______);/*第一空*/if(__________)break;/*第二空*/printf("weekday:%d→%s\n",week,___________);/*第三空*/}} 22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。#includevoidfun(intnum,inta[]){inti;for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/}voidmain(){inti,b[5]={1,2,3,4,5};fun(5,_______);/*第二空*/for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/printf("\n");} 23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。计算公式: n!=#includelongfac(intn){if(________)return(1);/*第一空*/elsereturn________;/*第二空/}voidmain(){intm;longintfa;for(m=0;m<=10;m++){________;/*第三空*/printf(″%d!=%1d\n″,m,fa);}} 24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:age(n)=#includeintage(intn){if(n==1)return(______);/*第一空*/elsereturn(________);/*第二空*/}voidmain(){printf("%d\n",_______);/*第三空*/} 25.计算并输出1!+2!+3!+4!+5!的值。#includeintf(inta){staticintc=1;c=c*a;return_________;/*第一空*/}voidmain(){inti,k;k=_______;/*第二空*/for(i=2;i<=5;i++)k+=f(_________);/*第三空*/printf("%d\n",k);} 26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。#includeintneg=0,pos=0,zero=0;voidsele(intnum){if(num>0)neg++;elseif(num<0)pos++;else______________;/*第一空*/}voidmain(){inti,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%5d",a[i]);sele(_________________);/*第二空*/}printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/} 27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#include#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
for(j=N-1;j>=i+1;________)/*第一空*/
if(a[j]{t=a[j];_________;a[j-1]=t;}/*第二空*/for(i=0;iprintf("\n");} 11.为二维数组各元素输入数据,计算并输出全部元素之和。#include#defineN5voidmain(){inti,j,a[N][N],sum=;/*第一空*/for(i=0;ifor(j=0;j{scanf("%d",&a[i][j]);sum+=;/*第二空*/}printf("sum=%d\n",);/*第三空*/} 12.为n输入一个正整数值后,计算并输出sum=1-的值。#includevoidmain(){intn,k=0;float________;/*第一空*/scanf("%d",&n);do{k++;if(________)sum+=1.0/k;/*第二空*/elsesum-=1.0/k;}while(_________);/*第三空*/printf("sum=%.4f\n",sum);} 13.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。#includevoidmain(){inti,j;inta[3][4],max,min,sum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",____________);/*第一空*/max=min=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++){___________;/*第二空*/if(a[i][j]>max)max=a[i][j];if(a[i][j]}printf("max=%d,min=%d,sum=%d\n",_______________);/*第三空*/} 14.根据迭代公式,求a的平方根(精度要求<10-6)。#include#defineEPS1E-6#include__________/*第一空*/voidmain(){floata,x0,x1=1.0;scanf("%f",&a);do{x0=x1;x1=___________;/*第二空*/}while(fabs(x1-x0)>=________);/*第三空*/printf("sqrt=%.6f\n",x1);} 15.将数组a中元素按下图循环左移一位并输出。a[0]a[1]a[2]a[3]a[4]执行前12345执行后23451#includevoidmain(){intj,k,a[5]={1,2,3,4,5};k=a[0];for(j=0;j<5;j++)a[j]=________;/*第一空*/a[4]=_________;/*第二空*/for(j=0;j<5;j++)printf("%5d",_________);/*第三空*/printf("\n");} 16.求数组a的所有元素之和。#defineN3voidmain(){inti,j,sum=0;inta[N][N]={2,4,6,8,10,12,14,16,18};for(i=0;ifor(j=0;________;j++)/*第二空*/sum=sum+___________;/*第三空*/printf("sum=%d\n",sum);} 17.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。#includevoidmain(){inti,j,len;chars[81],t;gets(s);puts(s);len=strlen(s);for(i=0;ifor(j=i+1;jif(___________)/*第二空*/{t=s[i];s[i]=s[j];___________;/*第三空*/}puts(s);} 18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。#includevoidmain(){inti,n;scanf("%d",_________);/*第一空*/printf("%d",n);for(i=2;iif(n%i==0)________;/*第二空*/if(________)printf("Yes\n");/*第三空*/elseprintf("No\n");} 19.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includevoidmain(){charch;for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/_________;/*第二空*/for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/printf("\n");} 20.输入x的值,按下列公式计算并输出y的值。y=#includevoidmain(){intx,y;scanf(__________);/*第一空*/if(x<0)y=-1;elseif(_________)y=0;/*第二空*/else__________;/*第三空*/printf("x=%d,y=%d\n",x,y);} 21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。#includevoidmain(){intweek;staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday","Thrusday","Friday","Saturday"};while(1){printf("Inputweekday:");scanf("%d",_______);/*第一空*/if(__________)break;/*第二空*/printf("weekday:%d→%s\n",week,___________);/*第三空*/}} 22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。#includevoidfun(intnum,inta[]){inti;for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/}voidmain(){inti,b[5]={1,2,3,4,5};fun(5,_______);/*第二空*/for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/printf("\n");} 23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。计算公式: n!=#includelongfac(intn){if(________)return(1);/*第一空*/elsereturn________;/*第二空/}voidmain(){intm;longintfa;for(m=0;m<=10;m++){________;/*第三空*/printf(″%d!=%1d\n″,m,fa);}} 24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:age(n)=#includeintage(intn){if(n==1)return(______);/*第一空*/elsereturn(________);/*第二空*/}voidmain(){printf("%d\n",_______);/*第三空*/} 25.计算并输出1!+2!+3!+4!+5!的值。#includeintf(inta){staticintc=1;c=c*a;return_________;/*第一空*/}voidmain(){inti,k;k=_______;/*第二空*/for(i=2;i<=5;i++)k+=f(_________);/*第三空*/printf("%d\n",k);} 26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。#includeintneg=0,pos=0,zero=0;voidsele(intnum){if(num>0)neg++;elseif(num<0)pos++;else______________;/*第一空*/}voidmain(){inti,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%5d",a[i]);sele(_________________);/*第二空*/}printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/} 27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#include#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
{t=a[j];_________;a[j-1]=t;}/*第二空*/
for(i=0;iprintf("\n");} 11.为二维数组各元素输入数据,计算并输出全部元素之和。#include#defineN5voidmain(){inti,j,a[N][N],sum=;/*第一空*/for(i=0;ifor(j=0;j{scanf("%d",&a[i][j]);sum+=;/*第二空*/}printf("sum=%d\n",);/*第三空*/} 12.为n输入一个正整数值后,计算并输出sum=1-的值。#includevoidmain(){intn,k=0;float________;/*第一空*/scanf("%d",&n);do{k++;if(________)sum+=1.0/k;/*第二空*/elsesum-=1.0/k;}while(_________);/*第三空*/printf("sum=%.4f\n",sum);} 13.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。#includevoidmain(){inti,j;inta[3][4],max,min,sum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",____________);/*第一空*/max=min=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++){___________;/*第二空*/if(a[i][j]>max)max=a[i][j];if(a[i][j]}printf("max=%d,min=%d,sum=%d\n",_______________);/*第三空*/} 14.根据迭代公式,求a的平方根(精度要求<10-6)。#include#defineEPS1E-6#include__________/*第一空*/voidmain(){floata,x0,x1=1.0;scanf("%f",&a);do{x0=x1;x1=___________;/*第二空*/}while(fabs(x1-x0)>=________);/*第三空*/printf("sqrt=%.6f\n",x1);} 15.将数组a中元素按下图循环左移一位并输出。a[0]a[1]a[2]a[3]a[4]执行前12345执行后23451#includevoidmain(){intj,k,a[5]={1,2,3,4,5};k=a[0];for(j=0;j<5;j++)a[j]=________;/*第一空*/a[4]=_________;/*第二空*/for(j=0;j<5;j++)printf("%5d",_________);/*第三空*/printf("\n");} 16.求数组a的所有元素之和。#defineN3voidmain(){inti,j,sum=0;inta[N][N]={2,4,6,8,10,12,14,16,18};for(i=0;ifor(j=0;________;j++)/*第二空*/sum=sum+___________;/*第三空*/printf("sum=%d\n",sum);} 17.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。#includevoidmain(){inti,j,len;chars[81],t;gets(s);puts(s);len=strlen(s);for(i=0;ifor(j=i+1;jif(___________)/*第二空*/{t=s[i];s[i]=s[j];___________;/*第三空*/}puts(s);} 18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。#includevoidmain(){inti,n;scanf("%d",_________);/*第一空*/printf("%d",n);for(i=2;iif(n%i==0)________;/*第二空*/if(________)printf("Yes\n");/*第三空*/elseprintf("No\n");} 19.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includevoidmain(){charch;for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/_________;/*第二空*/for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/printf("\n");} 20.输入x的值,按下列公式计算并输出y的值。y=#includevoidmain(){intx,y;scanf(__________);/*第一空*/if(x<0)y=-1;elseif(_________)y=0;/*第二空*/else__________;/*第三空*/printf("x=%d,y=%d\n",x,y);} 21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。#includevoidmain(){intweek;staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday","Thrusday","Friday","Saturday"};while(1){printf("Inputweekday:");scanf("%d",_______);/*第一空*/if(__________)break;/*第二空*/printf("weekday:%d→%s\n",week,___________);/*第三空*/}} 22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。#includevoidfun(intnum,inta[]){inti;for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/}voidmain(){inti,b[5]={1,2,3,4,5};fun(5,_______);/*第二空*/for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/printf("\n");} 23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。计算公式: n!=#includelongfac(intn){if(________)return(1);/*第一空*/elsereturn________;/*第二空/}voidmain(){intm;longintfa;for(m=0;m<=10;m++){________;/*第三空*/printf(″%d!=%1d\n″,m,fa);}} 24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:age(n)=#includeintage(intn){if(n==1)return(______);/*第一空*/elsereturn(________);/*第二空*/}voidmain(){printf("%d\n",_______);/*第三空*/} 25.计算并输出1!+2!+3!+4!+5!的值。#includeintf(inta){staticintc=1;c=c*a;return_________;/*第一空*/}voidmain(){inti,k;k=_______;/*第二空*/for(i=2;i<=5;i++)k+=f(_________);/*第三空*/printf("%d\n",k);} 26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。#includeintneg=0,pos=0,zero=0;voidsele(intnum){if(num>0)neg++;elseif(num<0)pos++;else______________;/*第一空*/}voidmain(){inti,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%5d",a[i]);sele(_________________);/*第二空*/}printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/} 27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#include#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
11.为二维数组各元素输入数据,计算并输出全部元素之和。
#defineN5
inti,j,a[N][N],sum=;/*第一空*/
for(i=0;ifor(j=0;j{scanf("%d",&a[i][j]);sum+=;/*第二空*/}printf("sum=%d\n",);/*第三空*/} 12.为n输入一个正整数值后,计算并输出sum=1-的值。#includevoidmain(){intn,k=0;float________;/*第一空*/scanf("%d",&n);do{k++;if(________)sum+=1.0/k;/*第二空*/elsesum-=1.0/k;}while(_________);/*第三空*/printf("sum=%.4f\n",sum);} 13.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。#includevoidmain(){inti,j;inta[3][4],max,min,sum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",____________);/*第一空*/max=min=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++){___________;/*第二空*/if(a[i][j]>max)max=a[i][j];if(a[i][j]}printf("max=%d,min=%d,sum=%d\n",_______________);/*第三空*/} 14.根据迭代公式,求a的平方根(精度要求<10-6)。#include#defineEPS1E-6#include__________/*第一空*/voidmain(){floata,x0,x1=1.0;scanf("%f",&a);do{x0=x1;x1=___________;/*第二空*/}while(fabs(x1-x0)>=________);/*第三空*/printf("sqrt=%.6f\n",x1);} 15.将数组a中元素按下图循环左移一位并输出。a[0]a[1]a[2]a[3]a[4]执行前12345执行后23451#includevoidmain(){intj,k,a[5]={1,2,3,4,5};k=a[0];for(j=0;j<5;j++)a[j]=________;/*第一空*/a[4]=_________;/*第二空*/for(j=0;j<5;j++)printf("%5d",_________);/*第三空*/printf("\n");} 16.求数组a的所有元素之和。#defineN3voidmain(){inti,j,sum=0;inta[N][N]={2,4,6,8,10,12,14,16,18};for(i=0;ifor(j=0;________;j++)/*第二空*/sum=sum+___________;/*第三空*/printf("sum=%d\n",sum);} 17.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。#includevoidmain(){inti,j,len;chars[81],t;gets(s);puts(s);len=strlen(s);for(i=0;ifor(j=i+1;jif(___________)/*第二空*/{t=s[i];s[i]=s[j];___________;/*第三空*/}puts(s);} 18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。#includevoidmain(){inti,n;scanf("%d",_________);/*第一空*/printf("%d",n);for(i=2;iif(n%i==0)________;/*第二空*/if(________)printf("Yes\n");/*第三空*/elseprintf("No\n");} 19.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includevoidmain(){charch;for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/_________;/*第二空*/for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/printf("\n");} 20.输入x的值,按下列公式计算并输出y的值。y=#includevoidmain(){intx,y;scanf(__________);/*第一空*/if(x<0)y=-1;elseif(_________)y=0;/*第二空*/else__________;/*第三空*/printf("x=%d,y=%d\n",x,y);} 21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。#includevoidmain(){intweek;staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday","Thrusday","Friday","Saturday"};while(1){printf("Inputweekday:");scanf("%d",_______);/*第一空*/if(__________)break;/*第二空*/printf("weekday:%d→%s\n",week,___________);/*第三空*/}} 22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。#includevoidfun(intnum,inta[]){inti;for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/}voidmain(){inti,b[5]={1,2,3,4,5};fun(5,_______);/*第二空*/for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/printf("\n");} 23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。计算公式: n!=#includelongfac(intn){if(________)return(1);/*第一空*/elsereturn________;/*第二空/}voidmain(){intm;longintfa;for(m=0;m<=10;m++){________;/*第三空*/printf(″%d!=%1d\n″,m,fa);}} 24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:age(n)=#includeintage(intn){if(n==1)return(______);/*第一空*/elsereturn(________);/*第二空*/}voidmain(){printf("%d\n",_______);/*第三空*/} 25.计算并输出1!+2!+3!+4!+5!的值。#includeintf(inta){staticintc=1;c=c*a;return_________;/*第一空*/}voidmain(){inti,k;k=_______;/*第二空*/for(i=2;i<=5;i++)k+=f(_________);/*第三空*/printf("%d\n",k);} 26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。#includeintneg=0,pos=0,zero=0;voidsele(intnum){if(num>0)neg++;elseif(num<0)pos++;else______________;/*第一空*/}voidmain(){inti,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%5d",a[i]);sele(_________________);/*第二空*/}printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/} 27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#include#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
for(j=0;j{scanf("%d",&a[i][j]);sum+=;/*第二空*/}printf("sum=%d\n",);/*第三空*/} 12.为n输入一个正整数值后,计算并输出sum=1-的值。#includevoidmain(){intn,k=0;float________;/*第一空*/scanf("%d",&n);do{k++;if(________)sum+=1.0/k;/*第二空*/elsesum-=1.0/k;}while(_________);/*第三空*/printf("sum=%.4f\n",sum);} 13.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。#includevoidmain(){inti,j;inta[3][4],max,min,sum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",____________);/*第一空*/max=min=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++){___________;/*第二空*/if(a[i][j]>max)max=a[i][j];if(a[i][j]}printf("max=%d,min=%d,sum=%d\n",_______________);/*第三空*/} 14.根据迭代公式,求a的平方根(精度要求<10-6)。#include#defineEPS1E-6#include__________/*第一空*/voidmain(){floata,x0,x1=1.0;scanf("%f",&a);do{x0=x1;x1=___________;/*第二空*/}while(fabs(x1-x0)>=________);/*第三空*/printf("sqrt=%.6f\n",x1);} 15.将数组a中元素按下图循环左移一位并输出。a[0]a[1]a[2]a[3]a[4]执行前12345执行后23451#includevoidmain(){intj,k,a[5]={1,2,3,4,5};k=a[0];for(j=0;j<5;j++)a[j]=________;/*第一空*/a[4]=_________;/*第二空*/for(j=0;j<5;j++)printf("%5d",_________);/*第三空*/printf("\n");} 16.求数组a的所有元素之和。#defineN3voidmain(){inti,j,sum=0;inta[N][N]={2,4,6,8,10,12,14,16,18};for(i=0;ifor(j=0;________;j++)/*第二空*/sum=sum+___________;/*第三空*/printf("sum=%d\n",sum);} 17.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。#includevoidmain(){inti,j,len;chars[81],t;gets(s);puts(s);len=strlen(s);for(i=0;ifor(j=i+1;jif(___________)/*第二空*/{t=s[i];s[i]=s[j];___________;/*第三空*/}puts(s);} 18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。#includevoidmain(){inti,n;scanf("%d",_________);/*第一空*/printf("%d",n);for(i=2;iif(n%i==0)________;/*第二空*/if(________)printf("Yes\n");/*第三空*/elseprintf("No\n");} 19.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includevoidmain(){charch;for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/_________;/*第二空*/for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/printf("\n");} 20.输入x的值,按下列公式计算并输出y的值。y=#includevoidmain(){intx,y;scanf(__________);/*第一空*/if(x<0)y=-1;elseif(_________)y=0;/*第二空*/else__________;/*第三空*/printf("x=%d,y=%d\n",x,y);} 21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。#includevoidmain(){intweek;staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday","Thrusday","Friday","Saturday"};while(1){printf("Inputweekday:");scanf("%d",_______);/*第一空*/if(__________)break;/*第二空*/printf("weekday:%d→%s\n",week,___________);/*第三空*/}} 22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。#includevoidfun(intnum,inta[]){inti;for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/}voidmain(){inti,b[5]={1,2,3,4,5};fun(5,_______);/*第二空*/for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/printf("\n");} 23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。计算公式: n!=#includelongfac(intn){if(________)return(1);/*第一空*/elsereturn________;/*第二空/}voidmain(){intm;longintfa;for(m=0;m<=10;m++){________;/*第三空*/printf(″%d!=%1d\n″,m,fa);}} 24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:age(n)=#includeintage(intn){if(n==1)return(______);/*第一空*/elsereturn(________);/*第二空*/}voidmain(){printf("%d\n",_______);/*第三空*/} 25.计算并输出1!+2!+3!+4!+5!的值。#includeintf(inta){staticintc=1;c=c*a;return_________;/*第一空*/}voidmain(){inti,k;k=_______;/*第二空*/for(i=2;i<=5;i++)k+=f(_________);/*第三空*/printf("%d\n",k);} 26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。#includeintneg=0,pos=0,zero=0;voidsele(intnum){if(num>0)neg++;elseif(num<0)pos++;else______________;/*第一空*/}voidmain(){inti,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%5d",a[i]);sele(_________________);/*第二空*/}printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/} 27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#include#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
scanf("%d",&a[i][j]);
sum+=;/*第二空*/
printf("sum=%d\n",);/*第三空*/
12.为n输入一个正整数值后,计算并输出sum=1-
的值。
intn,k=0;
float________;/*第一空*/
do
k++;
if(________)sum+=1.0/k;/*第二空*/
elsesum-=1.0/k;
}while(_________);/*第三空*/
printf("sum=%.4f\n",sum);
13.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。
inti,j;
inta[3][4],max,min,sum=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)scanf("%d",____________);/*第一空*/
max=min=a[0][0];
for(j=0;j<4;j++)
___________;/*第二空*/
if(a[i][j]>max)max=a[i][j];
if(a[i][j]}printf("max=%d,min=%d,sum=%d\n",_______________);/*第三空*/} 14.根据迭代公式,求a的平方根(精度要求<10-6)。#include#defineEPS1E-6#include__________/*第一空*/voidmain(){floata,x0,x1=1.0;scanf("%f",&a);do{x0=x1;x1=___________;/*第二空*/}while(fabs(x1-x0)>=________);/*第三空*/printf("sqrt=%.6f\n",x1);} 15.将数组a中元素按下图循环左移一位并输出。a[0]a[1]a[2]a[3]a[4]执行前12345执行后23451#includevoidmain(){intj,k,a[5]={1,2,3,4,5};k=a[0];for(j=0;j<5;j++)a[j]=________;/*第一空*/a[4]=_________;/*第二空*/for(j=0;j<5;j++)printf("%5d",_________);/*第三空*/printf("\n");} 16.求数组a的所有元素之和。#defineN3voidmain(){inti,j,sum=0;inta[N][N]={2,4,6,8,10,12,14,16,18};for(i=0;ifor(j=0;________;j++)/*第二空*/sum=sum+___________;/*第三空*/printf("sum=%d\n",sum);} 17.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。#includevoidmain(){inti,j,len;chars[81],t;gets(s);puts(s);len=strlen(s);for(i=0;ifor(j=i+1;jif(___________)/*第二空*/{t=s[i];s[i]=s[j];___________;/*第三空*/}puts(s);} 18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。#includevoidmain(){inti,n;scanf("%d",_________);/*第一空*/printf("%d",n);for(i=2;iif(n%i==0)________;/*第二空*/if(________)printf("Yes\n");/*第三空*/elseprintf("No\n");} 19.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includevoidmain(){charch;for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/_________;/*第二空*/for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/printf("\n");} 20.输入x的值,按下列公式计算并输出y的值。y=#includevoidmain(){intx,y;scanf(__________);/*第一空*/if(x<0)y=-1;elseif(_________)y=0;/*第二空*/else__________;/*第三空*/printf("x=%d,y=%d\n",x,y);} 21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。#includevoidmain(){intweek;staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday","Thrusday","Friday","Saturday"};while(1){printf("Inputweekday:");scanf("%d",_______);/*第一空*/if(__________)break;/*第二空*/printf("weekday:%d→%s\n",week,___________);/*第三空*/}} 22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。#includevoidfun(intnum,inta[]){inti;for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/}voidmain(){inti,b[5]={1,2,3,4,5};fun(5,_______);/*第二空*/for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/printf("\n");} 23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。计算公式: n!=#includelongfac(intn){if(________)return(1);/*第一空*/elsereturn________;/*第二空/}voidmain(){intm;longintfa;for(m=0;m<=10;m++){________;/*第三空*/printf(″%d!=%1d\n″,m,fa);}} 24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:age(n)=#includeintage(intn){if(n==1)return(______);/*第一空*/elsereturn(________);/*第二空*/}voidmain(){printf("%d\n",_______);/*第三空*/} 25.计算并输出1!+2!+3!+4!+5!的值。#includeintf(inta){staticintc=1;c=c*a;return_________;/*第一空*/}voidmain(){inti,k;k=_______;/*第二空*/for(i=2;i<=5;i++)k+=f(_________);/*第三空*/printf("%d\n",k);} 26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。#includeintneg=0,pos=0,zero=0;voidsele(intnum){if(num>0)neg++;elseif(num<0)pos++;else______________;/*第一空*/}voidmain(){inti,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%5d",a[i]);sele(_________________);/*第二空*/}printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/} 27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#include#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
printf("max=%d,min=%d,sum=%d\n",_______________);/*第三空*/
14.根据迭代公式
,求a的平方根(精度要求
<10-6)。
#defineEPS1E-6
#include__________/*第一空*/
floata,x0,x1=1.0;
scanf("%f",&a);
x0=x1;
x1=___________;/*第二空*/
}while(fabs(x1-x0)>=________);/*第三空*/
printf("sqrt=%.6f\n",x1);
15.将数组a中元素按下图循环左移一位并输出。
a[0]a[1]a[2]a[3]a[4]
执行前
1
2
3
4
5
执行后
{intj,k,a[5]={1,2,3,4,5};
k=a[0];
a[j]=________;/*第一空*/
a[4]=_________;/*第二空*/
printf("%5d",_________);/*第三空*/
16.求数组a的所有元素之和。
#defineN3
inti,j,sum=0;
inta[N][N]={2,4,6,8,10,12,14,16,18};
for(i=0;ifor(j=0;________;j++)/*第二空*/sum=sum+___________;/*第三空*/printf("sum=%d\n",sum);} 17.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。#includevoidmain(){inti,j,len;chars[81],t;gets(s);puts(s);len=strlen(s);for(i=0;ifor(j=i+1;jif(___________)/*第二空*/{t=s[i];s[i]=s[j];___________;/*第三空*/}puts(s);} 18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。#includevoidmain(){inti,n;scanf("%d",_________);/*第一空*/printf("%d",n);for(i=2;iif(n%i==0)________;/*第二空*/if(________)printf("Yes\n");/*第三空*/elseprintf("No\n");} 19.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includevoidmain(){charch;for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/_________;/*第二空*/for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/printf("\n");} 20.输入x的值,按下列公式计算并输出y的值。y=#includevoidmain(){intx,y;scanf(__________);/*第一空*/if(x<0)y=-1;elseif(_________)y=0;/*第二空*/else__________;/*第三空*/printf("x=%d,y=%d\n",x,y);} 21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。#includevoidmain(){intweek;staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday","Thrusday","Friday","Saturday"};while(1){printf("Inputweekday:");scanf("%d",_______);/*第一空*/if(__________)break;/*第二空*/printf("weekday:%d→%s\n",week,___________);/*第三空*/}} 22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。#includevoidfun(intnum,inta[]){inti;for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/}voidmain(){inti,b[5]={1,2,3,4,5};fun(5,_______);/*第二空*/for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/printf("\n");} 23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。计算公式: n!=#includelongfac(intn){if(________)return(1);/*第一空*/elsereturn________;/*第二空/}voidmain(){intm;longintfa;for(m=0;m<=10;m++){________;/*第三空*/printf(″%d!=%1d\n″,m,fa);}} 24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:age(n)=#includeintage(intn){if(n==1)return(______);/*第一空*/elsereturn(________);/*第二空*/}voidmain(){printf("%d\n",_______);/*第三空*/} 25.计算并输出1!+2!+3!+4!+5!的值。#includeintf(inta){staticintc=1;c=c*a;return_________;/*第一空*/}voidmain(){inti,k;k=_______;/*第二空*/for(i=2;i<=5;i++)k+=f(_________);/*第三空*/printf("%d\n",k);} 26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。#includeintneg=0,pos=0,zero=0;voidsele(intnum){if(num>0)neg++;elseif(num<0)pos++;else______________;/*第一空*/}voidmain(){inti,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%5d",a[i]);sele(_________________);/*第二空*/}printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/} 27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#include#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
for(j=0;________;j++)/*第二空*/
sum=sum+___________;/*第三空*/
printf("sum=%d\n",sum);
17.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。
{inti,j,len;
chars[81],t;
gets(s);
puts(s);
len=strlen(s);
for(i=0;ifor(j=i+1;jif(___________)/*第二空*/{t=s[i];s[i]=s[j];___________;/*第三空*/}puts(s);} 18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。#includevoidmain(){inti,n;scanf("%d",_________);/*第一空*/printf("%d",n);for(i=2;iif(n%i==0)________;/*第二空*/if(________)printf("Yes\n");/*第三空*/elseprintf("No\n");} 19.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includevoidmain(){charch;for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/_________;/*第二空*/for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/printf("\n");} 20.输入x的值,按下列公式计算并输出y的值。y=#includevoidmain(){intx,y;scanf(__________);/*第一空*/if(x<0)y=-1;elseif(_________)y=0;/*第二空*/else__________;/*第三空*/printf("x=%d,y=%d\n",x,y);} 21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。#includevoidmain(){intweek;staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday","Thrusday","Friday","Saturday"};while(1){printf("Inputweekday:");scanf("%d",_______);/*第一空*/if(__________)break;/*第二空*/printf("weekday:%d→%s\n",week,___________);/*第三空*/}} 22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。#includevoidfun(intnum,inta[]){inti;for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/}voidmain(){inti,b[5]={1,2,3,4,5};fun(5,_______);/*第二空*/for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/printf("\n");} 23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。计算公式: n!=#includelongfac(intn){if(________)return(1);/*第一空*/elsereturn________;/*第二空/}voidmain(){intm;longintfa;for(m=0;m<=10;m++){________;/*第三空*/printf(″%d!=%1d\n″,m,fa);}} 24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:age(n)=#includeintage(intn){if(n==1)return(______);/*第一空*/elsereturn(________);/*第二空*/}voidmain(){printf("%d\n",_______);/*第三空*/} 25.计算并输出1!+2!+3!+4!+5!的值。#includeintf(inta){staticintc=1;c=c*a;return_________;/*第一空*/}voidmain(){inti,k;k=_______;/*第二空*/for(i=2;i<=5;i++)k+=f(_________);/*第三空*/printf("%d\n",k);} 26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。#includeintneg=0,pos=0,zero=0;voidsele(intnum){if(num>0)neg++;elseif(num<0)pos++;else______________;/*第一空*/}voidmain(){inti,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%5d",a[i]);sele(_________________);/*第二空*/}printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/} 27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#include#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
for(j=i+1;jif(___________)/*第二空*/{t=s[i];s[i]=s[j];___________;/*第三空*/}puts(s);} 18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。#includevoidmain(){inti,n;scanf("%d",_________);/*第一空*/printf("%d",n);for(i=2;iif(n%i==0)________;/*第二空*/if(________)printf("Yes\n");/*第三空*/elseprintf("No\n");} 19.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includevoidmain(){charch;for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/_________;/*第二空*/for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/printf("\n");} 20.输入x的值,按下列公式计算并输出y的值。y=#includevoidmain(){intx,y;scanf(__________);/*第一空*/if(x<0)y=-1;elseif(_________)y=0;/*第二空*/else__________;/*第三空*/printf("x=%d,y=%d\n",x,y);} 21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。#includevoidmain(){intweek;staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday","Thrusday","Friday","Saturday"};while(1){printf("Inputweekday:");scanf("%d",_______);/*第一空*/if(__________)break;/*第二空*/printf("weekday:%d→%s\n",week,___________);/*第三空*/}} 22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。#includevoidfun(intnum,inta[]){inti;for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/}voidmain(){inti,b[5]={1,2,3,4,5};fun(5,_______);/*第二空*/for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/printf("\n");} 23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。计算公式: n!=#includelongfac(intn){if(________)return(1);/*第一空*/elsereturn________;/*第二空/}voidmain(){intm;longintfa;for(m=0;m<=10;m++){________;/*第三空*/printf(″%d!=%1d\n″,m,fa);}} 24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:age(n)=#includeintage(intn){if(n==1)return(______);/*第一空*/elsereturn(________);/*第二空*/}voidmain(){printf("%d\n",_______);/*第三空*/} 25.计算并输出1!+2!+3!+4!+5!的值。#includeintf(inta){staticintc=1;c=c*a;return_________;/*第一空*/}voidmain(){inti,k;k=_______;/*第二空*/for(i=2;i<=5;i++)k+=f(_________);/*第三空*/printf("%d\n",k);} 26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。#includeintneg=0,pos=0,zero=0;voidsele(intnum){if(num>0)neg++;elseif(num<0)pos++;else______________;/*第一空*/}voidmain(){inti,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%5d",a[i]);sele(_________________);/*第二空*/}printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/} 27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#include#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
if(___________)/*第二空*/
{t=s[i];
s[i]=s[j];
___________;/*第三空*/
18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。
{inti,n;
scanf("%d",_________);/*第一空*/
printf("%d",n);
for(i=2;iif(n%i==0)________;/*第二空*/if(________)printf("Yes\n");/*第三空*/elseprintf("No\n");} 19.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includevoidmain(){charch;for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/_________;/*第二空*/for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/printf("\n");} 20.输入x的值,按下列公式计算并输出y的值。y=#includevoidmain(){intx,y;scanf(__________);/*第一空*/if(x<0)y=-1;elseif(_________)y=0;/*第二空*/else__________;/*第三空*/printf("x=%d,y=%d\n",x,y);} 21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。#includevoidmain(){intweek;staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday","Thrusday","Friday","Saturday"};while(1){printf("Inputweekday:");scanf("%d",_______);/*第一空*/if(__________)break;/*第二空*/printf("weekday:%d→%s\n",week,___________);/*第三空*/}} 22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。#includevoidfun(intnum,inta[]){inti;for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/}voidmain(){inti,b[5]={1,2,3,4,5};fun(5,_______);/*第二空*/for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/printf("\n");} 23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。计算公式: n!=#includelongfac(intn){if(________)return(1);/*第一空*/elsereturn________;/*第二空/}voidmain(){intm;longintfa;for(m=0;m<=10;m++){________;/*第三空*/printf(″%d!=%1d\n″,m,fa);}} 24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:age(n)=#includeintage(intn){if(n==1)return(______);/*第一空*/elsereturn(________);/*第二空*/}voidmain(){printf("%d\n",_______);/*第三空*/} 25.计算并输出1!+2!+3!+4!+5!的值。#includeintf(inta){staticintc=1;c=c*a;return_________;/*第一空*/}voidmain(){inti,k;k=_______;/*第二空*/for(i=2;i<=5;i++)k+=f(_________);/*第三空*/printf("%d\n",k);} 26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。#includeintneg=0,pos=0,zero=0;voidsele(intnum){if(num>0)neg++;elseif(num<0)pos++;else______________;/*第一空*/}voidmain(){inti,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%5d",a[i]);sele(_________________);/*第二空*/}printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/} 27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#include#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
if(n%i==0)________;/*第二空*/
if(________)printf("Yes\n");/*第三空*/
elseprintf("No\n");
19.按下列形式输出英文字母。
ABCD…WXYZ
zyxw...dcba
{charch;
for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/
_________;/*第二空*/
for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/
20.输入x的值,按下列公式计算并输出y的值。
y=
{intx,y;
scanf(__________);/*第一空*/
if(x<0)y=-1;
elseif(_________)y=0;/*第二空*/
else__________;/*第三空*/
printf("x=%d,y=%d\n",x,y);
21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。
{intweek;
staticchar*weekname[]={"Sunday","Monday","Tuesday","Wednesday",
"Thrusday","Friday","Saturday"};
while
(1)
{printf("Inputweekday:
");
scanf("%d",_______);/*第一空*/
if(__________)break;/*第二空*/
printf("weekday:
%d→%s\n",week,___________);/*第三空*/
22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。
voidfun(intnum,inta[])
{inti;
for(i=0;i<_________;i++)a[i]=a[i]*a[i];/*第一空*/
inti,b[5]={1,2,3,4,5};
fun(5,_______);/*第二空*/
for(i=0;i<5;i++)printf("%5d",_________);/*第三空*/
23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。
计算公式:
n!
=
longfac(intn)
if(________)return
(1);/*第一空*/
elsereturn________;/*第二空/
}
intm;longintfa;
for(m=0;m<=10;m++)
________;/*第三空*/
printf(″%d!
=%1d\n″,m,fa);
24.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。
递归公式如下:
age(n)=
intage(intn)
if(n==1)return(______);/*第一空*/
elsereturn(________);/*第二空*/
printf("%d\n",_______);/*第三空*/
25.计算并输出1!
+2!
+3!
+4!
+5!
intf(inta)
{staticintc=1;
c=c*a;
return_________;/*第一空*/
{inti,k;
k=_______;/*第二空*/
for(i=2;i<=5;i++)k+=f(_________);/*第三空*/
printf("%d\n",k);
26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。
intneg=0,pos=0,zero=0;
voidsele(intnum)
if(num>0)neg++;
elseif(num<0)pos++;
else______________;/*第一空*/
inti,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("%5d",a[i]);
sele(_________________);/*第二空*/
printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/
27.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。
structstudent
charname[20];
charsex;
}stu[N];
inti;
floataver,sum=0;
for(i=0;i{scanf("%d%c%s",_______________);/*第一空*/sum=sum+__________;/*第二空*/}aver=_________;/*第三空*/printf("aver=%6.2f\n",aver);} 28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。#include#defineN5structst{charname[20];floats1,s2,total;};voidmain(){structsts[N];inti,k;floatmax;for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
{scanf("%d%c%s",_______________);/*第一空*/
sum=sum+__________;/*第二空*/
aver=_________;/*第三空*/
printf("aver=%6.2f\n",aver);
28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。
structst
{charname[20];
floats1,s2,total;
};
{structsts[N];
inti,k;
floatmax;
for(i=0;i{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);s[i].total=_____________;/*第一空*/}max=___________;/*第二空*/for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
{scanf("%s%f%f",s[i].name,&s[i].s1,&s[i].s2);
s[i].total=_____________;/*第一空*/
max=___________;/*第二空*/
for(i=1,k=-0;iif(s[i].total>max){max=s[i].total;_______;}/*第三空*/printf("%s,%f\n",s[k].name,max);} 29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。#includevoidmain(){charch;intsumch=0;FILE*fp;fp=fopen("str.dat","w");while((ch=getchar())!=__________)/*第一空*/{sumch++;putchar(ch);fputc(___________,fp);/*第二空*/}printf("sumch=%d\n",sumch);fprintf(____________,"sumch=%d\n",sumch);/*第三空*/fclose(fp);} 30.统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。#include#includevoidmain(){intlines=_______;/*第一空*/charch;FILE*fp;fp=fopen("file.dat","r");while(________)/*第二空*/{ch=fgetc(fp);if(ch_______'\n')lines++;/*第三空*/}printf("Lines=%d\n",lines);fclose(fp);} 31.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。#include#includevoidmain(){FILE________;/*第一空*/charch;if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/while((ch=getchar())!='?')fputc(ch,________);/*第三空*/fclo
if(s[i].total>max)
{max=s[i].total;_______;}/*第三空*/
printf("%s,%f\n",s[k].name,max);
29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。
{charch;intsumch=0;
FILE*fp;
fp=fopen("str.dat","w");
while((ch=getchar())!
=__________)/*第一空*/
{sumch++;
putchar(ch);
fputc(___________,fp);/*第二空*/
printf("sumch=%d\n",sumch);
fprintf(____________,"sumch=%d\n",sumch);/*第三空*/
fclose(fp);
30.统计文本文件file.dat的行数(提示:
以’\n’作为每行的结束)。
{intlines=_______;/*第一空*/
charch;
fp=fopen("file.dat","r");
while(________)/*第二空*/
{ch=fgetc(fp);
if(ch_______'\n')lines++;/*第三空*/
printf("Lines=%d\n",lines);
31.从键盘输入一串字符(以“?
”作为结束标志),保存到文本文件text.txt中。
FILE________;/*第一空*/
if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/
='?
')fputc(ch,________);/*第三空*/
fclo
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2