C语言程序设计练习四程序填空题.docx

上传人:b****1 文档编号:1744479 上传时间:2023-05-01 格式:DOCX 页数:24 大小:38.40KB
下载 相关 举报
C语言程序设计练习四程序填空题.docx_第1页
第1页 / 共24页
C语言程序设计练习四程序填空题.docx_第2页
第2页 / 共24页
C语言程序设计练习四程序填空题.docx_第3页
第3页 / 共24页
C语言程序设计练习四程序填空题.docx_第4页
第4页 / 共24页
C语言程序设计练习四程序填空题.docx_第5页
第5页 / 共24页
C语言程序设计练习四程序填空题.docx_第6页
第6页 / 共24页
C语言程序设计练习四程序填空题.docx_第7页
第7页 / 共24页
C语言程序设计练习四程序填空题.docx_第8页
第8页 / 共24页
C语言程序设计练习四程序填空题.docx_第9页
第9页 / 共24页
C语言程序设计练习四程序填空题.docx_第10页
第10页 / 共24页
C语言程序设计练习四程序填空题.docx_第11页
第11页 / 共24页
C语言程序设计练习四程序填空题.docx_第12页
第12页 / 共24页
C语言程序设计练习四程序填空题.docx_第13页
第13页 / 共24页
C语言程序设计练习四程序填空题.docx_第14页
第14页 / 共24页
C语言程序设计练习四程序填空题.docx_第15页
第15页 / 共24页
C语言程序设计练习四程序填空题.docx_第16页
第16页 / 共24页
C语言程序设计练习四程序填空题.docx_第17页
第17页 / 共24页
C语言程序设计练习四程序填空题.docx_第18页
第18页 / 共24页
C语言程序设计练习四程序填空题.docx_第19页
第19页 / 共24页
C语言程序设计练习四程序填空题.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计练习四程序填空题.docx

《C语言程序设计练习四程序填空题.docx》由会员分享,可在线阅读,更多相关《C语言程序设计练习四程序填空题.docx(24页珍藏版)》请在冰点文库上搜索。

C语言程序设计练习四程序填空题.docx

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.使用二维数组形成并按下列形式输出数据

     

#include

voidmain()

{inti,j,___________;/*第一空*/

for(i=0;i<5;i++)

for(j=0;j<5;j++)

a[i][j]=_________;/*第二空*/

for(i=0;i<5;i++)

{for(j=0;j<5;j++)

printf("%2d",a[i][j]);

__________;/*第三空*/

}

}

3.对含有10个元素的数组a先按元素的存储次序倒序输入,再按其正序输出。

#include

#define_________/*第一空*/

voidmain()

{inti,a[N];

for(i=N-1;________;i--)/*第二空*/

scanf("%d",_________);/*第三空*/

for(i=0;i

printf("\n");

}

 

4.学生成绩的字母等级和分数范围如下:

字母等级分数范围

A90~100

B80~89

C70~79

D60~69

E0~59

其它字母输入错误

输入字母等级之后,输出相应的分数范围。

#include

voidmain()

{_________;/*第一空*/

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

#include

voidmain()

{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岁各年龄的学生人数。

#include

voidmain()

{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)____________;/*第一空*/

else

switch(________)/*第二空*/

{case17

case18:

case19:

case20:

a[age-17]++;

}

}

for(i=0;i<=3;i++)

printf("age=%dnumber=%d\n",i+17,________);/*第三空*/

}

7.将从键盘输入的字符串逆序显示。

#include

#include

voidmain()

{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

#defineN10

voidmain()

{

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)的值。

#include

voidmain()

{

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

#defineN10

voidmain()

{inti,j,t,a[N];

for(i=0;i

for(i=0;i

for(j=N-1;j>=i+1;________)/*第一空*/

if(a[j]

{t=a[j];_________;a[j-1]=t;}/*第二空*/

for(i=0;i

printf("\n");

}

 

11.为二维数组各元素输入数据,计算并输出全部元素之和。

#include

#defineN5

voidmain()

{

inti,j,a[N][N],sum=;/*第一空*/

for(i=0;i

for(j=0;j

{

scanf("%d",&a[i][j]);

sum+=;/*第二空*/

}

printf("sum=%d\n",);/*第三空*/

}

 

12.为n输入一个正整数值后,计算并输出sum=1-

的值。

#include

voidmain()

{

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.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。

#include

voidmain()

{

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]

执行前

1

2

3

4

5

执行后

2

3

4

5

1

#include

voidmain()

{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的所有元素之和。

#defineN3

voidmain()

{

inti,j,sum=0;

inta[N][N]={2,4,6,8,10,12,14,16,18};

for(i=0;i

for(j=0;________;j++)/*第二空*/

sum=sum+___________;/*第三空*/

printf("sum=%d\n",sum);

}

 

17.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。

#include

voidmain()

{inti,j,len;

chars[81],t;

gets(s);

puts(s);

len=strlen(s);

for(i=0;i

for(j=i+1;j

if(___________)/*第二空*/

{t=s[i];

s[i]=s[j];

___________;/*第三空*/

}

puts(s);

}

 

18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。

#include

voidmain()

{inti,n;

scanf("%d",_________);/*第一空*/

printf("%d",n);

for(i=2;i

if(n%i==0)________;/*第二空*/

if(________)printf("Yes\n");/*第三空*/

elseprintf("No\n");

}

 

19.按下列形式输出英文字母。

ABCD…WXYZ

zyxw...dcba

#include

voidmain()

{charch;

for(ch='A';__________;ch++)printf("%c",ch);/*第一空*/

_________;/*第二空*/

for(ch='z';ch>='a';_________)printf("%c",ch);/*第三空*/

printf("\n");

}

 

20.输入x的值,按下列公式计算并输出y的值。

y=

#include

voidmain()

{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的数字时程序结束。

#include

voidmain()

{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并输出各元素的值。

#include

voidfun(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!

#include

longfac(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)=

#include

intage(intn)

{

if(n==1)return(______);/*第一空*/

elsereturn(________);/*第二空*/

}

voidmain()

{

printf("%d\n",_______);/*第三空*/

}

 

25.计算并输出1!

+2!

+3!

+4!

+5!

的值。

#include

intf(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)的个数并将三者输出。

#include

intneg=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

#defineN10

structstudent

{

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

#defineN5

structst

{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;i

if(s[i].total>max)

{max=s[i].total;_______;}/*第三空*/

printf("%s,%f\n",s[k].name,max);

}

 

29.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。

#include

voidmain()

{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

#include

voidmain()

{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

#include

voidmain()

{

FILE________;/*第一空*/

charch;

if((fp=fopen("text.txt",______))==NULL)exit(0);/*第二空*/

while((ch=getchar())!

='?

')fputc(ch,________);/*第三空*/

fclo

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2