[其它课程]计算机对口单招c语言程序整理_第1页
[其它课程]计算机对口单招c语言程序整理_第2页
[其它课程]计算机对口单招c语言程序整理_第3页
[其它课程]计算机对口单招c语言程序整理_第4页
[其它课程]计算机对口单招c语言程序整理_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.计算机对口单招c语言程序整理1.输出1-100之间的所有的素数#include <stdio.h>main()int i,n;n=2;while(+n<100) i=1;while (+i<n)if(n%i=0)break;if(i=n)printf("%dn",n);2. 输出100-200之间的不能被3整除的数#include <stdio.h>main()int n;for (n=100;n<=200;n+) if(n%3=0)continue;printf("%dn",n);3. 打印九九表#inclu

2、de <stdio.h>main() int i,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 <stdio.h>main() int i,j;for (i=1;i<10;i+) for(j=1;j<10;j+)printf("%d*%d=%2d ",i,j,i*j);printf("n")

3、;getch();5.求不同半径的圆柱体的体积(只计算体积在100以下的圆柱体)#include <stdio.h>#define PI 3.1415926main()int r;float v,h;printf("请输入圆柱体的高:");scanf("%f",&h);for (r=1;r<=10;r+)v=PI*r*r*h;if(v>100.0) break;printf("半径等于%d,体积等于%.2fn",r,v);printf("此时r=%dn",r);6.输出50100之间

4、所有不能被7整除的数#include <stdio.h>main()int num;for(num=50;num<=100;num+)if (num%7!=0)continue;printf("%dn",num);7.判断一个数是否为素数#include <stdio.h>#include <math.h>main()int num,j,tag=1,m;printf("请输入一个自然数:");scanf("%d",&num);m=sqrt(num);for(j=2;j<=m;j+

5、)if(num%j=0)tag=0;break;if(tag=0)printf("%d 是素数n",num);elseprintf("%d 不是素数n",num);8. 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?main()int i,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三位互不

6、相同*/ printf("%d,%d,%dn",i,j,k); 9. 输入某年某月某日,判断这一天是这一年的第几天?main()int day,month,year,sum,leap;printf("nplease input year,month,dayn");scanf("%d,%d,%d",&year,&month,&day);switch(month)/*先计算某月以前月份的总天数*/ case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;brea

7、k; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:printf("data error");break;sum=sum+day; /*再加上某天的天数*/ if(year%400=0|(year%4=0&am

8、p;&year%100!=0)/*判断是不是闰年*/ leap=1; else leap=0;if(leap=1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/sum+;printf("It is the %dth day.",sum);10. 输入三个整数x,y,z,请把这三个数由小到大输出。main()int x,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

9、;x=t;/*交换x,z的值*/if(y>z)t=y;y=z;z=t;/*交换z,y的值*/printf("small to big: %d %d %dn",x,y,z);11. 斐波那契数列()main()long f1,f2;int i;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; /*前两个月加起来赋值给第

10、三个月*/ 12. 判断101-200之间有多少个素数,并输出所有素数。#include "math.h"main() int m,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("nThe tota

11、l is %d",h);13. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为153=1的三次方5的三次方3的三次方。main()int i,j,k,n;printf("'water flower'number is:"); 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(&qu

12、ot;%-5d",n); printf("n");14. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。#include "stdio.h"main()char c; int letters=0,space=0,digit=0,others=0; printf("please input some charactersn"); while(c=getchar()!='n') if(c>='a'&&c<='z'|c>='

13、;A'&&c<='Z') letters+; else if(c=' ') space+; else if(c>='0'&&c<='9') digit+; else others+;printf("all in all:char=%d space=%d digit=%d others=%dn",letters,space,digit,others);16. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20项之和。m

14、ain()int n,t,number=20;float a=2,b=1,s=0;for(n=1;n<=number;n+) s=s+a/b; t=a;a=a+b;b=t;/*这部分是程序的关键,请读者猜猜t的作用*/ printf("sum is %9.6fn",s);17. 求1+2!+3!+.+20!的和main()float n,s=0,t=1;for(n=1;n<=20;n+) t*=n; s+=t; printf("1+2!+3!.+20!=%en",s);18. 打印出杨辉三角形(要求打印出10行如下图) 1 1 1 1 2 1

15、 1 3 3 1 1 4 6 4 1 1 5 10105 1 main()int i,j;int a1010;printf("n");for(i=0;i<10;i+) ai0=1; aii=1;for(i=2;i<10;i+) for(j=1;j<i;j+) aij=ai-1j-1+ai-1j;for(i=0;i<10;i+) for(j=0;j<=i;j+) printf("%5d",aij); printf("n"); 19.找出10个学生中成绩低于平均成绩的人数并输出#include <std

16、io.h>main()int i,count=0;float scores10,ave=0;for(i=0;i<10;i+)scanf("%f",&scoresi);ave+=scoresi;ave/=10;for (i=0;i<10;i+)if (scoresi<ave)count+;printf("%d",count);20.输入5个学生的3门课程成绩,求每个学生的平均成绩和每门的平均成绩#include <stdio.h>main()float scores53,avestu5,avecourse3;in

17、t i,j;printf("input scores:n");for(i=0;i<5;i+)for(j=0;j<3;j+)scanf("%f",&scoresij);for(i=0;i<5;i+) avestui=0; for(j=0;j<3;j+) avestui+=scoresij; avestui/=3;for(i=0;i<3;i+) avecoursei=0; for(j=0;j<5;j+) avecoursei+=scoresij; avecoursei/=5;printf("every a

18、verage of student:n");for(i=0;i<5;i+)printf("%8.2f",avestui);printf("every average of course:n");for(i=0;i<3;i+)printf("%8.2f",avecoursei);21.求出一组10个数据中的最大值和最小值#include <stdio.h>main()int a10,i,max,min;for(i=0;i<10;i+)scanf("%d",&ai);ma

19、x=a0;min=a0;for(i=1;i<10;i+)if(ai>max)max=ai;if(ai<min)min=ai;printf("max=%d,min=%d",max,min);22.有一行文字不超过20个字符,统计其中大写字母,小写字母,数字字符和各类标点符号的个数#include <stdio.h>#include <string.h>main()char ch20;int a4,i,n;gets(ch);n=strlen(ch);for(i=0;i<n;i+)if(chi>='A'&

20、;&chi<'z')a0+;else if(chi>='a'&&chi<'z')a1+;else if(chi>='0'&&chi<'9')a2+;else a3+;printf("%d ",ai);23.将20个学生的体重分成若干组,统计其中各组人数,假设体重范围48-87千克,且分为8各组。#include <stdio.h>main()Char a20=48,65,49,75,52,61,49,84,79,5

21、6,57,54,65,65,68,68,71,70,80,85;int s8,i,k;for(i=0;i<8;i+)si=0;for(i=0;i<20;i+)k=(ai-48)/5;sk+;for(i=0;i<8;i+)printf("%d%d %dt",(48+i*5),(52+i*5),si);24.顺序比较法排序将六个数3,9,4,6,7,1按由小到大的顺序排列起来#include <stdio.h>main()int a6=3,9,4,6,7,1;int i,j,t;for(i=0;i<=4;i+)for(j=i+1;j<=

22、5;j+)if(ai>aj)t=ai;ai=aj;aj=t;for(i=0;i<=5;i+)printf("%d",ai);25.选择法排序将六个数3,9,4,6,7,1按由小到大的顺序排列起来#include <stdio.h>main()int a6=3,9,4,6,7,1;int i,j,t,p;for(i=0;i<=4;i+)p=i;for(j=i+1;j<=5;j+)if(ap>aj)p=j;if (p!=i)t=ai;ai=ap;ap=t;for(i=0;i<=5;i+)printf("%d",

23、ai);26.冒泡法排序将六个数3,9,4,6,7,1按由小到大的顺序排列起来#include <stdio.h>main()int a6=3,9,4,6,7,1;int i,j,t,p;for(i=0;i<=4;i+)for(j=0;j<=4-i;j+)if(aj>aj+1)t=aj;aj=aj+1;aj+1=t;for(i=0;i<=5;i+)printf("%d",ai);27.插入法排序将六个数3,9,4,6,7,1按由小到大的顺序排列起来#include <stdio.h>main()int a6=3,9,4,6,7

24、,1;int i,j,k,x;for(i=1;i<=5;i+)x=ai;for(j=0;j<=i-1;j+)if(x<aj)break;for(k=i-1;k>=j;k-)ak+1=ak;aj=x;for(i=0;i<=5;i+)printf("%d",ai);28.顺序查找从键盘输入10个数,再输入x,判断是否是,是就输出位置#include <stdio.h>main()int a10;int x,i;for(i=0;i<10;i+)scanf("%d",&ai);scanf("%d&

25、quot;,&x);for(i=0;i<10;i+)if(ai=x)printf("%d",i);29.对半查找有一个数组有十个元素,已按照升序排序,今输入一个数x,要求查找是否为其中的数,对各种情况输出相应的信息,请用对半查找#include <stdio.h>main()int a10=10,11,12,13,14,15,16,17,18,19;int low=0,high=9,mid,x,f=0;scanf("%d",&x);while (f=0&&low<=high)mid=(low+hig

26、h)/2;if(x=amid)f=1;else if(x<amid)high=mid-1;else low=mid+1;if(f=0)printf("Nofind");elseprintf("a%d=%d",mid,amid);30.有三人的四门成绩分别按人的科目求平均成绩,并输出包括平均成绩的二维数组成绩表#include <stdio.h>main()int i,j;float s45;for(i=0;i<3;i+)for(j=0;j<4;j+)scanf("%f",&sij);for(i=0

27、;i<3;i+)si4=0;for(j=0;j<4;j+)si4+=sij;si4/=4.0;for(j=0;j<4;j+)s3j=0;for(i=0;i<3;i+)s3j+=sij;s3j/=3.0;s34=0;for(i=0;i<4;i+)s34+=s3i; s34/=4.0;for(i=0;i<4;i+) for(j=0;j<5;j+)printf("%2f",sij); printf("n");31.最大公约数和最小公倍数main()int r,m,n,temp,gec,lcm; printf(“plea

28、se input m,n:”); scanf(“%d,%d“,&m,&n); lcm=m; while(m%n!=0) r=m%n; m=n; n=r; gce=n; lcm=lcm/gcd; printf(“gcd=%d,lcm=%d”,gcd,lcm);32.输出19002000年中所有的润年。每输出三个年号换一行main()int i,n=; printf(“打印润年”); for (i=1990;i <=2000;i+) if (i%4=0&&i%100!=0|i%400=0) n+; if (n%3=0)printf(“n”); printf(“

29、%d”,i); 33.输入两个整数,按先大后小的的顺序输出 main() int *p1,*p2,*p,a,b;scanf(“%d,%d”,&a,&b);p1=&a;p2=&b;if(a<b) p=p1;p1=p2;p2=p;printf(“%d,%d”,a,b);printf(“max=%d,min=%d“,*p1,*p2);34.给出一百分制成绩,要求输出成绩等级A,B,C,D,E。90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。#include <stdio.h>main()float a;int b;pr

30、intf("请输入成绩");scanf("%f",&a);b=a/10;switch (b)case 1:case 2:case 3:case 4:case 5:printf("En");break;case 6:printf("Dn");break;case 7:printf("Cn");break;case 8:printf("Bn");break;case 9:case 10:printf("An");break;35.从键盘输入两个整数,从

31、小到大输出#include <stdio.h>main()int a,b;printf("请输入两个整数:");scanf("%d,%d",&a,&b);if (a>b)printf("%d,%d",b,a);elseprintf("%d,%d",a,b);36. 从键盘输入两个整数,输出其中的最大者#include <stdio.h>main()int a,b;printf("请输入两个整数:");scanf("%d,%d",&

32、amp;a,&b);if (a>b)printf("%d",a);elseprintf("%d",b);37. 从键盘上输入a,b,c 三个整数,输出其中的最小者#include <stdio.h>main()int a,b,c,d;printf("请输入三个整数:");scanf("%d,%d,%d",&a,&b,&c);d=a;if (d>b)d=b;if (d>c)d=c;printf("%d",d);38.利用if嵌套完成下列

33、程序Y= #include <stdio.h>main()int x,y;printf("请输入x的值");scanf("%d",&x);if(x<0)y=-1;else if(x>0) y=1;elsey=0;printf("%d",y);39.计算s1+2+100。(累加型)(方法一)#include <stdio.h>#include <conio.h>void main()int i=1,sum=0; clrscr(); while(i<=100) sum+=i;

34、i+; printf("1+2+3+.+100=%dn",sum);(方法二)#include <stdio.h>#include <conio.h>void main()int i,sum;clrscr(); for(i=1,sum=0;i<=100;i+) sum+=i; printf("1+2+3+.+100=%dn",sum);40.请输入数n,计算n!。(连乘型)(方法一)#include <stdio.h>#include <conio.h>void main()int i=1,n; lo

35、ng fac=1; clrscr(); scanf("%d",&n); while(i<=n) fac*=i; i+; printf("%d!=%ldn",n,fac);(方法二)#include <stdio.h>#include <conio.h>void main()int i,n; long fac; clrscr(); scanf("%d",&n); for(i=1,fac=1;i<=n;i+) fac*=i; printf("%d!=%ldn",n,f

36、ac);41.输出所有的水仙花数。(范围型)(方法一)#include <stdio.h>#include <conio.h>void main()int n=100,a,b,c; clrscr(); while(n<=999) a=n/100; b=n/10%10; c=n%10; if(a*a*a+b*b*b+c*c*c=n) printf("%6d",n); n+; printf("n");(方法二)#include <stdio.h>#include <conio.h>void main()i

37、nt n,a,b,c; clrscr(); for(n=100;n<=999;n+) a=n/100; b=n/10%10; c=n%10; if(a*a*a+b*b*b+c*c*c=n) printf("%6d",n); printf("n");42.判断n是否为素数。(反向思维型)(方法一)#include <stdio.h>#include <conio.h>void main()int n,i=2; clrscr(); scanf("%d",&n); while(i<=n-1) if

38、(n%i=0) break; i+; if(i>=n) printf("%d is a prime numbern",n); else printf("%d is not a prime numbern",n);(方法二)#include <stdio.h>#include <conio.h>void main()int n,i; clrscr(); scanf("%d",&n); for(i=2;i<=n-1;i+) if(n%i=0) break; if(i>=n) printf(

39、"%d is a prime numbern",n); else printf("%d is not a prime numbern",n);43.输出100-200之间能同时被3和5整除的数。(用continue语句)#include <stdio.h>#include <conio.h>void main()int i,k; clrscr();for(i=100,k=0;i<=200;i+)if(i%3!=0 | i%5!=0) continue; else if(k%5=0) printf("n")

40、; k+; printf("%6d",i);44.输入任意n个数,输出其中最大数和最小数,并输出它们在序列中的位置。#include<stdio.h>#include <conio.h>void main() int i,n,max_location=1,min_location=1; float x,max,min; clrscr(); printf("input n:"); scanf("%d",&n); /*输入数的个数*/  printf("input the fi

41、rst number :"); scanf("%f",&x); /*输入第一个数*/ max=min=x; /*假设第一个数既是最大数,也是最小数*/ for(i=2;i<=n;i+) /*从第二个数开始循环,所以i=2*/ printf("input the %dth number :",i);scanf("%f",&x);  if(x>max)  max=x; max_location=i; /*如果x>max,则赋给max,并记下位置*/  if(x<

42、;min)   min=x; min_location=i; /*如果x<min,则赋给mix,并记下位置*/  printf("nmax=%6.2f,max_location=%dn",max,max_location);printf("nmin=%6.2f,min_location=%dn",min,min_location);45.输出以下图形: * * * * * *#include<stdio.h>#include <conio.h>void main()int i,j; clrscr

43、(); for(i=1;i<=4;i+) for(j=1;j<=4-i;j+) printf(" "); for(j=1;j<=2*i-1;j+) printf("*"); printf("n"); for(i=3;i>=1;i-) for(j=1;j<=4-i;j+) printf(" "); for(j=1;j<=2*i-1;j+) printf("*"); printf("n"); 46.输出以下图形: 1 123 12345 123

44、4567123456789 1234567 12345 123 1#include<stdio.h>#include <conio.h>void main()int i,j; clrscr(); for(i=1;i<=5;i+) for(j=1;j<=5-i;j+) printf(" "); for(j=1;j<=2*i-1;j+) printf("%d",j); printf("n"); for(i=4;i>=1;i-) for(j=1;j<=5-i;j+) printf(&qu

45、ot; "); for(j=1;j<=2*i-1;j+) printf("%d",j); printf("n"); 47.输出以下图形: 1 121 12321 1234321123454321 1234321 12321 121 1#include<stdio.h>#include <conio.h>void main()int i,j; clrscr(); for(i=1;i<=5;i+) for(j=1;j<=5-i;j+) printf(" "); for(j=1;j<=i;j+) printf("%d",j); for(j=i-1;j>=1;j-) printf("%d",j); printf("n"); for(i=4;i>=1;i-) for(j=1;j<=5-i;j+) printf(" "); for(j=1;j<=i;j+) printf("%d",j); for(j=i-1;j>=1;j-) printf("%d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论