C语言经典例题(有时间可以看看).doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 经典 例题 时间 可以 看看
- 资源描述:
-
【次第1】 题目:有1、2、3、4个数字,能形成多少多个互不一样且无反双数字的三位数?全然上多少多? 1.次第分析:可填在百位、十位、个位的数字全然上1、2、3、4。形成所有的摆设后再去 丢掉不称心条件的摆设。 2.次第源代码: #include"stdio.h" #include"conio.h" 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); } getch(); } ============================================================== 【次第2】 题目:企业发放的奖金按照利润提成。利润(I)低于或即是10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,逾越100万元的部分按1%提成,从键盘输出当月利润I,求应发放奖金总数? 1.次第分析:请使用数轴来分界,定位。留心定义时需把奖金定义成长整型。 2.次第源代码: #include"stdio.h" #include"conio.h" main() { longinti; intbonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i); bonus1=100000*0.1; bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1; elseif(i<=200000) bonus=bonus1+(i-100000)*0.075; elseif(i<=400000) bonus=bonus2+(i-200000)*0.05; elseif(i<=600000) bonus=bonus4+(i-400000)*0.03; elseif(i<=1000000) bonus=bonus6+(i-600000)*0.015; else bonus=bonus10+(i-1000000)*0.01; printf("bonus=%d",bonus); getch(); } ============================================================== 【次第3】 题目:一个整数,它加上100后是一个完好平方数,再加上168又是一个完好平方数,请征询该数是多少多? 1.次第分析:在10万以内揣摸,先将该数加上100后再开方,再将该数加上268后再开方,假定开方后 的结果称心如下条件,即是结果。请看具体分析: 2.次第源代码: #include"math.h" #include"stdio.h" #include"conio.h" main() { longinti,x,y,z; for(i=1;i<100000;i++) { x=sqrt(i+100);/*x为加上100后开方后的结果*/ y=sqrt(i+268);/*y为再加上168后开方后的结果*/ if(x*x==i+100&&y*y==i+268)/*假定一个数的平方根的平方即是该数,这阐明此数是完好平方数*/ printf("\n%ld\n",i); } getch(); } ============================================================== 【次第4】 题目:输出某年某月某日,揣摸这一天是这一年的第多少多天? 1.次第分析:以3月5日为例,应领先把前两个月的加起来,然后再加上5天即往年的第多少多天,特不 状况,闰年且输出月份大年夜于3时需考虑多加一天。 2.次第源代码: #include"stdio.h" #include"conio.h" 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); getch(); } ============================================================== 【次第5】 题目:输出三个整数x,y,z,请把这三个数由小到大年夜输出。 1.次第分析:我们想办法把最小的数放到x上,先将x与y停顿比较,假定x>y那么将x与y的值停顿交换, 然后再用x与z停顿比较,假定x>z那么将x与z的值停顿交换,如斯能使x最小。 2.次第源代码: #include"stdio.h" #include"conio.h" 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); getch(); } ============================================================== 【次第6】 题目:用*号输出字母C的图案。 1.次第分析:可先用'*'号在纸上写出字母C,再分行输出。 2.次第源代码: #include"stdio.h" #include"conio.h" main() { printf("HelloC-world!\n"); printf("****\n"); printf("*\n"); printf("*\n"); printf("****\n"); getch(); } ============================================================== 【次第7】 题目:输出特不图案,请在c状况中运行,看一看,VeryBeautiful! 1.次第分析:字符共有256个。差异字符,图形不一样。 2.次第源代码: #include"stdio.h" #include"conio.h" main() { chara=176,b=219; printf("%c%c%c%c%c\n",b,a,a,a,b); printf("%c%c%c%c%c\n",a,b,a,b,a); printf("%c%c%c%c%c\n",a,a,b,a,a); printf("%c%c%c%c%c\n",a,b,a,b,a); printf("%c%c%c%c%c\n",b,a,a,a,b); getch(); } ============================================================== 【次第8】 题目:输出9*9口诀。 1.次第分析:分行与列考虑,共9行9列,i把持行,j把持列。 2.次第源代码: #include"stdio.h" #include"conio.h" main() { inti,j,result; printf("\n"); for(i=1;i<10;i++) { for(j=1;j<10;j++) { result=i*j; printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/ } printf("\n");/*每一行后换行*/ } getch(); } ============================================================== 【次第9】 题目:恳求输出国际象棋棋盘。 1.次第分析:用i把持行,j来把持列,按照i+j的跟的变卦来把持输出黑方格,仍然白方格。 2.次第源代码: #include"stdio.h" #include"conio.h" main() { inti,j; for(i=0;i<8;i++) { for(j=0;j<8;j++) if((i+j)%2==0) printf("%c%c",219,219); else printf(" "); printf("\n"); } getch(); } ============================================================== 【次第10】 题目:打印楼梯,同时在楼梯上方打印两个愁容。 1.次第分析:用i把持行,j来把持列,j按照i的变卦来把持输出黑方格的个数。 2.次第源代码: #include"stdio.h" #include"conio.h" main() { inti,j; printf("\1\1\n");/*输出两个愁容*/ for(i=1;i<11;i++) { for(j=1;j<=i;j++) printf("%c%c",219,219); printf("\n"); } getch(); } .:.:经典c次第100例==11--20:.:. 经典c次第100例==11--20 【次第11】 题目:古典征询题:有一对兔子,从降生后第3个月起每个月都生一对兔子,小兔子长到第三个月 后每个月又生一对兔子,假定兔子都不去世,征询每个月的兔子总数为多少多? 1.次第分析: 兔子的法那么为数列1,1,2,3,5,8,13,21.... 2.次第源代码: #include"stdio.h" #include"conio.h" 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;/*前两个月加起来赋值给第三个月*/ } getch(); } ============================================================== 【次第12】 题目:揣摸101-200之间有多少多个素数,并输出所有素数。 1.次第分析:揣摸素数的办法:用一个数分不去除2到sqrt(谁人数),假定能被整除, 那么阐明此数不是素数,反之是素数。 2.次第源代码: #include"stdio.h" #include"conio.h" #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); getch(); } ============================================================== 【次第13】 题目:打印出所有的“水仙花数〞,所谓“水仙花数〞是指一个三位数,其各位数字破方跟即是该数 本身。比如:153是一个“水仙花数〞,因为153=1的三次方+5的三次方+3的三次方。 1.次第分析:使用for循环把持100-999个数,每个数分析出个位,十位,百位。 2.次第源代码: #include"stdio.h" #include"conio.h" 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); } getch(); } ============================================================== 【次第14】 题目:将一个正整数分析质因数。比如:输出90,打印出90=2*3*3*5。 次第分析:对n停顿分析质因数,应先寻到一个最小的质数k,然后按下述步伐完成: (1)假定谁人质数恰即是n,那么阐明分析质因数的过程已经终了,打印出即可。 (2)假定n<>k,但n能被k整除,那么应打印出k的值,并用n除以k的商,作为新的正整数你n, 重复实行第一步。 (3)假定n不克不迭被k整除,那么用k+1作为k的值,重复实行第一步。 2.次第源代码: /*zhengintisdividedyinshu*/ #include"stdio.h" #include"conio.h" main() { intn,i; printf("\npleaseinputanumber:\n"); scanf("%d",&n); printf("%d=",n); for(i=2;i<=n;i++) while(n!=i) { if(n%i==0) { printf("%d*",i); n=n/i; } else break; } printf("%d",n); getch(); } ============================================================== 【次第15】 题目:使用条件运算符的嵌套来完成此题:深造效果>=90分的同学用A表示,60-89分之间的用B表示, 60分以下的用C表示。 1.次第分析:(a>b)?a:b这是条件运算符的全然例子。 2.次第源代码: #include"stdio.h" #include"conio.h" main() { intscore; chargrade; printf("pleaseinputascore\n"); scanf("%d",&score); grade=score>=90?'A':(score>=60?'B':'C'); printf("%dbelongsto%c",score,grade); getch(); } ============================================================== 【次第16】 题目:输出两个正整数m跟n,求其最大年夜公约数跟最小公倍数。 1.次第分析:使用辗除法。 2.次第源代码: #include"stdio.h" #include"conio.h" main() { inta,b,num1,num2,temp; printf("pleaseinputtwonumbers:\n"); scanf("%d,%d",&num1,&num2); if(num1<num2)/*交换两个数,使大年夜数放在num1上*/ { temp=num1; num1=num2; num2=temp; } a=num1;b=num2; while(b!=0)/*使用辗除法,直到b为0为止*/ { temp=a%b; a=b; b=temp; } printf("gongyueshu:%d\n",a); printf("gongbeishu:%d\n",num1*num2/a); getch(); } ============================================================== 【次第17】 题目:输出一行字符,分不统计出其中英文字母、空格、数字跟不的字符的个数。 1.次第分析:使用while语句,条件为输出的字符不为'\n'. 2.次第源代码: #include"stdio.h" #include"conio.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); getch(); } ============================================================== 【次第18】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。比如2+22+222+2222+22222(现在 共有5个数相加),多少多个数相加有键盘把持。 1.次第分析:关键是打算出每一项的值。 2.次第源代码: #include"stdio.h" #include"conio.h" main() { inta,n,count=1; longintsn=0,tn=0; printf("pleaseinputaandn\n"); scanf("%d,%d",&a,&n); printf("a=%d,n=%d\n",a,n); while(count<=n) { tn=tn+a; sn=sn+tn; a=a*10; ++count; } printf("a+aa+...=%ld\n",sn); getch(); } ============================================================== 【次第19】 题目:一个数假定偏偏即是它的因子之跟,谁人数就称为“完数〞。比如6=1+2+3.编程 寻出1000以内的所有完数。 1.次第分析:请参照次第<--上页次第14. 2.次第源代码: #include"stdio.h" #include"conio.h" main() { staticintk[10]; inti,j,n,s; for(j=2;j<1000;j++) { n=-1; s=j; for(i=1;i<j;i++) { if((j%i)==0) { n++; s=s-i; k[n]=i; } } if(s==0) { printf("%disawanshu",j); for(i=0;i<n;i++) printf("%d,",k); printf("%d\n",k[n]); } } getch(); } ============================================================== 【次第20】 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少多米?第10次反弹多高? 1.次第分析:见下面注释 2.次第源代码: #include"stdio.h" #include"stdio.h" main() { floatsn=100.0,hn=sn/2; intn; for(n=2;n<=10;n++) { sn=sn+2*hn;/*第n次落地时共经过的米数*/ hn=hn/2;/*第n次反跳高度*/ } printf("thetotalofroadis%f\n",sn); printf("thetenthis%fmeter\n",hn); getch(); } .:.:经典c次第100例==21--30:.:. 经典c次第100例==21--30 【次第21】 题目:猴子吃桃征询题:猴子第一天摘下假定干个桃子,破即吃了一半,还不瘾,又多吃了一个 来日诰日早上又将剩下的桃子吃丢掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少多。 1.次第分析:采纳逆向思维的办法,从后往前揣摸。 2.次第源代码: #include"stdio.h" #include"conio.h" main() { intday,x1,x2; day=9; x2=1; while(day>0) { x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/ x2=x1; day--; } printf("thetotalis%d\n",x1); getch(); } ============================================================== 【次第22】 题目:两个乒乓球队停顿比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定 比赛名单。有人向队员打听比赛的名单。a说他跟睦x比,c说他跟睦x,z比,请编次第寻出 三队赛手的名单。 1.次第分析:揣摸素数的办法:用一个数分不去除2到sqrt(谁人数),假定能被整除, 那么阐明此数不是素数,反之是素数。 2.次第源代码: #include"stdio.h" #include"conio.h" main() { chari,j,k;/*i是a的对手,j是b的对手,k是c的对手*/ for(i='x';i<='z';i++) for(j='x';j<='z';j++) { if(i!=j) for(k='x';k<='z';k++) { if(i!=k&&j!=k) { if(i!='x'&&k!='x'&&k!='z') printf("orderisa--%c\tb--%c\tc--%c\n",i,j,k); } } } getch(); } ============================================================== 【次第23】 题目:打印出如以下图案〔菱形〕 * *** ***** ******* ***** *** * 1.次第分析:先把图形分成两部分来看待,前四行一个法那么,后三行一个法那么,使用双重 for循环,第一层把持行,第二层把持列。 2.次第源代码: #include"stdio.h" #include"conio.h" main() { inti,j,k; for(i=0;i<=3;i++) { for(j=0;j<=2-i;j++) printf(""); for(k=0;k<=2*i;k++) printf("*"); printf("\n"); } for(i=0;i<=2;i++) { for(j=0;j<=i;j++) printf(""); for(k=0;k<=4-2*i;k++) printf("*"); printf("\n"); } getch(); } ============================================================== 【次第24】 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出谁人数列的前20项之跟。 1.次第分析:请抓住分子与分母的变卦法那么。 2.次第源代码: #include"stdio.h" #include"conio.h" 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); getch(); } ============================================================== 【次第25】 题目:求1+2!+3!+...+20!的跟 1.次第分析:此次第只是把累加变成了累乘。 2.次第源代码: #include"stdio.h" #include"conio.h" main() { floatn,s=0,t=1; for(n=1;n<=20;n++) { t*=n; s+=t; } printf("1+2!+3!...+20!=%e\n",s); getch(); } ============================================================== 【次第26】 题目:使用递归办法求5!。 1.次第分析:递归公式:fn=fn_1*4! 2.次第源代码: #include"stdio.h" #include"conio.h" main() { inti; intfact(); for(i=0;i<5;i++) printf("\40:%d!=%d\n",i,fact(i)); getch(); } intfact(j) intj; { intsum; if(j==0) sum=1; else sum=j*fact(j-1); returnsum; } ============================================================== 【次第27】 题目:使用递归函数调用办法,将所输出的5个字符,以相反次第打印出来。 1.次第分析: 2.次第源代码: #include"stdio.h" #include"conio.h" main() { inti=5; voidpalin(intn); printf("\40:"); palin(i); printf("\n"); getch(); } voidpalin(n) intn; { charnext; if(n<=1) { next=getchar(); printf("\n\0:"); putchar(next); } else { next=getchar(); palin(n-1); putchar(next); } } ============================================================== 【次第28】 题目:有5集团坐在一起,征询第五集团多少多岁?他说比第4集团大年夜2岁。征询第4集团年纪,他说比第 3集团大年夜2岁。征询第三集团,又说比第2人大年夜两岁。征询第2集团,说比第一集团大年夜两岁。最后 征询第一集团,他说是10岁。请征询第五集团多大年夜? 1.次第分析:使用递归的办法,递归分为回推跟递推两个阶段。要想清楚第五集团年纪,需清楚 第四人的年纪,依次类推,推到第一人〔10岁〕,再往回推。 2.次第源代码: #include"stdio.h" #include"conio.h" age(n) intn; { intc; if(n==1)c=10; elsec=age(n-1)+2; return(c); } main() { printf("%d",age(5)); getch(); } ============================================================== 【次第29】 题目:给一个未多少多于5位的正整数,恳求:一、求它是多少多位数,二、逆序打印出各位数字。 1.次第分析:学会分析出每一位数,如下阐明:(这里是一种庞杂的算法,师专数002班赵鑫供应) 2.次第源代码: #include"stdio.h" #include"conio.h" main() { longa,b,c,d,e,x; scanf("%ld",&x); a=x/10000;/*分析出万位*/ b=x%10000/1000;/*分析出千位*/ c=x%1000/100;/*分析出百位*/ d=x%100/10;/*分析出十位*/ e=x%10;/*分析出个位*/ if(a!=0)printf("thereare5,%ld%ld%ld%ld%ld\n",e,d,c,b,a); elseif(b!=0)printf("thereare4,%ld%ld%ld%ld\n",e,d,c,b); elseif(c!=0)printf("thereare3,%ld%ld%ld\n",e,d,c); elseif(d!=0)printf("thereare2,%ld%ld\n",e,d); elseif(e!=0)printf("thereare1,%展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




C语言经典例题(有时间可以看看).doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4498084.html