您好,欢迎访问三七文档
1、题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#includestdio.hintmain(){for(inti=1;i5;i++)for(intj=1;j5;j++)for(intk=1;k5;k++)if(i!=j&&i!=k&&j!=k)printf(%d%d%d\n,i,j,k);return0;}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,求应发放奖金总数?#define_CRT_SECURE_NO_WARNINGS#includestdio.hintmain(){floatlirun;printf(请输入当月利润:\n);scanf(%f,&lirun);if(lirun=100000)printf(应发放金额总数:%f\n,lirun*0.1);elseif(lirun=200000&&lirun100000){printf(应发放金额总数:%f\n,lirun*0.1+(lirun-100000)*0.075);}elseif(lirun=400000&&lirun200000){printf(应发放金额总数:%f\n,lirun*0.1+(lirun-100000)*0.075+(lirun-200000)*0.005);}elseif(lirun=600000&&lirun400000){printf(应发放金额总数:%f\n,lirun*0.1+(lirun-100000)*0.075+(lirun-200000)*0.005+(lirun-400000)*0.03);}elseif(lirun=1000000&&lirun600000){printf(应发放金额总数:%f\n,lirun*0.1+(lirun-100000)*0.075+(lirun-200000)*0.005+(lirun-400000)*0.03+(lirun-600000)*0.015);}elseif(lirun1000000){printf(应发放金额总数:%f\n,lirun*0.1+(lirun-100000)*0.075+(lirun-200000)*0.005+(lirun-400000)*0.03+(lirun-600000)*0.015+(lirun-1000000)*0.01);}else{printf(利润为负,没有奖金!!!\n);}return0;}3、题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?#includestdio.h#includemath.hintmain(){inti=0;//判断开方后的数强制转化为整型与不强制转化为整型的数是否相等while(!((int)sqrt(i+100)==sqrt(i+100)&&(int)sqrt(i+100+168)==sqrt(i+100+168))){i++;}printf(%d\n,i);return0;}voidmain(){longinti,x,y,z;for(i=1;i100000;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);}getchar();}4、题目:输入某年某月某日,判断这一天是这一年的第几天?#define_CRT_SECURE_NO_WARNINGS#includestdio.hintmain(){intyear,month,day;printf(请输入年份:\n);scanf(%d,&year);printf(请输入月份:\n);scanf(%d,&month);printf(请输入日:\n);scanf(%d,&day);intdays[]={31,28,31,30,31,30,31,31,30,31,30,31};days[1]=(year%4==0)?29:28;intsum=0;for(inti=0;imonth-1;i++)sum+=days[i];sum+=day;printf(%d年%d月%d日是第%d天\n,year,month,day,sum);return0;}5、题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?6、题目:判断101-200之间有多少个素数,并输出所有素数。#includestdio.hintmain(){intflag=1;for(inti=101;i200;i++){for(intj=2;ji/2;j++){if(i%j==0){flag=0;break;}}if(flag==1)printf(%d\n,i);flag=1;}return0;}7、题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。#includestdio.hintmain(){intbai=0,shi=0,ge=0;for(inti=100;i1000;i++){bai=i/100;shi=i/10-bai*10;ge=i-bai*100-shi*10;if(i==bai*bai*bai+shi*shi*shi+ge*ge*ge)printf(%d\n,i);}return0;}8、题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。#define_CRT_SECURE_NO_WARNINGS#includestdio.hintmain(){intn;printf(请输入一个正整数:);scanf(%d,&n);printf(%d=,n);for(inti=2;in;i++){while(n%i==0){if(n!=2){printf(%d*,i);n/=i;}else{break;}}if(n==i)break;}printf(%d\n,n);returnEXIT_SUCCESS;}9、题目:利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。#define_CRT_SECURE_NO_WARNINGS#includestdio.hintmain(){intscore;printf(请输入该同学成绩:);scanf(%d,&score);if(score=90)printf(该同学成绩为A.\n);elseif(score90&&score60)printf(该同学成绩为B.\n);elseprintf(该同学成绩为C.\n);return0;}10、题目:输入两个正整数m和n,求其最大公约数和最小公倍数。#define_CRT_SECURE_NO_WARNINGS#includestdio.hintmain(){inta,b;printf(请输入两个正整数:);scanf(%d%d,&a,&b);intc=0,m=0;for(inti=a;i1;i--){if(a%i==0&&b%i==0){c=i;break;}}for(inti=1;;i++){if((a*i)%b==0){m=a*i;break;}}if(c==0)printf(无最大公约数.\n);else{printf(最大公约数:%d\n,c);}printf(最小公倍数:%d\n,m);return0;}11、题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。此题的难度是读取字符串,用scanf()函数读取字符串,遇到空格就结束,所以在此题中不宜使用。就必须使用gets()函数来读取字符串,只有当遇到回车,或者结束符才会结束。#define_CRT_SECURE_NO_WARNINGS#includestdio.h#includestring.hintmain(){chararr[100];printf(请输入一串字符:\n);gets(arr);intzimu=0,shuzi=0,kongge=0,qita=0;inta=strlen(arr);for(inti=0;ia;i++){if(arr[i]=='')kongge++;elseif(arr[i]='0'&&arr[i]='9')shuzi++;elseif((arr[i]='a'&&arr[i]='z')||(arr[i]='A'&&arr[i]='Z'))zimu++;else{qita++;}}printf(字符串中有字母%d个.\n,zimu);printf(字符串中有数字%d个.\n,shuzi);printf(字符串中有空格%d个.\n,kongge);printf(字符串中有其他字符%d个.\n,qita);return0;}12、题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。#define_CRT_SECURE_NO_WARNINGS#includestdio.h#includemath.hintmain(){inta,n;intnum=0;intb=0;printf(请输入求和的数:\n);scanf(%d,&a);printf(请输入求和的项数:\n);scanf(%d,&n);for(inti=1;in;i++){b+=a*pow(10,i-1);num+=b;}printf(%d\n,num);return0;}13、题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。#includestdio.hintmain(){intsum=0;for(intj=1;j1000;j++){for(inti=1;i=j/2;i++){if(j%i==0){sum+=i;}}if(sum==j)printf(%d\t,sum);sum=0;}return0;}14、题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?#define_CRT_SECURE_NO_WARNINGS#includestdio.hintmain(){floath=100;floats=0;for(intn=1;n=10;n++){if(n==1){s=h;printf(第%d次上升高度的路程:%f\n,n,s);}else{s=s+h;h/=2;printf(第%d次上升高度的路程:%f\n,n,s);}}returnEXIT_SUCCESS;}15、题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。#includestdio.hintmain(){intn=1;intday=9;while(day
本文标题:C语言经典案例题
链接地址:https://www.777doc.com/doc-6694716 .html