《2022年2022年简单的C语言编程 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年简单的C语言编程 .pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 实验 4 选择结构程序设计1.编写程序实现:由键盘输入三个字符,输出其中最大者。参考方法:#include void main() char a,b,c,max; coutabc; max=a; if(bmax) max=b; if(cmax) max=c; cout ”Max_character is:”maxendl; 2.编写程序实现:输入三角形三边的长,求三角形的面积。若输入的三个边能构成三角形,则计算其面积并输出;否则输出提示信息。参考方法:#include #include void main() double a,b,c,s,area; coutabc; if(a+bc&b+
2、ca&a+cb) s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); cout ”area= ”areaendl; else cout ”Input Error!n”; 3.编写程序实现:从键盘键入企业利润L,计算并输出相应的奖金。#include void main() double L,S; coutL; if(L0) cout”Input Error!n” ; else if(L=5000) S=L*0.015; else if(L=10000) S=5000*0.015+(L-5000)*0.02; else if(L=20000) S=5000*0
3、.015+5000*0.02+(L-10000)*0.025; else if(L=50000) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 16 页 - - - - - - - - - 2 S=5000*0.015+5000*0.02+10000*0.025+(L-20000)*0.03; else if(L=100000) S=5000*0.015+5000*0.02+10000*0.025+30000*0.03+(L-50000)*0.035; else S=5
4、000*0.015+5000*0.02+10000*0.025+30000*0.03+50000*0.035+(L-100000)*0.04; cout ”S=”sendl; 4.编写程序实现:输入年龄,输出所处人群:9 岁以下为儿童,输出A;1019 为少年,输出B;2029为青年,输出C; 3039 位中年,输出D; 50 以上为老年,输出E。#include void main() int age; char ch; coutage; if(age=0) cout ”Input Error!n”; else if(age=9) ch=A ; else if(age=19) ch=B ;
5、else if(age=29) ch=C ; else if(age=49) ch=D ; else ch=E ; coutchendl; 5.编写程序实现:计算分段函数,输入t 的值,输出S的值。#include void main() double t,s; coutt; if(t=4) cout ”Input Error!n”; else if(t1) s=t*t; else if(t2) s=t*t-1; else if(t3) s=t*t-2*t+1; else s=t*t+4*t-17; cout ”s=”sendl; 名师资料总结 - - -精品资料欢迎下载 - - - - -
6、- - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 16 页 - - - - - - - - - 3 实验 5 循环结构程序设计1. 编写程序实现:计算并输出1+2+3+,+n 之和超过 2000 的的第一个n 值及其和。参考方法 1:#include void main() int n,sum=0; for(n=1;sum=2000;n+) sum+=n; cout ” n=”n-1”,sum=”sumendl; 参考方法 2:#include void main() int n,sum=0; for(n=1;n+) sum+=n;
7、if (sum2000) break; cout ” n=”n”,sum=”sumendl; 2. 编写程序实现:输入若干学生成绩,统计其中90 分之上、 7089、6069、小于 60 分的人数,并输出。当输入的数小于0 时结束。#include void main() int a,b,c,d,grade; a=b=c=d=0; coutgrade; if(grade0) break; else if(grade60) d+; else if(grade70) c+; else if(grade90) b+; else a+; cout ”above 90: ”aendl; cout ”70
8、89: ”bendl; cout ”6069: ”cendl; cout ”059: ”d2000 输出 n,sum n=n+1 结束T F 开始a=b=c=d=0 输入 grade grade0 d=d+1 结束T F grade60 grade70 F grade90 c=c+1 b=b+1 a=a+1 输出 a,b,c,d T T T F F 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 16 页 - - - - - - - - - 4 3. 编写程序实现:输入一
9、个整数,输出各位数字之和。如输入6228,则输出6+2+2+8 的和为 18。#include void main() int num,sum=0; coutnum; while(num!=0) s+=num%10; num/=10; cout ”sum= ”sumendl; 4. 编写程序实现:输入一个实数x 和一个整数n,计算并输出x+x2+x3+,+xn的值。#include void main() int n,i; double x,sum=0,mul=1; coutxn; for(i=1;i=n;i+) mul*=x; sum+=mul; cout ”sum= ”sumendl; 5
10、. 编写程序实现:计算并输出2!+4!+6!+, +16!的值。#include void main() int i; double sum=0,mul=1; for(i=1;i=16;i+) mul*=x; if(i%2=0) sum+=mul; cout ”sum= ”sumendl; 6. 编写程序实现:输入两个整数n 和 m ,打印 n 行星号,每行m个星号。开始sum=0 sum=sum+num%10 num!=0 输出 n,sum 结束T F num= num/10 输入 num 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
11、- - - 名师精心整理 - - - - - - - 第 4 页,共 16 页 - - - - - - - - - 5 #include void main() int i,j,n,m; coutnm; for(i=1;i=n;i+) for(j=1;j=i-1;j+) cout ” ”; for(j=1;j=m;j+) cout ”*”; coutendl; 输出一个空格开始输入 n,m i=n 输出回车结束T F i=1 j=i-1 j=1 j=j+1 F j=m j=1 输出一个星号j=j+1 F i=i+1 T T 名师资料总结 - - -精品资料欢迎下载 - - - - - - -
12、- - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 16 页 - - - - - - - - - 6 实验 6 一维数组与二维数组1. 编写程序实现:输入10 个学生的成绩,求其平均值,输出最高成绩,并统计低于平均值的人数。#include void main() int i,count=0; double score10,aver=0,max; for(i=0;i10;i+) while(1) coutn请输入第 i+1scorei; if(scorei=0&scorei=100) break; cout 输入数据非法,请重新输入!n; av
13、er+=scorei; aver/=10; max=score0; coutn-成绩列表 -n; for(i=0;i10;i+) coutscoreimax) max=scorei; if(scoreiaver) count+; coutn-统计结果 -n; cout 平均分: avern最高分: maxn 低于平均分的人数:countendl; 2. 编写程序实现:分别用冒泡法和选择法对输入的10 个整数按由大到小排序,输出排序结果。(1)冒泡排序:#include void main() int a10,i,j,t; cout 请输入 10 个整数: n; for(i=0;iai; for
14、(i=0;i9;i+) for(j=0;j9-i;j+) if(ajaj+1) t=aj; aj=aj+1; aj+1=t; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 16 页 - - - - - - - - - 7 cout 排序结果: n; for(i=0;i10;i+) coutait; coutendl; (2)选择排序:#include void main() int a10,i,j,t,k; cout 请输入 10 个整数: n; for(i=0;iai
15、; for(i=0;i9;i+) k=i; for(j=i+1;jak) k=j; if(k!=i) t=ai; ai=ak; ak=t; cout 排序结果: n; for(i=0;i10;i+) coutait; coutendl; 3. 编写程序实现:按杨辉三角的规律打印以下数据(要求只打印出10 行) 。#include #include void main() int a1010,i,j; for(i=0;i10;i+) ai0=1; aii=1; for(i=2;i10;i+) for(j=1;ji;j+) aij=ai-1j-1+ai-1j; 名师资料总结 - - -精品资料欢迎
16、下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 16 页 - - - - - - - - - 8 cout 杨辉三角:n; for(i=0;i10;i+) for(j=0;j=i;j+) coutsetw(5)aij; coutendl; 4. 编写程序实现:统计某班英语、语文、数学三门课程的成绩,学生人数与成绩由键盘输入,要求统计出每门课程全班的总成绩和平均成绩以及每个学生三门课程的总成绩和平均成绩。#include void main() static double score425; int i,j,
17、n; while(1) coutn; if(n0&n=40) break; cout 输入数据非法!请输入140 之间的整数。n; for(i=0;in;i+) for(j=0;j3;j+) while(1) cout 请输入第 i+1 名学生 ; switch(j) case 0:cout英语 ; case 1:cout语文 ; case 2:cout数学 ; coutscoreij; if(scoreij=0&scoreij=100) break; cout 输入数据非法!请输入0100 之间的数。 n; scorei3+=scoreij; scorei4=scorei3/3; 名师资料总
18、结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 16 页 - - - - - - - - - 9 for(j=0;j5;j+) for(i=0;in;i+) scorenj+=scoreij; scoren+1j=scorenj/n; coutn-成绩统计结果-n; coutt序号 t英语 t语文 t数学 t总成绩 t平均成绩 n; for(i=0;in+2;i+) if(i=n) coutt总分 ; else if(i=n+1) coutt平均分 ; else coutti+1;
19、 for(j=0;j=n&j=3) continue; couttscoreij; coutendl; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 16 页 - - - - - - - - - 10 实验七字符数组1. 编写程序实现:输入五个字符串,输出其中最大者。要求使用二维数组和字符串处理函数。#include #include void main() char str520,max20; int i; cout ”Please input 5 strings:n
20、”; for(i=0;i5;i+) cin.getline(stri,50); strcpy(max,str0); for(i=1;i5;i+) if(strcmp(max,stri)0) strcpy(max,stri); cout ”max_string is:”maxendl; 2. 编写程序实现:将一个字符串中的数字字符都删除。方法一:#include void main() char str50; int i,j; cout ”Please input a string:n”; cin.getline(str,50); for(i=0,j=0;stri!=0 ;i+) if(stri
21、9) strj=stri; j+; strj=0 ; cout ”The deleted string is:” strendl; 方法二#include #include void main() char str50; int i; cout=0&stri= 9) strcpy(str+i,str+i+1); i-; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 16 页 - - - - - - - - - 11 cout ”The deleted string i
22、s :”strendl; 3. 编写程序实现:输入一行字符,统计其中有多少个单词,单词之间用一个或多个空格分隔。#include void main() char s50; int i,n=0; cout 请输入字符串:; cin.getline(s,50); for(i=0;si!=0;i+) if(si= &si+1!= ) n+; if(si-1!= ) n+; if(s0= ) n-; cout 单词个数: nendl; 4. 编写程序实现:输入一行字符串,统计其中大写字母、小写字母、空格、数字及其他字符的个数。#include void main() char s50; int i,
23、a,b,c,d,e; a=b=c=d=e=0; cout=A&si=a&si=0&si=9) d+; else e+; cout 大写字母个数是:aendl; cout 小写字母个数是:bendl; cout 空格个数是: cendl; cout 数字字符个数是:dendl; cout 其他字符个数是:eendl; 5. 编写程序实现:将输入的任一字符串中的大写字母替换为小写字母。#include void main() char s50; int i; cout=A&si=Z) si+=32; cout 替换后的字符串是:nsendl; 名师资料总结 - - -精品资料欢迎下载 - - -
24、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 16 页 - - - - - - - - - 13 实验八指针(一)1. 编写程序实现:从键盘输入10 个整数,使用指针完成对输入数据中所有奇数求和得操作,并输出计算结果。方法一:#include void main() int a10,*p=a,i,sum=0; coutPlease input 10 integers:n; for(i=0;ipi; if(pi%2) sum+=pi; coutsum=sumendl; 方法二:#include void main() in
25、t a10,*p=a,i,sum=0; coutPlease input 10 integers:n; for(;p*p; if(*p%2) sum+=*p; coutsum=sumendl; 2. 编写程序实现:将从键盘输入的两个字符串连接起来(不用strcat函数),输出连接结果。要求使用指针完成。#include void main() char s1100,s250,*p,*q; cout 请输入第一个串:n; cin.getline(s1,100); cout 请输入第二个串:n; cin.getline(s2,50); for(p=s1;*p!=0;p+); for(q=s2;*q
26、!=0;q+) *p+=*q; *p=0; cout 连接后的串是:ns1endl; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 16 页 - - - - - - - - - 14 3. 编写程序实现:将从键盘输入的字符串逆向输出。要求使用指针完成。#include #include void main() char s100,*p,*q,t; cout 请输入一个串:n; cin.getline(s,100); for(p=s,q=s+strlen(s)-1;pq
27、;p+,q-) t=*p; *p=*q; *q=t; cout 逆序存储的串是:nsendl; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 16 页 - - - - - - - - - 15 实验九指针(二)1. 编写程序实现:按英文字典排列顺序对从键盘输入的若干个字符串进行从大到小排序,输出排序结果。要求使用指针数组处理。方法一:#include #include const int N=5; void main() char sN20,*pN,t20; int
28、i,j; cout 请输入 N个串: n; for(i=0;iN;i+) pi=si; cin.getline(pi,20); for(i=0;iN-1;i+) for(j=0;jN-1-i;j+) if(strcmp(pj,pj+1)0) strcpy(t,pj); strcpy(pj,pj+1); strcpy(pj+1,t); cout 排序后的串是:n; for(i=0;iN;i+) coutpiendl; 方法二:#include #include const int N=5; void main() char sN20,*pN,*t; int i,j; cout 请输入 N个串:
29、n; for(i=0;iN;i+) pi=si; cin.getline(pi,20); for(i=0;iN-1;i+) for(j=0;jN-1-i;j+) if(strcmp(pj,pj+1)0) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 16 页 - - - - - - - - - 16 t=pj; pj=pj+1; pj+1=t; cout 排序后的串是:n; for(i=0;iN;i+) coutpiendl; 2. 编写程序实现:使用二级指针对任一二
30、维数组的元素求和,并输出计算结果。#include const int M=3,N=4; void main() int aMN,*pM,*q,sum=0; int i,j; for(i=0;iM;i+) pi=ai; q=p; cout 请输入 M行N列数组元素的值:n; for(i=0;iM;i+) for(j=0;jqij; sum+=*(*(q+i)+j); /qij,*(qi+j), /pij,*(pi+j),*(*(p+i)*j),aij,*(ai+j),*(*(a+i)+j) cout 元素之和是: sumendl; 3. 编写程序实现:当输入整数112(月份号)时,输出该月的英
31、文名称,输入其它整数时结束程序。例如输入“ 4” ,则输出“ April” ,输入“ 0” ,则结束程序。要求使用指针数组处理。#include void main() char *p12=January,February,March,April,May,June,July,August, September,October,November,December; int i; while(1) couti; if(i12) break; coutpi-1endl; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 16 页 - - - - - - - - -