还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《语言程序设计》练习四C程序填充题根据题目描述的程序功能,在给出程序的横线处缺少的部分补上相应内容,使其能正确运行,输入一个学生的成绩在分之间,超出此范围显示错,进行五级评分并显示I0~100#include stdio.hvoid main{int score;scanfH%d M,score;printfn%d-H,score;/*第一空*/if/*第二空*1switch{case9:case10:printf”Excellent\n n;break;case8:printfGood\n break;case7:printfn Middle\n;break;;/*第三空*/case6:printfPass\n”;default:printf”No pass\n n;}else printf”Input error!\n n;}.使用二维数组形成并按下列形式输出数据20123412345234563456745678#include stdio.hvoid main;/*第一空*/{int i,j,for i=0;i5;i++for j=0;j5;j++;/*第二空*/a[i][j]=for i=0;i5;i++用递归方法写出计算的阶乘的函数,调用该函数计算并输出时各阶乘的值
23.n n=0,1,2,10当[1n=0,1n!=当〉nxn-l!n1计算公式:#include stdio.hlong facint n{第一空*/;/*第二空/if return1;/*else returnvoid main{int m;long intfa;for m=0;m=10;m++{;/*第三空*/〃%〃,printfd!=%ld\n m,fa;用递归方法计算学生年龄,已知第一位学生年龄为岁,其余学生一个比一个大岁,求第位学生的年龄
24.1025递归公式如下,、1n=lage n=[agen-1+2n1#include stdio.hint ageint n{;/*第一空*/if n==l return;/*第二空*/else return}void main{printf,,%d\n,,;/*第三空*/z}计算并输出的值
25.1!+2!+3!+4!+5!#includestdio.hint fint a{static intc=l;c=c*a;;/*第一空*/return}void main{int i,k;;/*第二空*/k=for i=2;i=5;i++k+=f;/*第三空*/printfH%d\nn k;z}键入个整数,统计其中正数、负数和零的个数并将三者输出
26.10neg poszero#include stdio.hint neg=0,pos=0,zero=0;void seleint num{ifnum0neg++;else ifnum0pos++;;/*第一空*/else}void main{int i,a
[10];fori=0;i10;i++{scanfH%d H,a[i];printfn%5d H,a[i];;/*第二空*/sele}printfn\nneg=%d,pos=%d,zero=%d\n n,;/*第三空*/}从键盘输入个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩
27.10#include stdio.h#define N10struct student{char name
[20];char sex;int score;}stu[N];void main{int i;float aver,sum=0;for i=0;iN;i++{scanfM%d%c%su,;/*第一空*/sum=sum+;/*第二空*/};/*第三空*/aver=printfaver=%
6.2f\n,aver;}设有名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总
28.30分#include stdio.h#define N5struct st{char name
[20];float si,s2,total;};void main{struct sts[N];int i,k;float max;fori=0;iN;i++;/*第一空*/scanf%s%f%f,s[i].name,s[i].sl,s[i].s2;s[i].total=;/*第二空*/max=fori=l,k=-0;iN;i++ifs[i].totalmax;}/*第三空*/{max=s[i].total;printf“%s,%f\rT,s[k].name,max;.键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件29stn dat中#include stdio.hvoid main{char ch;int sumch=0;FILE*fp;,fp=fopen,str.dat7w;/*第一空*/while ch=getchar!={sumch++;putcharch;第二空*/fputc,fp;/*}printf sumch=%d\nH,sumch;fprintf,,sumch=%d\nH,sumch;/*第三空*/fclose fp;}统计文本文件的行数提示以作为每行的结束
30.file.dat#includestdio.h#includestdlib.hvoid main;/*第一空*/{int lines=char ch;FILE*fp;fp=fopen,,file.dat,,,,,rH;/*第二空*/while{ch=fgetcfp;if chAn1lines++;/*第三空*/printf,Lines=%d\n,,lines;fclosefp;}从键盘输入一串字符以作为结束标志,保存到文本文件中
31.text.txt#include stdio.h#include process.h void main{;/*第一空*/FILEchar ch;if fp=fopen,,text.txt,,==NULL exit0;/*第二空*/whilech=getchar!=,1fputcch,;/*第三空*/zfclosefp;}将个小写英文字母中的元音字母写入到文件中
32.26a,e,i,o,u vo.txt#include stdio.hvoid main{Char_______;/*第一空*/FILE*fp;fp=fopenvo.txt,,,,w;zforch=a,;ch=,z;ch++第二空*/if—fputcch,fp;/*;/*第三空*/将文本文件中的数字字符找出并写入文本文件中
33.fin.dat fnum.dat#includestdio.hvoid main{产char ch;FILE*fin fnum;;/*第一空*/fin=fopen fin.dat,fnum=fopen fnum.daf/w;/*第二空*/while!feof{ch=fgetcfin;第三空*/iffputc ch,fnum;/*}fclose fin;fclosefnum;}分别统计文本文件中小写英文元音字母,的个数并输出
34.fs.txt a,e,i,u#includestdio.hvoid main{int a=0,e=0,i=0,o=0,u=0;char ch;;/*第一空*/,sen=fopenfs.txt7r;while!feofsen{ch=fgetcsen;/*第二空*/switch{case ad++;break;case e,:e++;break;case,i,:i++;break;case,o,:o++;break;case,u:u++;}}printf,,%d,%d,%d,%d%d\n,,a,e,i,o,u;fclose;/*第三空*/,从键盘输入个字符串,将其写到文本文件中
35.5fs.txt#includestdio.h#includestdlib.hvoid main{FILE*fp;char str
[5]
[10];int i;/*输入字符串*/fori=0;i5;i++getsstr[i];iffp=fopen,,fs.txt,,==NULL/*第一空*/{printf”Cant openfile!\n;exitO;}z写入文件*/fori=0;i5;i++/*;第二空*/{fputs,fp/*fputsn\nn,fp;};/*第三空*/fclose{for j=0;j5;j++%矶printf-2d“,;/*第三空*/对含有个元素的数组先按元素的存储次序倒序输入,再按其正序输出
3.10a#include stdio.h/*第一空*/#definevoid main{int i,a[N];第二空*/fori=N-l;,;/*第三空*/scanf”%d“fori=0;iN;i++printf,,%d\t,,,a[i];printfCXn;}学生成绩的字母等级和分数范围如下:
4.字母等级分数范围90〜10080〜8970〜7960〜690-59其它字母输入错误输入字母等级之后,输出相应的分数范围#include stdio,hvoid main{;/*第一空*/scanf”%c”,score;switchscore{case TV:printf”A:90~100\rT;;/*第二空*/case B:printf HB:80^89\nH;break;case C:printf C:70^79\n;break;case D1:printf nD:60^69\n;break;case Eprintf E:0^59\n;break;(输入错误)第三空*/printf\n“;/*}}从键盘输入的值,根据以下公式计算并输出和的值
5.x x yx2+12x6Jx+16x10]x10J+1#includestdio.h#includemath.h void main{float x,y;scanfH%fH,);/*第一空*/ifxOprintf,,input error!\n;else{switch intx/2/*第二空*/{case0:y=x;;case1:case2:y=x*x+l;break;case3:/*第三空*/case4:y=;break;default:y=l/x*x+l;printf,,x=%
7.2f,y=%
10.6f\n,,,x,y;}分别统计并输出、、和岁各年龄的学生人数
6.17181920#include stdio.hvoid main{int i,n,age,a
[30];fori=0;i30;i++a[i]=0;/*输入人数scanf%d”,n;v30*/for i=0;in;i++/*输入年龄*/{scanfC^d\age;;/*第一空*/ifage17||age20else/*第二空*/switch{case17case18:case19:case20:a[age-17]++;}}for i=0;i=3;i++;/*第三空*/printfage=%d number=%d\n\i+17,将从键盘输入的字符串逆序显示
7.#include stdio.h#include string.hvoid main{intn;char str
[80],*p;printfInput astring:\rT;输入字符串*/getsstr;/*;/*第一空*/第二空*/n=strlen p=str+-1;/*while p=str{printfH%c,*p;;/*第三空*/x}printf\n;}.•输入名学生的出生月份,统计并输出每个月份过生日的学生人数8100#include stdio.h#define N10void main{int i,month;分别保存月过生日的学生数*/int birth
[13]={0};/*birth
[1]〜birth
[12]1〜12for i=l;i=N;i++{scanfn%dn,;/*第一空*/if month=1month=12birth[month]++;}/*第二空*/for i=l;;i++printfH%d month\nn,i,birth[i];/*第三空*/输入计算的值
10.10#include stdio.h#define N10void main{int i,j,t,a[N];for i=0;iN;i++scanf%dH,a[i];for i=0;iN-l;i++/*第一空*/for j=N-l;j=i+l;if a[j]a[j-l];/*第二空*/{t=a[j];a[j-l]=t;}for i=0;iN;i++printf,,%5d,,;/*第三空*/zprintfn\n;}为二维数组各元素输入数据,计算并输出全部元素之和
11.#include stdio.h#define N5void main{第一空*/int i,j,a[N][N],sum=0;/*fori=0;iN;i++forj=0;jN;j++{第二空*/sum+=a[i][j];/*}printfsum=%d\n,,,sum;/*MH$*/为输入一个正整数值后,计算并输出的值
12.n su^-14-V…4#include stdio.hvoid main{intn,k=0;float;/*第一空*/scanfn%d,n;do{k++;第二空*/if sum+=
1.0/k;/*else sum-=
1.0/k;}while;/*第三空*/printf,,sum=%.4f\n,sum;键入数据至二维数组,求出其中的最大值、最小值及所有元素之和
13.#include stdio.hvoid main{int ij;int a
[3]
[4],max,min,sum=0;fori=0;i3;i++;/*第一空*/forj=0;j4;j++scanf%d,max=min=a
[0]
[0];fori=0;i3;i++forj=0;j4;j++{______________;/*第二空*/ifa[i][j]max max=a[i][j];ifa[i][j]min min=a[i][j];}printf,,max=%d,min=%d,sum=%d\nH;/*第三空*/z根据迭代公式阳」(两+幺),求的平方根(精度要求-工|)面
14.a10-62#include stdio.h#define EPSIE-6/*第一空*/#include()voidmain{float a,x0,xl=
1.0;scanf%f a;zdo{xO=xl;;/*第二空*/xl=}whilefabsxl-xO=;/*第三空*/printfsqrt=%.6f\n,,,xl;a
[0]执行前12345执行后23451将数组中元素按下图循环左移一位并输出
15.a#include stdio.h a[l]a
[2]a
[3]a
[4]voidmain{int j*,a
[5]={l,2,3,4,5;k=a
[0];forj=0;j5;j++;/*第一空*/a[j]=;/*第二空*/a
[4]=for j=0;j5;j++;/*第三空*/printf“%5d”,printf\n;求数组的所有元素之和
16.a#define N3voidmain{int i,j,sum=0;inta[N][N]={2,4,6,8,10,12,14,16,18};/*第一空*/第二空*/;/*第三空*/fori=0;iN;forj=0;;j++/*sum=sum+printfsum=%d\nH,sum;键入一个字符串(不超过个字符)存至字符数组中并对各元素升序排序
17.80s#includestdio.hvoid main{int i,j,len;char s
[81],t;getss;putss;len=strlens;fori=0;ilen-l;i++/*第一空*//*第二空*/forj=i+l;jlen;if;{t=S[i]s[i]=s[j];______________;/*第三空*/}putss;输入一个正整数,若是素数或称质数则输出,否则输出
18.“Yes”“No”#include stdio.h voidmain{int i,n;scanfH%dH,;/*第一空*/printfn%dn,n;fori=2;in;i++ifn%i==O;/*第二空*/ifprintfHYes\n;/*第三空*/else printf”No\rT;}按下列形式输出英文字母
19.ABCD...WXYZ zyxw...dcba#includestdio.h voidmain{char ch;forch=A;;ch++printf,%c,,,ch;/*第一空*/;/*第二空*/forch=z,;ch=,a,;printfH%cM,ch;/*第三空*/printf\n;输入的值,按下列公式计算并输出的值
20.xy-1x0y=0x=01x0#includestdio.hvoid main{int x,y;;/*第一空*/scanf ifx0y=-l;第二空*/else ify=0;/*else;/*第三空*/printfx=%d y=%d\nH,x,y;z}从键盘输入一个星期几转换为对应的英文输出当输入小于或大于的数字时程序结束
21.0-6,Sunday,Monday/-,06#include stdio.hvoid main{int week;static char*weekname[]={Sunday,nMondayn/Tuesday,nWednesday,“Thrusday”,”Friday”,“Saturday”};whilel{printfnInput weekday:;%;/*第一空*/scanf”d”,第二空*/ifbreak;/*;/*第三空*/printf“weekday:%d—%s\rT,week,}}函数用于计算数组各元素值的平方,主函数调用并输出各元素的值
22.fun fun#include stdio.hvoid funintnumjnt a[]{int i;/*第一空*/for i=0;i;i++a[i]=a[i]*a[i];}voidmain{;int ib
[5]={l2,3A5}z,;/*第二空*/fun5,%;/*第三空*/for i=0;iv5;i++printf”5cT,printf\nH;。
个人认证
优秀文档
获得点赞 0