计算机对口单招c语言程序整理.docx
- 文档编号:23387551
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:36
- 大小:24.34KB
计算机对口单招c语言程序整理.docx
《计算机对口单招c语言程序整理.docx》由会员分享,可在线阅读,更多相关《计算机对口单招c语言程序整理.docx(36页珍藏版)》请在冰豆网上搜索。
计算机对口单招c语言程序整理
计算机对口单招c语言程序整理
1.输出1-100之间的所有的素数
#include
main()
{
inti,n;
n=2;
while(++n<100)
{i=1;
while(++i if(n%i==0) break; if(i==n) printf("%d\n",n); } } 2.输出100-200之间的不能被3整除的数 #include main() { intn; for(n=100;n<=200;n++) {if(n%3==0) continue; printf("%d\n",n); } } 3.打印九九表 #include main() {inti,j; for(i=1;i<10;i++) for(i=1;i<10;i++) {for(j=1;j<10;j++) printf("%4d",i*j); printf("\n"); } getch(); } 4.打印九九乘法表 #include main() {inti,j; for(i=1;i<10;i++) {for(j=1;j<10;j++) printf("%d*%d=%2d",i,j,i*j); printf("\n"); } getch(); } 5.求不同半径的圆柱体的体积(只计算体积在100以下的圆柱体) #include #definePI3.1415926 main() {intr; floatv,h; printf("请输入圆柱体的高: "); scanf("%f",&h); for(r=1;r<=10;r++) { v=PI*r*r*h; if(v>100.0)break; printf("半径等于%d,体积等于%.2f\n",r,v); } printf("此时r=%d\n",r);} 6.输出50~100之间所有不能被7整除的数 #include main() { intnum; for(num=50;num<=100;num++) { if(num%7! =0) continue; printf("%d\n",num); } } 7.判断一个数是否为素数 #include #include main() { intnum,j,tag=1,m; printf("请输入一个自然数: "); scanf("%d",&num); m=sqrt(num); for(j=2;j<=m;j++) if(num%j==0) { tag=0; break; } if(tag==0) printf("%d是素数\n",num); else printf("%d不是素数\n",num); } 8.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数? 都是多少? main() { inti,j,k; printf("\n"); for(i=1;i<5;i++) /*以下为三重循环*/ for(j=1;j<5;j++) for(k=1;k<5;k++) { if(i! =k&&i! =j&&j! =k)/*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } } 9.输入某年某月某日,判断这一天是这一年的第几天? main() { intday,month,year,sum,leap; printf("\npleaseinputyear,month,day\n"); scanf("%d,%d,%d",&year,&month,&day); switch(month)/*先计算某月以前月份的总天数*/ { case1: sum=0;break; case2: sum=31;break; case3: sum=59;break; case4: sum=90;break; case5: sum=120;break; case6: sum=151;break; case7: sum=181;break; case8: sum=212;break; case9: sum=243;break; case10: sum=273;break; case11: sum=304;break; case12: sum=334;break; default: printf("dataerror");break; } sum=sum+day; /*再加上某天的天数*/ if(year%400==0||(year%4==0&&year%100! =0))/*判断是不是闰年*/ leap=1; else leap=0; if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++; printf("Itisthe%dthday.",sum);} 10.输入三个整数x,y,z,请把这三个数由小到大输出。 main() { intx,y,z,t; scanf("%d%d%d",&x,&y,&z); if(x>y) {t=x;x=y;y=t;}/*交换x,y的值*/ if(x>z) {t=z;z=x;x=t;}/*交换x,z的值*/ if(y>z) {t=y;y=z;z=t;}/*交换z,y的值*/ printf("smalltobig: %d%d%d\n",x,y,z); } 11.斐波那契数列() main() { longf1,f2; inti; f1=f2=1; for(i=1;i<=20;i++) {printf("%12ld%12ld",f1,f2); if(i%2==0)printf("\n");/*控制输出,每行四个*/ f1=f1+f2;/*前两个月加起来赋值给第三个月*/ f2=f1+f2;/*前两个月加起来赋值给第三个月*/ } } 12.判断101-200之间有多少个素数,并输出所有素数。 #include"math.h" main() { intm,i,k,h=0,leap=1; printf("\n"); for(m=101;m<=200;m++) {k=sqrt(m+1); for(i=2;i<=k;i++) if(m%i==0) {leap=0;break;} if(leap){printf("%-4d",m);h++; if(h%10==0) printf("\n"); } leap=1; } printf("\nThetotalis%d",h); } 13.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。 例如: 153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 main() { inti,j,k,n; printf("'waterflower'numberis: "); for(n=100;n<1000;n++) { i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) { printf("%-5d",n); } } printf("\n"); } 14.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 #include"stdio.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); } 16.有一分数序列: 2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 main() { intn,t,number=20; floata=2,b=1,s=0; for(n=1;n<=number;n++) { s=s+a/b; t=a;a=a+b;b=t;/*这部分是程序的关键,请读者猜猜t的作用*/ } printf("sumis%9.6f\n",s); } 17.求1+2! +3! +...+20! 的和 main() { floatn,s=0,t=1; for(n=1;n<=20;n++) { t*=n; s+=t; } printf("1+2! +3! ...+20! =%e\n",s); } 18.打印出辉三角形(要求打印出10行如下图) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 main() {inti,j; inta[10][10]; printf("\n"); for(i=0;i<10;i++) {a[i][0]=1; a[i][i]=1;} for(i=2;i<10;i++) for(j=1;j a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<10;i++) {for(j=0;j<=i;j++) printf("%5d",a[i][j]); printf("\n"); } } 19.找出10个学生中成绩低于平均成绩的人数并输出 #include main() { inti,count=0; floatscores[10],ave=0; for(i=0;i<10;i++) { scanf("%f",&scores[i]); ave+=scores[i]; } ave/=10; for(i=0;i<10;i++) if(scores[i] count++; printf("%d",count); } 20.输入5个学生的3门课程成绩,求每个学生的平均成绩和每门的平均成绩 #include main() { floatscores[5][3],avestu[5],avecourse[3]; inti,j; printf("inputscores: \n"); for(i=0;i<5;i++) for(j=0;j<3;j++) scanf("%f",&scores[i][j]); for(i=0;i<5;i++) {avestu[i]=0; for(j=0;j<3;j++) avestu[i]+=scores[i][j]; avestu[i]/=3; } for(i=0;i<3;i++) {avecourse[i]=0; for(j=0;j<5;j++) avecourse[i]+=scores[i][j]; avecourse[i]/=5; } printf("everyaverageofstudent: \n"); for(i=0;i<5;i++) printf("%8.2f",avestu[i]); printf("everyaverageofcourse: \n"); for(i=0;i<3;i++) printf("%8.2f",avecourse[i]); } 21.求出一组10个数据中的最大值和最小值 #include main() { inta[10],i,max,min; for(i=0;i<10;i++) scanf("%d",&a[i]); max=a[0]; min=a[0]; for(i=1;i<10;i++) { if(a[i]>max) max=a[i]; if(a[i] min=a[i]; } printf("max=%d,min=%d",max,min); } 22.有一行文字不超过20个字符,统计其中大写字母,小写字母,数字字符和各类标点符号的个数 #include #include main() { charch[20]; inta[4],i,n; gets(ch); n=strlen(ch); for(i=0;i { if(ch[i]>='A'&&ch[i]<'z') a[0]++; elseif(ch[i]>='a'&&ch[i]<'z') a[1]++; elseif(ch[i]>='0'&&ch[i]<'9') a[2]++; else a[3]++; } printf("%d",a[i]); } 23.将20个学生的体重分成若干组,统计其中各组人数,假设体重围48-87千克,且分为8各组。 #include main() { Chara[20]={48,65,49,75,52,61,49,84,79,56,57,54,65,65,68,68,71,70,80,85}; ints[8],i,k; for(i=0;i<8;i++) s[i]=0; for(i=0;i<20;i++) { k=(a[i]-48)/5; s[k]++; } for(i=0;i<8;i++) printf("%d~%d%d\t",(48+i*5),(52+i*5),s[i]); } 24.顺序比较法排序 将六个数3,9,4,6,7,1按由小到大的顺序排列起来 #include main() { inta[6]={3,9,4,6,7,1}; inti,j,t; for(i=0;i<=4;i++) for(j=i+1;j<=5;j++) if(a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } for(i=0;i<=5;i++) printf("%d",a[i]); } 25.选择法排序 将六个数3,9,4,6,7,1按由小到大的顺序排列起来 #include main() { inta[6]={3,9,4,6,7,1}; inti,j,t,p; for(i=0;i<=4;i++) { p=i; for(j=i+1;j<=5;j++) if(a[p]>a[j]) p=j; if(p! =i) { t=a[i]; a[i]=a[p]; a[p]=t; } } for(i=0;i<=5;i++) printf("%d",a[i]); } 26.冒泡法排序 将六个数3,9,4,6,7,1按由小到大的顺序排列起来 #include main() { inta[6]={3,9,4,6,7,1}; inti,j,t,p; for(i=0;i<=4;i++) for(j=0;j<=4-i;j++) if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } for(i=0;i<=5;i++) printf("%d",a[i]); } 27.插入法排序 将六个数3,9,4,6,7,1按由小到大的顺序排列起来 #include main() { inta[6]={3,9,4,6,7,1}; inti,j,k,x; for(i=1;i<=5;i++) { x=a[i]; for(j=0;j<=i-1;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 对口 语言 程序 整理