还剩30页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
计算机对口单招c语言程序整理
1.输出1-100之间的所有的素数#includestdio.h__in{intin;n=2;while++n100{i=1;while++inifn%i==0break;ifi==nprintf%d\nn;}}
2.输出100-200之间的不能被3整除的数#includestdio.h__in{intn;forn=100;n=200;n++{ifn%3==0continue;printf%d\nn;}}
3.打印九九表#includestdio.h__in{intij;fori=1;i10;i++fori=1;i10;i++{forj=1;j10;j++printf%4di*j;printf\n;}getch;}
4.打印九九乘法表#includestdio.h__in{intij;fori=1;i10;i++{forj=1;j10;j++printf%d*%d=%2diji*j;printf\n;}getch;}
5.求不同半径的圆柱体的体积(只计算体积在100以下的圆柱体)#includestdio.h#definePI
3.1415926__in{intr;floatvh;printf请输入圆柱体的高;scanf%fh;forr=1;r=10;r++{v=PI*r*r*h;ifv
100.0break;printf半径等于%d体积等于%.2f\nrv;}printf此时r=%d\nr;}
6.输出50~100之间所有不能被7整除的数#includestdio.h__in{intnum;fornum=50;num=100;num++{ifnum%7!=0continue;printf%d\nnum;}}
7.判断一个数是否为素数#includestdio.h#include__th.h__in{intnumjtag=1m;printf请输入一个自然数;scanf%dnum;m=sqrtnum;forj=2;j=m;j++ifnum%j==0{tag=0;break;}iftag==0printf%d是素数\nnum;elseprintf%d不是素数\nnum;}
8.有
1、
2、
3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?__in{intijk;printf\n;fori=1;i5;i++ /*以下为三重循环*/ forj=1;j5;j++ fork=1;k5;k++ { ifi!=ki!=jj!=k/*确保i、j、k三位互不相同*/ printf%d%d%d\nijk; }}
9.输入某年某月某日,判断这一天是这一年的第几天?__in{intdaymonthyearsumleap;printf\npleaseinputyearmonthday\n;scanf%d%d%dyearmonthday;switchmonth/*先计算某月以前月份的总天数*/{ 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:printfdataerror;break;}sum=sum+day; /*再加上某天的天数*/ ifyear%400==0||year%4==0year%100!=0/*判断是不是闰年*/ leap=1; else leap=0;ifleap==1month2/*如果是闰年且月份大于2总天数应该加一天*/sum++;printfItisthe%dthday.sum;}
10.输入三个整数xyz,请把这三个数由小到大输出__in{intxyzt;scanf%d%d%dxyz;ifxy{t=x;x=y;y=t;}/*交换xy的值*/ifxz{t=z;z=x;x=t;}/*交换xz的值*/ifyz{t=y;y=z;z=t;}/*交换zy的值*/printf__alltobig:%d%d%d\nxyz;}
11.斐波那契数列()__in{longf1f2;inti;f1=f2=1;fori=1;i=20;i++ {printf%12ld%12ldf1f2; ifi%2==0printf\n;/*控制输出,每行四个*/ f1=f1+f2;/*前两个月加起来赋值给第三个月*/ f2=f1+f2;/*前两个月加起来赋值给第三个月*/ }}
12.判断101-200之间有多少个素数,并输出所有素数#include__th.h__in{ intmikh=0leap=1; printf\n; form=101;m=200;m++ {k=sqrtm+1; fori=2;i=k;i++ ifm%i==0 {leap=0;break;} ifleap{printf%-4dm;h++; ifh%10==0 printf\n; } leap=1; } printf\nThetotalis%dh;}
13.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身例如153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方__in{intijkn;printfwaterflowernumberis:; forn=100;n1000;n++ { i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ ifi*100+j*10+k==i*i*i+j*j*j+k*k*k { printf%-5dn; } }printf\n;}
14.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数#includestdio.h__in{charc; intletters=0spa__=0digit=0others=0; printfpleaseinputsomecharacters\n; whilec=getchar!=\n { ifc=ac=z||c=Ac=Z letters++; elseifc== spa__++; elseifc=0c=9 digit++; else others++;}printfallinall:char=%dspa__=%ddigit=%dothers=%d\nlettersspa__digitothers;}
16.有一分数序列2/1,3/2,5/3,8/5,13/8,21/
13...求出这个数列的前20项之和__in{intntnumber=20;floata=2b=1s=0;forn=1;n=number;n++ { s=s+a/b; t=a;a=a+b;b=t;/*这部分是程序的关键,请读者猜猜t的作用*/ }printfsumis%
9.6f\ns;}
17.求1+2!+3!+...+20!的和__in{floatns=0t=1;forn=1;n=20;n++ { t*=n; s+=t; }printf1+2!+3!...+20!=%e\ns;}
18.打印出杨辉三角形(要求打印出10行如下图) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 __in{intij;inta
[10]
[10];printf\n;fori=0;i10;i++ {a[i]
[0]=1; a[i][i]=1;}fori=2;i10;i++ forj=1;ji;j++ a[i][j]=a[i-1][j-1]+a[i-1][j];fori=0;i10;i++ {forj=0;j=i;j++ printf%5da[i][j]; printf\n; }}
19.找出10个学生中成绩低于平均成绩的人数并输出#includestdio.h__in{inticount=0;floatscores
[10]__e=0;fori=0;i10;i++{scanf%fscores[i];__e+=scores[i];}__e/=10;fori=0;i10;i++ifscores[i]__ecount++;printf%dcount;}
20.输入5个学生的3门课程成绩,求每个学生的平均成绩和每门的平均成绩#includestdio.h__in{floatscores
[5]
[3]__estu
[5]__ecourse
[3];intij;printfinputscores:\n;fori=0;i5;i++forj=0;j3;j++scanf%fscores[i][j];fori=0;i5;i++{__estu[i]=0;forj=0;j3;j++__estu[i]+=scores[i][j];__estu[i]/=3;}fori=0;i3;i++{__ecourse[i]=0;forj=0;j5;j++__ecourse[i]+=scores[i][j];__ecourse[i]/=5;}printfevery__erageofstudent:\n;fori=0;i5;i++printf%
8.2f__estu[i];printfevery__erageofcourse:\n;fori=0;i3;i++printf%
8.2f__ecourse[i];}
21.求出一组10个数据中的最大值和最小值#includestdio.h__in{inta
[10]i__xmin;fori=0;i10;i++scanf%da[i];__x=a
[0];min=a
[0];fori=1;i10;i++{ifa[i]__x__x=a[i];ifa[i]minmin=a[i];}printf__x=%dmin=%d__xmin;}
22.有一行文字不超过20个字符,统计其中大写字母,小写字母,数字字符和各类标点符号的个数#includestdio.h#includestring.h__in{charch
[20];inta
[4]in;getsch;n=strlench;fori=0;in;i++{ifch[i]=Ach[i]za
[0]++;elseifch[i]=ach[i]za
[1]++;elseifch[i]=0ch[i]9a
[2]++;elsea
[3]++;}printf%da[i];}
23.将20个学生的体重分成若干组,统计其中各组人数,假设体重范围48-87千克,且分为8各组#includestdio.h__in{Chara
[20]={4865497552614984795657546565686871708085};ints
[8]ik;fori=0;i8;i++s[i]=0;fori=0;i20;i++{k=a[i]-48/5;s[k]++;}fori=0;i8;i++printf%d~%d%d\t48+i*552+i*5s[i];}
24.顺序比较法排序将六个数3,9,4,6,7,1按由小到大的顺序排列起来#includestdio.h__in{inta
[6]={394671};intijt;fori=0;i=4;i++forj=i+1;j=5;j++ifa[i]a[j]{t=a[i];a[i]=a[j];a[j]=t;}fori=0;i=5;i++printf%da[i];}
25.选择法排序将六个数3,9,4,6,7,1按由小到大的顺序排列起来#includestdio.h__in{inta
[6]={394671};intijtp;fori=0;i=4;i++{p=i;forj=i+1;j=5;j++ifa[p]a[j]p=j;ifp!=i{t=a[i];a[i]=a[p];a[p]=t;}}fori=0;i=5;i++printf%da[i];}
26.冒泡法排序将六个数3,9,4,6,7,1按由小到大的顺序排列起来#includestdio.h__in{inta
[6]={394671};intijtp;fori=0;i=4;i++forj=0;j=4-i;j++ifa[j]a[j+1]{t=a[j];a[j]=a[j+1];a[j+1]=t;}fori=0;i=5;i++printf%da[i];}
27.插入法排序将六个数3,9,4,6,7,1按由小到大的顺序排列起来#includestdio.h__in{inta
[6]={394671};intijkx;fori=1;i=5;i++{x=a[i];forj=0;j=i-1;j++ifxa[j]break;fork=i-1;k=j;k--a[k+1]=a[k];a[j]=x;}fori=0;i=5;i++printf%da[i];}
28.顺序查找从键盘输入10个数,再输入x,判断是否是,是就输出位置#includestdio.h__in{inta
[10];intxi;fori=0;i10;i++scanf%da[i];scanf%dx;fori=0;i10;i++ifa[i]==xprintf%di;}
29.对半查找有一个数组有十个元素,已按照升序排序,今输入一个数x,要求查找是否为其中的数,对各种情况输出相应的信息,请用对半查找#includestdio.h__in{inta
[10]={10111213141516171819};intlow=0high=9midxf=0;scanf%dx;whilef==0low=high{mid=low+high/2;ifx==a[mid]f=1;elseifxa[mid]high=mid-1;elselow=mid+1;iff==0printfNofind;elseprintfa[%d]=%dmida[mid];}}
30.有三人的四门成绩分别按人的科目求平均成绩,并输出包括平均成绩的二维数组成绩表#includestdio.h__in{intij;floats
[4]
[5];fori=0;i3;i++forj=0;j4;j++scanf%fs[i][j];fori=0;i3;i++{s[i]
[4]=0;forj=0;j4;j++s[i]
[4]+=s[i][j];s[i]
[4]/=
4.0;}forj=0;j4;j++{s
[3][j]=0;fori=0;i3;i++s
[3][j]+=s[i][j];s
[3][j]/=
3.0;}s
[3]
[4]=0;fori=0;i4;i++s
[3]
[4]+=s
[3][i];s
[3]
[4]/=
4.0;fori=0;i4;i++forj=0;j5;j++printf%2fs[i][j];printf\n;}
31.最大公约数和最小公倍数__in(){intr,m,n,temp,gec,lcm;printf(“pleaseinputm,n”);scanf(“%d,%d“,m,n);lcm=m;while(m%n!=0){r=m%n;m=n;n=r;}g__=n;lcm=lcm/__d;printf(“__d=%d,lcm=%d”,__d,lcm);}
32.输出1900——2000年中所有的润年每输出三个年号换一行__in(){inti,n=;printf(“打印润年”);for(i=1990;i=2000;i++){if(i%4==0i%100!=0||i%400==0)n++;if(n%3==0)printf(“\n”);printf(“%d”,i);}}
33.输入两个整数,按先大后小的的顺序输出__in{int*p1*p2*pab;scanf“%d%d”ab;p1=a;p2=b;ifab{p=p1;p1=p2;p2=p;}printf“%d%d”ab;printf“__x=%dmin=%d“,*p1,*p2;
34..给出一百分制成绩,要求输出成绩等级’A’’B’’C’’D’’E’90分以上为’A’,80-__分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’#includestdio.h__in{floata;intb;printf请输入成绩;scanf%fa;b=a/10;switchb{case1:case2:case3:case4:case5:printfE\n;break;case6:printfD\n;break;case7:printfC\n;break;case8:printfB\n;break;case9:case10:printfA\n;break;}}
35.从键盘输入两个整数,从小到大输出#includestdio.h__in{intab;printf请输入两个整数;scanf%d%dab;ifabprintf%d%dba;elseprintf%d%dab;}
36.从键盘输入两个整数,输出其中的最大者#includestdio.h__in{intab;printf请输入两个整数;scanf%d%dab;ifabprintf%da;elseprintf%db;}
37.从键盘上输入abc三个整数,输出其中的最小者#includestdio.h__in{intabcd;printf请输入三个整数;scanf%d%d%dabc;d=a;ifdbd=b;ifdcd=c;printf%dd;}
38.利用if嵌套完成下列程序Y=#includestdio.h__in{intxy;printf请输入x的值;scanf%dx;ifx0y=-1;elseifx0y=1;elsey=0;printf%dy;}
39.计算s=1+2+…+100(累加型)(方法一)#includestdio.h#includeconio.hvoid__in{inti=1sum=0;clrscr;whilei=100{sum+=i;i++;}printf1+2+3+...+100=%d\nsum;}(方法二)#includestdio.h#includeconio.hvoid__in{intisum;clrscr;fori=1sum=0;i=100;i++sum+=i;printf1+2+3+...+100=%d\nsum;}
40.请输入数n,计算n!(连乘型)(方法一)#includestdio.h#includeconio.hvoid__in{inti=1n;longfac=1;clrscr;scanf%dn;whilei=n{fac*=i;i++;}printf%d!=%ld\nnfac;}(方法二)#includestdio.h#includeconio.hvoid__in{intin;longfac;clrscr;scanf%dn;fori=1fac=1;i=n;i++fac*=i;printf%d!=%ld\nnfac;}
41.输出所有的水仙花数(范围型)(方法一)#includestdio.h#includeconio.hvoid__in{intn=100abc;clrscr;whilen=999{a=n/100;b=n/10%10;c=n%10;ifa*a*a+b*b*b+c*c*c==nprintf%6dn;n++;}printf\n;}(方法二)#includestdio.h#includeconio.hvoid__in{intnabc;clrscr;forn=100;n=999;n++{a=n/100;b=n/10%10;c=n%10;ifa*a*a+b*b*b+c*c*c==nprintf%6dn;}printf\n;}
42.判断n是否为素数(反向思维型)(方法一)#includestdio.h#includeconio.hvoid__in{intni=2;clrscr;scanf%dn;whilei=n-1{ifn%i==0break;i++;}ifi=nprintf%disaprimenumber\nn;elseprintf%disnotaprimenumber\nn;}(方法二)#includestdio.h#includeconio.hvoid__in{intni;clrscr;scanf%dn;fori=2;i=n-1;i++{ifn%i==0break;}ifi=nprintf%disaprimenumber\nn;elseprintf%disnotaprimenumber\nn;}
43.输出100-200之间能同时被3和5整除的数用continue语句#includestdio.h#includeconio.hvoid__in{intik;clrscr;fori=100k=0;i=200;i++ifi%3!=0||i%5!=0continue;else{ifk%5==0printf\n;k++;printf%6di;}}
44.输入任意n个数,输出其中最大数和最小数,并输出它们在序列中的位置#includestdio.h#includeconio.hvoid__in{intin__x_location=1min_location=1;floatx__xmin;clrscr;printfinputn:;scanf%dn;/*输入数的个数*/ printfinputthefirstnumber:;scanf%fx;/*输入第一个数*/__x=min=x;/*假设第一个数既是最大数,也是最小数*/fori=2;i=n;i++/*从第二个数开始循环,所以i=2*/{printfinputthe%dthnumber:i;scanf%fx; ifx__x {__x=x;__x_location=i;}/*如果x__x,则赋给__x,并记下位置*/ ifxmin {min=x;min_location=i;}/*如果xmin,则赋给mix,并记下位置*/ }printf\n__x=%
6.2f__x_location=%d\n__x__x_location;printf\__in=%
6.2fmin_location=%d\nminmin_location;}
45.输出以下图形*************************#includestdio.h#includeconio.hvoid__in{intij;clrscr;fori=1;i=4;i++{forj=1;j=4-i;j++printf;forj=1;j=2*i-1;j++printf*;printf\n;}fori=3;i=1;i--{forj=1;j=4-i;j++printf;forj=1;j=2*i-1;j++printf*;printf\n;}}
46.输出以下图形11231234512345671234567__1234567123451231#includestdio.h#includeconio.hvoid__in{intij;clrscr;fori=1;i=5;i++{forj=1;j=5-i;j++printf;forj=1;j=2*i-1;j++printf%dj;printf\n;}fori=4;i=1;i--{forj=1;j=5-i;j++printf;forj=1;j=2*i-1;j++printf%dj;printf\n;}}
47.输出以下图形11211232112343211234543211234321123211211#includestdio.h#includeconio.hvoid__in{intij;clrscr;fori=1;i=5;i++{forj=1;j=5-i;j++printf;forj=1;j=i;j++printf%dj;forj=i-1;j=1;j--printf%dj;printf\n;}fori=4;i=1;i--{forj=1;j=5-i;j++printf;forj=1;j=i;j++printf%dj;forj=i-1;j=1;j--printf%dj;printf\n;}}
48.随机产生10个
[10100]之间的随机正整数输出方法一#includestdio.h#includetime.hvoid__in{intix;srandunsignedtimeNULL;printf\n;fori=1;i=10;i++{x=rand%91+10;printf%d\tx;}}方法二#includestdio.h#includetime.hvoid__in{intix;randomize;printf\n;fori=1;i=10;i++{x=rand%91+10;printf%d\tx;}}
49.从外部输入三角形的三个边,求三角形__,要求结果保留两位数#includestdio.h#include__th.h__in{floatabcps;scanf%f%f%fabc;p=a+b+c/2;s=sqrtp*p-a*p-b*p-c;printfs=%fs;}
50.随机产生两个100以内的正整数,求这两个数的和#includestdio.h#includestdlib.h#includetime.hvoid__in{intmns;srandunsignedtimeNULL;m=rand%99+1;n=rand%99+1;s=m+n;printf%d+%d=%dmns;}
51.利用双重循环结构打印图形9876543210#includestdio.hvoid__in{intm=9;intij;fori=1;i=4;i++{forj=1;j=5-i;j++{printf%d\tm;m=m-1;}printf\n;}}
52.编写程序,打印出将一元人民币换成
1、
2、5角零钱的各种换法#includestdio.hvoid__in{intn=0;intxyz;forx=0;x=2;x++fory=0;y=5;y++forz=0;z=10;z++if5*x+2*y+z==10{printfx=%d\ty=%d\tz=%d\nxyz;n++;}printfn=%dn;}
53、猴子吃桃问题猴子第一天摘若干个桃子,当即就吃了一半,还不过瘾,又吃了一个第二天早上又将剩下的桃子吃掉一半,双多吃了一个以后每天早上都有吃了前一天剩下的一半加一个到第十天早上想吃时,只剩下一个桃子了求第一天共摘下了多少桃子__in{intx=1i;fori=10;i=2;i--x=2*x+1;printf“Thenumberofpeachesis:%d”x;}第32页共32页。