C语言程序设计经典体型.docx
- 文档编号:3729673
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:16
- 大小:19.93KB
C语言程序设计经典体型.docx
《C语言程序设计经典体型.docx》由会员分享,可在线阅读,更多相关《C语言程序设计经典体型.docx(16页珍藏版)》请在冰豆网上搜索。
C语言程序设计经典体型
《C语言程序设计》
一、顺序结构程序设计
4、输入一个三位整数,拆分并打印出每位数。
例:
输入123,打印:
123的各位数字为1,2,3
#include
voidmain()
{
intn,nn,a,b,c;
scanf("%d",&n);
c=n%10;
nn=n/10;
b=nn%10;
a=nn/10;
printf("%d%d%d",a,b,c);
}
二、选择结构程序设计
1、输入两个整数,比较并打印它们。
例:
86打印:
8>6
#include
voidmain()
{
intx,y;
scanf("%d%d",&x,&y);
if(x>y)printf("%d>%d",x,y);
elseif(x elseif(x==y)printf("%d=%d",x,y); } 2、输入一个整数打印其绝对值。 例: 如输入5,打印: |5|=5 /xx<1 Y=|2x-11<=x<10 \3x-11x>=10 第4题 如输入-8,打印: |-8|=8 #include voidmain() { intx; scanf("%d",&x); if(x>=0)printf("|x|=%d",x); elseif(x<0)printf("|x|=%d",-x); } 3、输入一个整数,判断它是奇数还是偶数。 例: 如输入7,打印: 7是奇数 输入6,打印: 6是偶数 #include voidmain() { intx; scanf("%d",&x); if(x%2==0)printf("%d是偶数",x); elseif(x%2==1)printf("%d是奇数",x); } 4、输入整数X,计算并打印Y。 #include voidmain() { intx,y; scanf("%d",&x); if(x<1)y=x; elseif(x<10) y=2*x-1; else y=3*x-11; printf("x=%d,y=%d\n",x,y); } 5、输入一个字符,若为小写字母,则将其转换为大写并打印,若不为小字母则直接打印。 例: 输入d,打印: D 输入8,打印: 8 #include voidmain() {charch; ch=getchar(); if(ch>='a'&&ch<='z') {ch=ch-32;} putchar(ch); } 6、输入一个整数(取值为1、2、3、4之一),分别打印“春”、“夏”、“秋”、“冬”。 输入整数不在此范围,则打印“输入错误”。 例: 输入3,打印: 现在是秋季 输入6,打印: 输入错误。 #include voidmain() {intn; scanf("%d",&n); switch(n) {case1: printf("现在是春天\n");break; case2: printf("现在是夏天\n");break; case3: printf("现在是秋天\n");break; case4: printf("现在是冬天\n");break; default: printf("error\n"); }} 7、输入学生分数(0至100分),打印成绩的等级。 (注: 90-100为‘A’,80-89为‘B’,70-79为‘C’,60-69为‘D’,0-59为‘E’) #include voidmain() { intstore; scanf("%d",&store); switch(store/10) {case10: case9: printf("等级为A\n");break; case8: printf("等级为B\n");break; case7: printf("等级为C\n");break; case6: printf("等级为D\n");break; case5: case4: case3: case2: case1: case0: printf("等级为E\n");break; default: printf("error\n"); }} *8、编程实现两个实数的四则运算,如输入: 4*2.5,则打印: 4*2.5=10。 要注意分母为零的情况,以及运算符不是“+-*/”的情况。 #include voidmain() {floatnum1,num2; charop; scanf("%f%c%f",&num1,&op,&num2); switch(op) { case'+': printf("%f%c%f=%f\n",num1,op,num2,num1+num2);break; case'-': printf("%f%c%f=%f\n",num1,op,num2,num1-num2);break; case'*': printf("%f%c%f=%f\n",num1,op,num2,num1*num2);break; case'/': if(num2! =0) { printf("%f%c%f=%f\n",num1,op,num2,num1/num2); } else {printf("除数为0! \n");}break; default: printf("运算符错误! \n");break; }} *9、输入年份和月份,打印某年某月的天数。 #include voidmain() { intyear,month,days; scanf("%d%d",&year,&month); switch(month) { case1: case3: case5: case7: case8: case10: case12: days=31;break; case4: case6: case9: case11: days=30;break; case2: days=28;if((year%4==0&&year%100! =0)||year%400==0)days=29;break; default: printf("error\n"); }printf(“%d%dis%ddays\n”,year,month,days); } 三、循环结构程序设计(共13题) 1、打印出S=1+1/3+1/5+…+1/99。 #include voidmain() { inti; floatj,s; for(i=1,s=0;i<=50;i++) { j=1.0/(2*i-1); s=s+j; j++ } printf(“%f”,s);} 2、打印‘A’至‘Z’,其中不包含‘P’。 voidmain() {inti; for(i=1;i<=26;i++) {if(i+64==’P’)continue; printf(“%c”,i+64);/’A’is65 }} 3、打印200、199…3、2、1,分别使用递增循环和递减循环各1次。 #include voidmain() { inti; i=1; while(i<=200) { printf(“%d”,i);i++;} i--;while(i>=1) {printf(“%d”,i);i--;} } 4、打印5、10、15…,共打印30项,每行10个数。 #include voidmain() { inti,j=0;i=5;while(i<=150) {printf(“%d”,i);i+=5;j++; if(j%10==0){printf(“\n”);}}} 5、求1-2+3-4+….-100之和。 #include voidmain() { inti,sum; i=0;sum=0; while(i<=100) { if(i%2==0)sum=sum-i; elsesum=sum+i;i++;} printf(“sum=%d\n”,sum); } 8、有10圆,其半径分别为1.0,1.5,2.0,....5.5,打印每个圆的面积,以及面积之和。 #include voidmain() { floatr,s,x; r=1.0;x=0; while(r<=5.5) {s=3.14*r*r;r+=0.5;printf(“%f\n”,s);x=x+s;} printf(“%f”,x);} ******* ***** *** * 第10题 9、输入一个整数x,判断它是否是素数。 #include"stdio.h" voidmain() { inti,x; scanf(“%d”,&x); i=2; while(i { if(x%i==0)break; i++; if(i>=x) printf(“%d是素数\n”,x); elseprintf(“%d不是素数”,x); } 10、打印倒三角形图案,其行数从键盘输入。 #include"stdio.h" voidmain() { inti=1,k,j; scanf(“%d”,&j); while(i {k=1; while(k<=i-1) { printf(""); k++; } k=1; while(k<=2*j-1) {printf("*"); k++; } 12、从键盘输入10个整数,统计正数、负数和零各有几个数。 #include"stdio.h" voidmain() { inta,b,c,x,i; i=1; while(i<=10) { scanf(“%d”,&x); if(x>0) a=a+1; elseif(x<0)b=b+1; elsec=c+1; } pintf(“正数有%d个负数有%d个零有%d个”,a,b,c); } 四、数组程序设计(共15题) 2、键盘输入8个整数,计算第1个、第3个..第7个数之和并输出。 #include voidmain() { inta[8],i,sum=0; for(i=0;i<8;i++) { scanf("%d",&a[i]); if(i%2==0) sum=sum+a[i]; } printf("sum=%d\n",sum); } 3、键盘输入8个整数,求它们中奇数的个数和偶数的个数并输出。 #include voidmain() { inta[8],i,c=0,b=0; for(i=0;i<8;i++) { scanf("%d",&a[i]); if(a[i]%2==0) b=b+1; if(a[i]%2==1) c=c+1; } printf("%d%d",c,b); } 4、键盘输入8个整数,逆序存储它们,并输出各元素。 #include voidmain() { inta[8],i,t; for(i=0;i<8;i++) { printf("a[%d]=? ",i); scanf("%d",&a[i]); } for(i=0;i<4;i++) {t=a[i];a[i]=a[7-i];a[7-i]=t;} for(i=0;i<8;i++) printf("%d\t",a[i]); } 5、键盘输入8个整数,从中查找整数10,若找到则打印其位置(可能有多个10),找不到打印“没有10”。 6、键盘输入8个整数代表8个学生的某门课成绩,打印各分数段等级的人数(注: 90-100为‘A’,80-89为‘B’,70-79为‘C’,60-69为‘D’,0-59为‘E’)。 9、编写一个函数len(chars[]),其功能是返回字符串s的长度。 intlen(chars[]) { inti=0; while(s[i]! ='\0') { i++; } returni; } 10、输入一个长度不超过20的字符串,统计其中数字字符的个数。 #include voidmain() { chars[20]; inti,c=0; printf("Enterastring,#end: \n"); //gets(s); for(i=0;i<20;i++) { scanf("%c",&s[i]); if(s[i]=='#') { s[i]=0; break; } } i=0; while(s[i]! ='\0') { if(s[i]>='0'&&s[i]<='9') c++; i++; } printf("%shas%dnum.\n",s,c); } 五、结构体程序设计(共4题) 1、有3位同学参加了三门课的考试,请将学生信息输入并打印出来。 学生信息包括学号、姓名、三门课的成绩,其中学号、姓名为字符串。 #include voidmain() {structstudent {charnum[6]; charname[8]; intcj1,cj2,cj3; }; structstudentxs[3]; inti=0; //intzongf[3]; printf("NumNamecj1cj2cj3: \n"); while(i<3) { scanf("%s%s",xs[i].num,xs[i].name); scanf("%d%d%d",&xs[i].cj1,&xs[i].cj2,&xs[i].cj3); i++; } for(i=0;i<3;i++) {printf("Xs[%d]: Num=%sName=%scj1=%dcj2=%dcj3=%d\n", i+1,xs[i].num,xs[i].name,xs[i].cj1,xs[i].cj2,xs[i].cj3); } } 2、有3位同学参加了三门课的考试,请计算每位学生的总分和平均分并打印。 已知学生信息包括学号、姓名、三门课的成绩。 数据如下: (使用结构体数组初始化方法) 计0900-20张三788990 计0900-21李四856192 计0900-21王王778890 #include voidmain() {structstudent {charnum[10]; charname[8]; intcj1,cj2,cj3; }; structstudentxs[3]= {{"计0900-20","张三",78,89,90},{"计0900-21","李四",85,61,92}, {"计0900-21","王五",77,88,90}}; inti=0; intzongf[3]={0,0,0}; printf("学号姓名成绩1成绩2成绩3总分平均: \n"); for(i=0;i<3;i++) { zongf[i]=xs[i].cj1+xs[i].cj2+xs[i].cj3; printf("%4s%8s%4d%4d%4d%4d%6.2f\n", xs[i].num,xs[i].name,xs[i].cj1,xs[i].cj2, xs[i].cj3,zongf[i],zongf[i]/3.0); } } 3、接2题,打印出平均分大于或等于80分的同学的信息。 #include voidmain() {structstudent {charnum[10]; charname[8]; intcj1,cj2,cj3; }; structstudentxs[3]= {{"计0900-20","张三",78,89,90},{"计0900-21","李四",85,61,92}, {"计0900-21","王五",77,88,90}}; inti=0; intzongf[3]={0,0,0}; printf("学号姓名成绩1成绩2成绩3总分平均: \n"); for(i=0;i<3;i++) { zongf[i]=xs[i].cj1+xs[i].cj2+xs[i].cj3; if(zongf[i]/3.0>=80) printf("%4s%8s%4d%4d%4d%4d%6.2f\n", xs[i].num,xs[i].name,xs[i].cj1,xs[i].cj2, xs[i].cj3,zongf[i],zongf[i]/3.0); } } 4、接2题,输入学生姓名,查找其信息,如查到则打印其信息,查不到打印“无此学生”。 #include #include voidmain() {structstudent {charnum[6]; charname[8]; intcj1,cj2,cj3; }; structstudentxs[3]= {{"20","Zhang3",78,89,90},{"21","Li4",85,61,92}, {"21","Wang5",77,88,90}}; inti=0; intzongf[3]={0,0,0}; intfind=0; charname[8]; printf("Name=\n"); gets(name); for(i=0;i<3;i++) { zongf[i]=xs[i].cj1+xs[i].cj2+xs[i].cj3; if(strcmp(name,xs[i].name)==0)//字符串的比较 { find=1; printf("学号姓名成绩1成绩2成绩3总分平均: \n"); printf("%4s%8s%4d%4d%4d%4d%6.2f\n", xs[i].num,xs[i].name,xs[i].cj1,xs[i].cj2, xs[i].cj3,zongf[i],zongf[i]/3.0); } } if(find==0) printf("查无此人\n"); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 经典 体型