专升本C程序设计81例题.docx
- 文档编号:2396812
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:74
- 大小:49.87KB
专升本C程序设计81例题.docx
《专升本C程序设计81例题.docx》由会员分享,可在线阅读,更多相关《专升本C程序设计81例题.docx(74页珍藏版)》请在冰豆网上搜索。
专升本C程序设计81例题
C程序设计题100例
1.按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出。
#include
main()
{intn,k;
floatscore,sum,ave;
for(n=1;n<=10;n++)
{sum=0.0;
for(k=1;k<=4;k++)
{scanf("%f",&score);
sum+=score;
}
ave=sum/4.0;
printf("NO%d:
%f\n",n,ave);
}
}
2.输入10个学生的成绩,求出平均分,并统计低于平均分的人数及及格率。
#include
main()
{
inta[10],i,sum=0,unave=0;
floatave,rate;
for(i=0;i<10;i++)
{
scanf("%d,",&a[i]);
sum+=a[i];
}
ave=sum/10;
for(i=0;i<10;i++)
{
if(a[i] unave++; } rate=(float)(10-unave)/10*100; printf("%4.2f,%d,%4.2f\%\n",ave,unave,rate); } 3.题目: 利用条件运算符的嵌套来完成此题: 学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析: (a>b)? a: b这是条件运算符的基本例子。 2.程序源代码: #include"stdio.h" #include"conio.h" main() { intscore; chargrade; printf("pleaseinputascore\n"); scanf("%d",&score); grade=score>=90? 'A': (score>=60? 'B': 'C'); printf("%dbelongsto%c",score,grade); } 4.将输入的小写字母转换成大写字母输出,当输入‘$’,字符时,则停止转换。 #include main() { charc; printf("Enteracharacter: "); do { c=getchar(); if('a'<=c&&c<='z') printf("%c\n",c-32); } while(c! ='$'); } 5.题目: 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。 1.程序分析: 2.程序源代码: #include"stdio.h" #include"conio.h" main() { inti=5; voidpalin(intn); printf("\40: "); palin(i); printf("\n"); } voidpalin(n) intn; { charnext; if(n<=1) { next=getchar(); printf("\n\0: "); putchar(next); } else { next=getchar(); palin(n-1); putchar(next); } } 6.将n个字符串按由大到小的顺序进行排序。 #include voidf(charp[][10],intn) { chart[20];inti,j; for(i=0;i for(j=i+1;j if(strcmp(p[i],p[j])<0) {strcpy(t,p[i]),strcpy(p[i],p[j]);strcpy(p[j],t);} } main() { charp[][10]={"abc","aabdfg","abbd","dcdbe","cd"};inti; f(p,5); for(i=0;i<5;i++) printf("%s\n",p[i]); } 7.从键盘接受一个字符串,分别统计其中大小写字母的个数。 #include voidcheckSum(char*s); intmain() { charszInput[1024]; gets(szInput); checkSum(szInput); return0; } voidcheckSum(char*s) { intnA=0; intna=0; charc; while(c=*s++) { if(c>='A'&&c<='Z') nA++; if(c>='a'&&c<='z') na++; } printf("Upper%d.Lower%d.\n",nA,na); } 8.输入一行字符,分别统计出其中: 英文字母、空格、数字和其他字符的个数。 #include"stdio.h" main() {charc;inti=0,j=0,k=0,l=0; while((c=getchar())! ='\n') {if(c>=65&&c<=90||c>=97&&c<=122)i++; elseif(c>=48&&c<=57)j++; elseif(c==32)k++; elsel++;} printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l); } 9.题目: 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析: 利用while语句,条件为输入的字符不为'\n'. 2.程序源代码: #include"stdio.h" #include"conio.h" main() { charc; intletters=0,space=0,digit=0,others=0; printf("pleaseinputsomecharacters\n"); while((c=getchar())! ='\n') { if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++; elseif(c=='') space++; elseif(c>='0'&&c<='9') digit++; else others++; } printf("allinall: char=%dspace=%ddigit=%dothers=%d\n",letters, space,digit,others); } 10.编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 chartongji(str0,b) charstr0[100]; intb[4]; {inti; for(i=0;str0[i]! ='\0';i++) {if(str0[i]>=65&&str0[i]<=90||str0[i]>=97&&str0[i]<=122)b[0]++; elseif(str0[i]>=48&&str0[i]<=57)b[1]++; elseif(str0[i]==32)b[2]++; elseb[3]++;} } main() {charstr1[100];staticinti,a[4]; gets(str1); tongji(str1,a); printf("zimuShuziKonggeQita\n"); for(i=0;i<4;i++) printf("%-8d",a[i]);printf("\n"); } 11.有一篇文章,共有3行文字,每行有个80字符。 要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。 main() {inti,j=0,k=0,l=0,m=0,n=0;charstr0[301],str1[100],str2[100],str3[100]; gets(str1);gets(str2);gets(str3); strcat(str0,str1);strcat(str0,str2);strcat(str0,str3); for(i=0;str0[i]! ='\0';i++) {if(str0[i]>=65&&str0[i]<=90)j++; elseif(str0[i]>=97&&str0[i]<=122)k++; elseif(str0[i]>=48&&str0[i]<=57)l++; elseif(str0[i]==32)m++; elsen++;} printf("DaxieXiaoxieShuziKonggeQita\n"); printf("%5d%7d%5d%6d%4d\n",j,k,l,m,n); } 12.有一行电文译文下面规律译成密码: A->Z a->z B->Y b->y C->X c->x … 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。 非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。 main() {inti;charstr1[100],str2[100]; gets(str1); for(i=0;str1[i]! ='\0';i++) if(str1[i]>=65&&str1[i]<=90) str2[i]=155-str1[i]; elseif(str1[i]>=97&&str1[i]<=122) str2[i]=219-str1[i]; else str2[i]=str1[i]; printf("%s\n%s\n",str1,str2); } 13.编程序。 输入两个字符串(<40个字符),连接后输出(不准用系统函数)。 /*Note: YourchoiceisCIDE*/ #include"stdio.h" #include"string.h" voidmain() { inti,j,k; charstr1[80],str2[40]; scanf("%s",str1); scanf("%s",str2); k=strlen(str1); j=strlen(str2); for(i=0;i<=j;i++) str1[k+i]=str2[i]; printf("%s",str1); } main() {inti,j;charstr1[100],str2[100],str3[201]; gets(str1); gets(str2); for(i=0;str1[i]! ='\0';i++) str3[i]=str1[i]; for(j=0;str2[j]! ='\0';j++) str3[j+i]=str2[j]; printf("%s\n%s\n%s\n",str1,str2,str3); } 14.用递归法将一个整数n转换成字符串(例如:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 81 例题