收藏 分销(赏)

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

上传人:二*** 文档编号:4498084 上传时间:2024-09-25 格式:DOC 页数:13 大小:59KB 下载积分:5 金币
下载 相关 举报
C语言经典例题(有时间可以看看).doc_第1页
第1页 / 共13页
本文档共13页,全文阅读请下载到手机保存,查看更方便
资源描述
【次第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,%
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服