武汉理工大学 C语言实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Biblioteka Baidu
编写函数,统计字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串并 输出统计结果。 #include “string.h” int alphabet=0,digit=0,space=0,others=0; void statistics(char str[]){ int i; for(i=0;str[i+!=‘\0’;i++) if(str[i+>=‘A’&&str[i+<=‘Z’|| str[i+>=‘a’&&str[i+<=‘z’) alphabet++; else if(str[i+>=‘0’&&str[i+<=‘9’) digit++; else if(str[i+==‘ ’||str[i+==‘\t’) space++; else others++; } main(){ char str[20]; gets(str); statistics(str); printf(“%4d%4d%4d%4d”,alphabet,digit,space,others); }
从键盘上输入一个字符串存放在一个字符数组中,按照以下规则对其加密: 其中所有的大写英文字母加3,小写英文字母减4,其它字符不变,将加密后 的字符串存放到另一个字符数组中,输出原字符串和加密后的字符串。 如: 输入 Microsoft Visual C++ 输出 Pe_nkokbp Yeoq]h F++ #include “string.h” main(){ char str1[20],str2; int i; gets(str1); for(i=0;str1[i+!=‘\0’;i++) if(str1[i+>=‘A’&&str1*i+<=‘Z’) str2[i]=str1[i]+3; else if(str1[i+>=‘a’&&str1[i+<=‘z’) str2[i]=str1[i]-4; else str2[i]=str1[i]; str2[i+=‘\0’; puts(str1); puts(str2); }
编写求和函数和求平均值函数。在主函数中,输入一组10个整数,存储在一个数组中,调 用求和函数求出这10个整数的和值,调用求平均值函数求出这10个整数的平均值,输出计 算结果。 int sum(int a[],int n){ int i,s; for(s=0,i=0;i<n;i++) s=s+a[i]; return s; } float ave(int a[],int n){ return (float)sum(a,n)/n; } main(){ int a[10],i; for(i=0;i<10;i++) scanf(“%d”,&a[i]); printf(“sum=%d ave=%f”,sum(a,10),ave(a,10)); }
从键盘输入一个班(不超过30人)学生某门课的成绩,当输入成绩为负值时,则输入结 束,统计并输出不及格人数并打印不及格学生的成绩,按成绩高低排序,输出该班最高 分及最低分。
#include “stdio.h” main(){ int a[30]; int i,j,t,n,nopass,max,min; i=0; do{ scanf(“%d”,&a[i]); i++; }while(i<30&&a[i]>=0); n=i; for(i=0;i<n-1;i++) for(j=0;j<n-1-I;j++) if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } for(nopass=0,i=n-1,max=min=a[i];i>=0;i--){ if(max<a[i]) max=a[i]; if(min>a[i]) min=a[i]; if(a[i]<60){ printf(“%4d”,a*i]); nopass++; } }
1. 编程解决鸡兔同笼问题(无解时给出输入错误提示)。描述如下:一个笼子里关了 鸡和兔子,已知鸡和兔子的总数a以及脚的总数b,问笼子里面有多少只鸡,有多少只 兔子。
main() { int a,b,x,y,t=1; scanf(“%d%d”,&a,&b); for(x=0;x<=a;x++) if(x*2+(a-x)*4==b) { printf(“%d%d”,x,a-x); t=0; } if(t==1) printf(“there is no solving”); }
2.设计并编程实现一个猜数游戏:由计算机随机产生一个1~100之间的整数请人猜,如 果猜对了,则在屏幕上输出猜了多少次才猜对此数,结束游戏;否则计算机给出提示,说 明所猜的数是太大还是太小,最多可以猜10次,如果猜10次仍未猜中的话,则给出正确答 案并结束游戏。
#include <stdio.h> #include <stdlib.h> #include <time.h> main(){ int x,y,i; srand((unsigned)time(NULL));//用当前时间,设置种子 x=rand()%99+1; //生成随机数 for(i=0;i<10;i++){ printf(“please enter a digital(1-100)\n”); scanf(“%d”,&y); if(x==y){ printf(“Bingo!\n”); break; } else if(y>x) if(i==9) printf(“the right digital is %d\n”,x); else printf(“the digital si too big,please enter a smaller digital\n”); else if(i==9) printf(“the right digital is %d\n”,x); else printf(“the digital is too small,please enter a bigger digital\n); } }