C语言程序设计练习四程序填空题Word文件下载.docx
- 文档编号:18921900
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:21
- 大小:38.17KB
C语言程序设计练习四程序填空题Word文件下载.docx
《C语言程序设计练习四程序填空题Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计练习四程序填空题Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
printf("
%2d"
a[i][j]);
__________;
/*第三空*/
3.对含有10个元素的数组a先按元素的存储次序倒序输入,再按其正序输出。
#define_________/*第一空*/
voidmain()
{inti,a[N];
for(i=N-1;
________;
i--)/*第二空*/
scanf("
%d"
_________);
/*第三空*/
for(i=0;
i<
N;
i++)printf("
%d\t"
a[i]);
printf("
\n"
);
4.学生成绩的字母等级和分数范围如下:
字母等级分数范围
A90~100
B80~89
C70~79
D60~69
E0~59
其它字母输入错误
输入字母等级之后,输出相应的分数范围。
{_________;
/*第一空*/
%c"
&
switch(score)
{case'
A'
:
printf("
A:
90~100\n"
________;
/*第二空*/
case'
B'
printf("
B:
80~89\n"
C'
C:
70~79\n"
D'
D:
60~69\n"
E'
E:
0~59\n"
_________:
输入错误\n"
5.从键盘输入x的值,根据以下公式计算并输出x和y的值。
#include<
math.h>
{floatx,y;
scanf("
%f"
________);
/*第一空*/
if(x<
0)printf("
inputerror!
else
{switch((int)(x/2))
{case0:
y=x;
_______;
/*第二空*/
case1:
case2:
y=x*x+1;
case3:
case4:
y=_________;
/*第三空*/
default:
y=1/(x*x+1);
}
x=%7.2f,y=%10.6f\n"
x,y);
6.分别统计并输出17、18、19和20岁各年龄的学生人数。
{inti,n,age,a[30];
for(i=0;
30;
i++)a[i]=0;
n);
/*输入人数<
30*/
n;
{scanf("
age);
/*输入年龄*/
if(age<
17||age>
20)____________;
switch(________)/*第二空*/
{case17
case18:
case19:
case20:
a[age-17]++;
=3;
age=%dnumber=%d\n"
i+17,________);
7.将从键盘输入的字符串逆序显示。
string.h>
{intn;
charstr[80],*p;
Inputastring:
gets(str);
/*输入字符串*/
n=strlen(_______);
p=str+______-1;
while(p>
=str)
{printf("
*p);
_________;
8..输入100名学生的出生月份,统计并输出每个月份过生日的学生人数。
#defineN10
voidmain()
inti,month;
intbirth[13]={0};
/*birth[1]~birth[12]分别保存1~12月过生日的学生数*/
for(i=1;
=N;
i++)
if(month>
=1&
&
month<
=12)birth[month]++;
i++)/*第二空*/
%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("
=n;
i++)sum=sum+cal(________);
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;
i++)scanf("
a[i]);
N-1;
for(j=N-1;
j>
=i+1;
________)/*第一空*/
if(a[j]<
a[j-1])
{t=a[j];
a[j-1]=t;
}/*第二空*/
%5d"
11.为二维数组各元素输入数据,计算并输出全部元素之和。
#defineN5
inti,j,a[N][N],sum=;
for(j=0;
j<
j++)
a[i][j]);
sum+=;
sum=%d\n"
);
12.为n输入一个正整数值后,计算并输出sum=1-
的值。
intn,k=0;
float________;
do
k++;
if(________)sum+=1.0/k;
elsesum-=1.0/k;
}while(_________);
sum=%.4f\n"
13.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。
inti,j;
inta[3][4],max,min,sum=0;
3;
4;
j++)scanf("
____________);
max=min=a[0][0];
___________;
if(a[i][j]>
max)max=a[i][j];
if(a[i][j]<
min)min=a[i][j];
max=%d,min=%d,sum=%d\n"
_______________);
14.根据迭代公式
,求a的平方根(精度要求
<
10-6)。
#defineEPS1E-6
#include__________/*第一空*/
voidmain()
floata,x0,x1=1.0;
a);
x0=x1;
x1=___________;
}while(fabs(x1-x0)>
=________);
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];
for(j=0;
a[j]=________;
a[4]=_________;
_________);
16.求数组a的所有元素之和。
#defineN3
voidmain()
inti,j,sum=0;
inta[N][N]={2,4,6,8,10,12,14,16,18};
j++)/*第二空*/
sum=sum+___________;
17.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。
{inti,j,len;
chars[81],t;
gets(s);
puts(s);
len=strlen(s);
len-1;
for(j=i+1;
len;
_________)/*第一空*/
if(___________)/*第二空*/
{t=s[i];
s[i]=s[j];
}
18.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。
voidmain()
{inti,n;
n);
for(i=2;
if(n%i==0)________;
if(________)printf("
Yes\n"
elseprintf("
No\n"
19.按下列形式输出英文字母。
ABCD…WXYZ
zyxw...dcba
voidmain()
{charch;
for(ch='
;
ch++)printf("
ch);
z'
ch>
='
a'
_________)printf("
20.输入x的值,按下列公式计算并输出y的值。
y=
{intx,y;
scanf(__________);
if(x<
0)y=-1;
elseif(_________)y=0;
else__________;
x=%d,y=%d\n"
21.从键盘输入一个星期几(0~6),转换为对应的英文输出(Sunday,Monday,…),当输入小于0或大于6的数字时程序结束。
{intweek;
staticchar*weekname[]={"
Sunday"
"
Monday"
Tuesday"
Wednesday"
"
Thrusday"
Friday"
Saturday"
};
while
(1)
{printf("
Inputweekday:
_______);
if(__________)break;
weekday:
%d→%s\n"
week,___________);
22.函数fun用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。
voidfun(intnum,inta[])
{inti;
i++)a[i]=a[i]*a[i];
/*第一空*/
inti,b[5]={1,2,3,4,5};
fun(5,_______);
/*第三空*/
23.用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。
计算公式:
n!
=
#include<
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(________);
%d\n"
25.计算并输出1!
+2!
+3!
+4!
+5!
intf(inta)
{staticintc=1;
c=c*a;
return_________;
{inti,k;
k=_______;
for(i=2;
=5;
i++)k+=f(_________);
k);
26.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。
intneg=0,pos=0,zero=0;
voidsele(intnum)
if(num>
0)neg++;
elseif(num<
0)pos++;
else______________;
/*第一空*/
voidmain()
inti,a[10];
10;
scanf("%d",&
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;
{scanf("
%d%c%s"
sum=sum+__________;
aver=_________;
aver=%6.2f\n"
aver);
28.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。
structst
{charname[20];
floats1,s2,total;
{structsts[N];
inti,k;
floatmax;
{scanf("
%s%f%f"
s[i].name,&
s[i].s1,&
s[i].s2);
s[i].total=_____________;
max=___________;
for(i=1,k=-0;
if(s[i].total>
max)
{max=s[i].total;
}/*第三空*/
%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);
sumch=%d\n"
sumch);
fprintf(____________,"
fclose(fp);
30.统计文本文件的行数(提示:
以’\n’作为每行的结束)。
stdlib.h>
{intlines=_______;
charch;
fp=fopen("
r"
while(________)/*第二空*/
{ch=fgetc(fp);
if(ch_______'
\n'
)lines++;
Lines=%d\n"
lines);
fclose(fp);
31.从键盘输入一串字符(以“?
”作为结束标志),保存到文本文件text.txt中。
process.h>
charch;
if((fp=fopen("
text.txt"
______))==NULL)exit(0);
while((ch=getchar())!
?
'
)fputc(ch,________);
fclose(fp);
32.将26个小写英文字母中的元音字母(a,e,i,o,u)写入到文件vo.txt中。
#include
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 练习 程序 填空