C语言入门习题训练.docx
《C语言入门习题训练.docx》由会员分享,可在线阅读,更多相关《C语言入门习题训练.docx(51页珍藏版)》请在冰豆网上搜索。
C语言入门习题训练
/*【程序1】
题目:
古典问题:
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
假如兔子都不死,问每个月的兔子总数为多少?
兔子的规律为数列1,1,2,3,5,8,13,21*/
#include<>
voidmain()
{
inta,b,t,p,sum,month;
a=1;
b=1;
printf("Pleaseenterthemonth:
");
scanf("%d",&month);
printf("Thereare2rabbits.\n");
for(a=0,b=1,t=0,p=0,sum=0;month>1&&p { t=a+b; a=b; b=t; sum=t*2; printf("Thereare%drabbits.\n",sum); } } /*【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。*/#include<>voidmain(){ inta,amount; for(amount=0,a=101;100 { if(a%2!=0) { amount=amount+1; printf("a=%d\t",a); } }} /*【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。*/#include<>voidmain(){ inta,b,c,i; for(i=100;i>99&&i<1000;i++) { a=i/100; b=(i-a*100)/10; c=(i-a*100-b*10); if(a*a*a+b*b*b+c*c*c==i) printf("i=%d\n",i); }} /*【程序4】题目:将一个正整数分解质因数。例如:输入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的值,重复执行第一步。*/ #include<> voidmain(){ inta,i,j; printf("Pleaseenteryournumber:\n"); scanf("%d",&a); printf("%d=1",a); for(i=2,j=0;i<=a;i++) { for(;a%i==0;) { j=i; printf("*%d",j); a=a/j; } } printf("\n");} /*【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。1.程序分析:(a>b)?a:b这是条件运算符的基本例子。*/ #include<>voidmain(){ intscore; printf("Pleaseenterthescore:"); scanf("%d",&score); (score>=90)?printf("A\n"):(score>=60&&score<=89)?printf("B\n"):printf("C\n"); } /*【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。1.程序分析:关键是计算出每一项的值。 */ #include<>voidmain(){ inta,b,i,j,e,sum; printf("Pleaseenterthea:"); scanf("%d",&a); printf("Pleaseenterthetimes:"); scanf("%d",&b); for(i=1,sum=0;i<=b;i++) { for(j=1,e=1;j<=i;j++) { e=e*10+1; } sum=e*a+sum; } printf("sum=%d\n",sum);}Clanguage入门习题训练(二) 2010-12-0400:29:53| 分类: |字号 订阅 /*1已知银行整存整取存款不同期限的月息利率分别为:已知银行整存整取存款不同期限的月息利率分别为:%期限一年%期限二年%期限三年%期限五年%期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。*/#include<>voidmain(){ floatmoney,year; floata=; inti; printf("Pleaseenteryourmoney:\n"); scanf("%f",&money); printf("Pleaseenteryouryear:\n"); scanf("%f",&year); a=+a+*year; for(i=1;i { money=a*money; } printf("money=%f",money);} 键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。 #include<> intmain(){ inta[10]; inti,j,t; for(i=0;i<10;i++) { printf("Pleaseenterthenumber:"); scanf("%d",&a[i]); } for(j=0;j<10;j++) {(注意,在此处j是数组的下标,i是其后剩余的需要被一一进行比较的数的个数) for(i=1;i+j<10;i++) { if(a[j]>a[j+i]) { t=a[j]; a[j]=a[j+i]; a[j+i]=t; } } } for(i=0;i<10;i++) { printf("%d\n",a[i]); } return(0);} 42、输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位54321。.*/ #include<>#include<> intsplitcircle(intn){ inti; doublek,y2; for(i=0,k=,y2=;i { printf("sides=%d,pi(%d)=%.24f\n", 3*(1< y2=2-sqrt(4-y2); } returni;} intmain(){ returnsplitcircle(12);} 48、A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿鱼。编写程序求出他们合伙至少捕了多少条鱼。/*48、A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿鱼。编写程序求出他们合伙至少捕了多少条鱼。*/ #include<> intyu(inti){ inta,b,c,d,e; intj; if((i-1)%5==0) { a=0; } else { a=1; } if(((i-1)/5-1)*(4/5)%5==0) { b=0; } else { b=1; } if((((i-1)/5-1)*(4/5)/5-1)*(4/5)%5==0) { c=0; } else { c=1; } if(((((i-1)/5-1)*4/5/5-1)-1)*(4/5)%5==0) { d=0; } else { d=1; } if( (((((i-1)/5-1)/5-1)-1)-1)%5==0) { e=0; } else { e=1; } if(a==0&&b==0&&c==0&&d==0&&e==0) { j=0; } else { j=1; } return(j);} intmain(){ inti,j=5; for(i=5;yu(i)!=0;i++) { j=j+1; } printf("%d",j); return(0);} 49、一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。/*49、一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。 */ #include<> intche(inti){ inta,b,c; intk,l=0; if(i/1000==i%1000/100&&i%100/10==i%10) { a=0; } for(k=0;k<100;k++) { if(k*k==i) { b=0; } } if(a==0&&b==0) { c=0; } return(c);} intmain(){ inti,j=1; for(i=1000;che(i)!=0;i++) { j=j+1; } printf("%d",j); return(0);} 50、若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个球,编写程序求出共有多少种不同的颜色搭配。/*50、若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个球,编写程序求出共有多少种不同的颜色搭配。*/ #include<> intmain(){ intred; intwrite; intblack; inti=0; for(red=0;red<=3;red++) { for(write=0;write<=3;write++) { for(black=0;black<=6;black++) { if(red+write+black==8) { i++; printf("red=%d,write=%d,black=%d\n",red,write,black); } } } } return(0);} 51、100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、小马的数目。/*bighouse+normalhouse+smallhouse==100; 51、100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、小马的数目。*/ #include<> intmain(){ intbighouse,normalhouse,smallhouse; for(bighouse=0;bighouse<=100;bighouse++) { for(normalhouse=0;normalhouse<=100;normalhouse++) { for(smallhouse=0;smallhouse<=100;smallhouse++) { if(bighouse+normalhouse+smallhouse==100&&bighouse*3+normalhouse*2+smallhouse==100) { printf("bighouse=%d,normalhouse=%d,smallhouse=%d",bighouse,normalhouse,smallhouse); } } } } return(0);} 52、编写程序,输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法。示200以内的完全平方数和它们的个数。(完全平方数:A2+B2=C2,求A、B、C) #include<> intmain(){ inta,b,c; intd=0; for(a=0;a<=200;a++) { for(b=0;b<=200;b++) { for(c=0;c<=200;c++) { if(a*a+b*b==c*c) { printf("a=%d,b=%d,c=%d\n",a,b,c); d++; } } } } printf("number=%d\n",d); return(0);} 54、设N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),求N的值。#include<>voidmain(){ inta,b,c,d,e,f,g,h,i,j,sum1,sum2; printf("Entertennumber:"); scanf("%d%d%d%d%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j); sum1=0; sum2=0; if(a>0) { sum1=sum1+a; } elseif(a<=0) sum2=sum2+a; if(b>0) { sum1=sum1+b; } elseif(b<=0) sum2=sum2+b; if(c>
t=a+b;
a=b;
b=t;
sum=t*2;
printf("Thereare%drabbits.\n",sum);
}
/*【程序2】
判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:
判断素数的方法:
用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
*/
inta,amount;
for(amount=0,a=101;100 { if(a%2!=0) { amount=amount+1; printf("a=%d\t",a); } }} /*【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。*/#include<>voidmain(){ inta,b,c,i; for(i=100;i>99&&i<1000;i++) { a=i/100; b=(i-a*100)/10; c=(i-a*100-b*10); if(a*a*a+b*b*b+c*c*c==i) printf("i=%d\n",i); }} /*【程序4】题目:将一个正整数分解质因数。例如:输入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的值,重复执行第一步。*/ #include<> voidmain(){ inta,i,j; printf("Pleaseenteryournumber:\n"); scanf("%d",&a); printf("%d=1",a); for(i=2,j=0;i<=a;i++) { for(;a%i==0;) { j=i; printf("*%d",j); a=a/j; } } printf("\n");} /*【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。1.程序分析:(a>b)?a:b这是条件运算符的基本例子。*/ #include<>voidmain(){ intscore; printf("Pleaseenterthescore:"); scanf("%d",&score); (score>=90)?printf("A\n"):(score>=60&&score<=89)?printf("B\n"):printf("C\n"); } /*【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。1.程序分析:关键是计算出每一项的值。 */ #include<>voidmain(){ inta,b,i,j,e,sum; printf("Pleaseenterthea:"); scanf("%d",&a); printf("Pleaseenterthetimes:"); scanf("%d",&b); for(i=1,sum=0;i<=b;i++) { for(j=1,e=1;j<=i;j++) { e=e*10+1; } sum=e*a+sum; } printf("sum=%d\n",sum);}Clanguage入门习题训练(二) 2010-12-0400:29:53| 分类: |字号 订阅 /*1已知银行整存整取存款不同期限的月息利率分别为:已知银行整存整取存款不同期限的月息利率分别为:%期限一年%期限二年%期限三年%期限五年%期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。*/#include<>voidmain(){ floatmoney,year; floata=; inti; printf("Pleaseenteryourmoney:\n"); scanf("%f",&money); printf("Pleaseenteryouryear:\n"); scanf("%f",&year); a=+a+*year; for(i=1;i { money=a*money; } printf("money=%f",money);} 键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。 #include<> intmain(){ inta[10]; inti,j,t; for(i=0;i<10;i++) { printf("Pleaseenterthenumber:"); scanf("%d",&a[i]); } for(j=0;j<10;j++) {(注意,在此处j是数组的下标,i是其后剩余的需要被一一进行比较的数的个数) for(i=1;i+j<10;i++) { if(a[j]>a[j+i]) { t=a[j]; a[j]=a[j+i]; a[j+i]=t; } } } for(i=0;i<10;i++) { printf("%d\n",a[i]); } return(0);} 42、输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位54321。.*/ #include<>#include<> intsplitcircle(intn){ inti; doublek,y2; for(i=0,k=,y2=;i { printf("sides=%d,pi(%d)=%.24f\n", 3*(1< y2=2-sqrt(4-y2); } returni;} intmain(){ returnsplitcircle(12);} 48、A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿鱼。编写程序求出他们合伙至少捕了多少条鱼。/*48、A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿鱼。编写程序求出他们合伙至少捕了多少条鱼。*/ #include<> intyu(inti){ inta,b,c,d,e; intj; if((i-1)%5==0) { a=0; } else { a=1; } if(((i-1)/5-1)*(4/5)%5==0) { b=0; } else { b=1; } if((((i-1)/5-1)*(4/5)/5-1)*(4/5)%5==0) { c=0; } else { c=1; } if(((((i-1)/5-1)*4/5/5-1)-1)*(4/5)%5==0) { d=0; } else { d=1; } if( (((((i-1)/5-1)/5-1)-1)-1)%5==0) { e=0; } else { e=1; } if(a==0&&b==0&&c==0&&d==0&&e==0) { j=0; } else { j=1; } return(j);} intmain(){ inti,j=5; for(i=5;yu(i)!=0;i++) { j=j+1; } printf("%d",j); return(0);} 49、一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。/*49、一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。 */ #include<> intche(inti){ inta,b,c; intk,l=0; if(i/1000==i%1000/100&&i%100/10==i%10) { a=0; } for(k=0;k<100;k++) { if(k*k==i) { b=0; } } if(a==0&&b==0) { c=0; } return(c);} intmain(){ inti,j=1; for(i=1000;che(i)!=0;i++) { j=j+1; } printf("%d",j); return(0);} 50、若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个球,编写程序求出共有多少种不同的颜色搭配。/*50、若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个球,编写程序求出共有多少种不同的颜色搭配。*/ #include<> intmain(){ intred; intwrite; intblack; inti=0; for(red=0;red<=3;red++) { for(write=0;write<=3;write++) { for(black=0;black<=6;black++) { if(red+write+black==8) { i++; printf("red=%d,write=%d,black=%d\n",red,write,black); } } } } return(0);} 51、100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、小马的数目。/*bighouse+normalhouse+smallhouse==100; 51、100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、小马的数目。*/ #include<> intmain(){ intbighouse,normalhouse,smallhouse; for(bighouse=0;bighouse<=100;bighouse++) { for(normalhouse=0;normalhouse<=100;normalhouse++) { for(smallhouse=0;smallhouse<=100;smallhouse++) { if(bighouse+normalhouse+smallhouse==100&&bighouse*3+normalhouse*2+smallhouse==100) { printf("bighouse=%d,normalhouse=%d,smallhouse=%d",bighouse,normalhouse,smallhouse); } } } } return(0);} 52、编写程序,输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法。示200以内的完全平方数和它们的个数。(完全平方数:A2+B2=C2,求A、B、C) #include<> intmain(){ inta,b,c; intd=0; for(a=0;a<=200;a++) { for(b=0;b<=200;b++) { for(c=0;c<=200;c++) { if(a*a+b*b==c*c) { printf("a=%d,b=%d,c=%d\n",a,b,c); d++; } } } } printf("number=%d\n",d); return(0);} 54、设N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),求N的值。#include<>voidmain(){ inta,b,c,d,e,f,g,h,i,j,sum1,sum2; printf("Entertennumber:"); scanf("%d%d%d%d%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j); sum1=0; sum2=0; if(a>0) { sum1=sum1+a; } elseif(a<=0) sum2=sum2+a; if(b>0) { sum1=sum1+b; } elseif(b<=0) sum2=sum2+b; if(c>
if(a%2!
=0)
amount=amount+1;
printf("a=%d\t",a);
/*【程序3】
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
利用for循环控制100-999个数,每个数分解出个位,十位,百位。
inta,b,c,i;
for(i=100;i>99&&i<1000;i++)
a=i/100;
b=(i-a*100)/10;
c=(i-a*100-b*10);
if(a*a*a+b*b*b+c*c*c==i)
printf("i=%d\n",i);
/*【程序4】
将一个正整数分解质因数。
输入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的值,重复执行第一步。
inta,i,j;
printf("Pleaseenteryournumber:
\n");
scanf("%d",&a);
printf("%d=1",a);
for(i=2,j=0;i<=a;i++)
for(;a%i==0;)
j=i;
printf("*%d",j);
a=a/j;
printf("\n");
/*
【程序5】
利用条件运算符的嵌套来完成此题:
学习成绩>=90分的同学用A表示
,60-89分之间的用B表示,60分以下的用C表示。
(a>b)?
a:
b这是条件运算符的基本例子。
intscore;
printf("Pleaseenterthescore:
scanf("%d",&score);
(score>=90)?
printf("A\n"):
(score>=60&&score<=89)?
printf("B\n"):
printf("C\n");
【程序8】
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加)
,几个数相加有键盘控制。
关键是计算出每一项的值。
inta,b,i,j,e,sum;
printf("Pleaseenterthea:
printf("Pleaseenterthetimes:
scanf("%d",&b);
for(i=1,sum=0;i<=b;i++)
for(j=1,e=1;j<=i;j++)
e=e*10+1;
sum=e*a+sum;
printf("sum=%d\n",sum);
Clanguage入门习题训练
(二)
2010-12-0400:
29:
53| 分类:
|字号 订阅
/*1已知银行整存整取存款不同期限的月息利率分别为:
已知银行整存整取存款不同期限的月息利率分别为:
%期限一年
%期限二年
%期限三年
%期限五年
%期限八年
要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。
floatmoney,year;
floata=;
inti;
printf("Pleaseenteryourmoney:
scanf("%f",&money);
printf("Pleaseenteryouryear:
scanf("%f",&year);
a=+a+*year;
for(i=1;i { money=a*money; } printf("money=%f",money);} 键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。 #include<> intmain(){ inta[10]; inti,j,t; for(i=0;i<10;i++) { printf("Pleaseenterthenumber:"); scanf("%d",&a[i]); } for(j=0;j<10;j++) {(注意,在此处j是数组的下标,i是其后剩余的需要被一一进行比较的数的个数) for(i=1;i+j<10;i++) { if(a[j]>a[j+i]) { t=a[j]; a[j]=a[j+i]; a[j+i]=t; } } } for(i=0;i<10;i++) { printf("%d\n",a[i]); } return(0);} 42、输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位54321。.*/ #include<>#include<> intsplitcircle(intn){ inti; doublek,y2; for(i=0,k=,y2=;i { printf("sides=%d,pi(%d)=%.24f\n", 3*(1< y2=2-sqrt(4-y2); } returni;} intmain(){ returnsplitcircle(12);} 48、A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿鱼。编写程序求出他们合伙至少捕了多少条鱼。/*48、A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿鱼。编写程序求出他们合伙至少捕了多少条鱼。*/ #include<> intyu(inti){ inta,b,c,d,e; intj; if((i-1)%5==0) { a=0; } else { a=1; } if(((i-1)/5-1)*(4/5)%5==0) { b=0; } else { b=1; } if((((i-1)/5-1)*(4/5)/5-1)*(4/5)%5==0) { c=0; } else { c=1; } if(((((i-1)/5-1)*4/5/5-1)-1)*(4/5)%5==0) { d=0; } else { d=1; } if( (((((i-1)/5-1)/5-1)-1)-1)%5==0) { e=0; } else { e=1; } if(a==0&&b==0&&c==0&&d==0&&e==0) { j=0; } else { j=1; } return(j);} intmain(){ inti,j=5; for(i=5;yu(i)!=0;i++) { j=j+1; } printf("%d",j); return(0);} 49、一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。/*49、一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。 */ #include<> intche(inti){ inta,b,c; intk,l=0; if(i/1000==i%1000/100&&i%100/10==i%10) { a=0; } for(k=0;k<100;k++) { if(k*k==i) { b=0; } } if(a==0&&b==0) { c=0; } return(c);} intmain(){ inti,j=1; for(i=1000;che(i)!=0;i++) { j=j+1; } printf("%d",j); return(0);} 50、若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个球,编写程序求出共有多少种不同的颜色搭配。/*50、若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个球,编写程序求出共有多少种不同的颜色搭配。*/ #include<> intmain(){ intred; intwrite; intblack; inti=0; for(red=0;red<=3;red++) { for(write=0;write<=3;write++) { for(black=0;black<=6;black++) { if(red+write+black==8) { i++; printf("red=%d,write=%d,black=%d\n",red,write,black); } } } } return(0);} 51、100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、小马的数目。/*bighouse+normalhouse+smallhouse==100; 51、100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、小马的数目。*/ #include<> intmain(){ intbighouse,normalhouse,smallhouse; for(bighouse=0;bighouse<=100;bighouse++) { for(normalhouse=0;normalhouse<=100;normalhouse++) { for(smallhouse=0;smallhouse<=100;smallhouse++) { if(bighouse+normalhouse+smallhouse==100&&bighouse*3+normalhouse*2+smallhouse==100) { printf("bighouse=%d,normalhouse=%d,smallhouse=%d",bighouse,normalhouse,smallhouse); } } } } return(0);} 52、编写程序,输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法。示200以内的完全平方数和它们的个数。(完全平方数:A2+B2=C2,求A、B、C) #include<> intmain(){ inta,b,c; intd=0; for(a=0;a<=200;a++) { for(b=0;b<=200;b++) { for(c=0;c<=200;c++) { if(a*a+b*b==c*c) { printf("a=%d,b=%d,c=%d\n",a,b,c); d++; } } } } printf("number=%d\n",d); return(0);} 54、设N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),求N的值。#include<>voidmain(){ inta,b,c,d,e,f,g,h,i,j,sum1,sum2; printf("Entertennumber:"); scanf("%d%d%d%d%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j); sum1=0; sum2=0; if(a>0) { sum1=sum1+a; } elseif(a<=0) sum2=sum2+a; if(b>0) { sum1=sum1+b; } elseif(b<=0) sum2=sum2+b; if(c>
money=a*money;
printf("money=%f",money);
键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。
intmain()
inta[10];
inti,j,t;
for(i=0;i<10;i++)
printf("Pleaseenterthenumber:
scanf("%d",&a[i]);
for(j=0;j<10;j++)
{(注意,在此处j是数组的下标,i是其后剩余的需要被一一进行比较的数的个数)
for(i=1;i+j<10;i++)
if(a[j]>a[j+i])
t=a[j];
a[j]=a[j+i];
a[j+i]=t;
printf("%d\n",a[i]);
return(0);
42、输入一个正整数,要求以相反的顺序输出该数。
例如输入12345,输出位54321。
.
intsplitcircle(intn)
doublek,y2;
for(i=0,k=,y2=;i { printf("sides=%d,pi(%d)=%.24f\n", 3*(1< y2=2-sqrt(4-y2); } returni;} intmain(){ returnsplitcircle(12);} 48、A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿鱼。编写程序求出他们合伙至少捕了多少条鱼。/*48、A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿鱼。编写程序求出他们合伙至少捕了多少条鱼。*/ #include<> intyu(inti){ inta,b,c,d,e; intj; if((i-1)%5==0) { a=0; } else { a=1; } if(((i-1)/5-1)*(4/5)%5==0) { b=0; } else { b=1; } if((((i-1)/5-1)*(4/5)/5-1)*(4/5)%5==0) { c=0; } else { c=1; } if(((((i-1)/5-1)*4/5/5-1)-1)*(4/5)%5==0) { d=0; } else { d=1; } if( (((((i-1)/5-1)/5-1)-1)-1)%5==0) { e=0; } else { e=1; } if(a==0&&b==0&&c==0&&d==0&&e==0) { j=0; } else { j=1; } return(j);} intmain(){ inti,j=5; for(i=5;yu(i)!=0;i++) { j=j+1; } printf("%d",j); return(0);} 49、一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。/*49、一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。 */ #include<> intche(inti){ inta,b,c; intk,l=0; if(i/1000==i%1000/100&&i%100/10==i%10) { a=0; } for(k=0;k<100;k++) { if(k*k==i) { b=0; } } if(a==0&&b==0) { c=0; } return(c);} intmain(){ inti,j=1; for(i=1000;che(i)!=0;i++) { j=j+1; } printf("%d",j); return(0);} 50、若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个球,编写程序求出共有多少种不同的颜色搭配。/*50、若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个球,编写程序求出共有多少种不同的颜色搭配。*/ #include<> intmain(){ intred; intwrite; intblack; inti=0; for(red=0;red<=3;red++) { for(write=0;write<=3;write++) { for(black=0;black<=6;black++) { if(red+write+black==8) { i++; printf("red=%d,write=%d,black=%d\n",red,write,black); } } } } return(0);} 51、100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、小马的数目。/*bighouse+normalhouse+smallhouse==100; 51、100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、小马的数目。*/ #include<> intmain(){ intbighouse,normalhouse,smallhouse; for(bighouse=0;bighouse<=100;bighouse++) { for(normalhouse=0;normalhouse<=100;normalhouse++) { for(smallhouse=0;smallhouse<=100;smallhouse++) { if(bighouse+normalhouse+smallhouse==100&&bighouse*3+normalhouse*2+smallhouse==100) { printf("bighouse=%d,normalhouse=%d,smallhouse=%d",bighouse,normalhouse,smallhouse); } } } } return(0);} 52、编写程序,输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法。示200以内的完全平方数和它们的个数。(完全平方数:A2+B2=C2,求A、B、C) #include<> intmain(){ inta,b,c; intd=0; for(a=0;a<=200;a++) { for(b=0;b<=200;b++) { for(c=0;c<=200;c++) { if(a*a+b*b==c*c) { printf("a=%d,b=%d,c=%d\n",a,b,c); d++; } } } } printf("number=%d\n",d); return(0);} 54、设N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),求N的值。#include<>voidmain(){ inta,b,c,d,e,f,g,h,i,j,sum1,sum2; printf("Entertennumber:"); scanf("%d%d%d%d%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j); sum1=0; sum2=0; if(a>0) { sum1=sum1+a; } elseif(a<=0) sum2=sum2+a; if(b>0) { sum1=sum1+b; } elseif(b<=0) sum2=sum2+b; if(c>
printf("sides=%d,pi(%d)=%.24f\n",
3*(1<
y2=2-sqrt(4-y2);
returni;
returnsplitcircle(12);
48、A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。
日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。
B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。
C、D、E依次醒来,也按同样的方法拿鱼。
编写程序求出他们合伙至少捕了多少条鱼。
B第二个醒来,
也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。
intyu(inti)
inta,b,c,d,e;
intj;
if((i-1)%5==0)
a=0;
else
if(((i-1)/5-1)*(4/5)%5==0)
b=0;
if((((i-1)/5-1)*(4/5)/5-1)*(4/5)%5==0)
c=0;
c=1;
if(((((i-1)/5-1)*4/5/5-1)-1)*(4/5)%5==0)
d=0;
d=1;
if( (((((i-1)/5-1)/5-1)-1)-1)%5==0)
e=0;
e=1;
if(a==0&&b==0&&c==0&&d==0&&e==0)
j=0;
j=1;
return(j);
inti,j=5;
for(i=5;yu(i)!
=0;i++)
j=j+1;
printf("%d",j);
49、一辆卡车违犯交通规则,撞人逃跑。
现场三人目击事件,但都没记住车号,只记下车号的一些特征。
甲说:
牌照的前两位数字是相同的;乙说:
牌照的后两位数字是相同的;丙是位数学家,他说:
四位的车号刚好是一个整数的平方。
请根据以上线索求出车号。
/*49、一辆卡车违犯交通规则,撞人逃跑。
四位的车
号刚好是一个整数的平方。
intche(inti)
inta,b,c;
intk,l=0;
if(i/1000==i%1000/100&&i%100/10==i%10)
for(k=0;k<100;k++)
if(k*k==i)
if(a==0&&b==0)
return(c);
inti,j=1;
for(i=1000;che(i)!
50、若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个球,编写程序求出共有多少种不同的颜色搭配。
/*50、若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个球,
编写程序求出共有多少种不同的颜色搭配。
intred;
intwrite;
intblack;
inti=0;
for(red=0;red<=3;red++)
for(write=0;write<=3;write++)
for(black=0;black<=6;black++)
if(red+write+black==8)
i++;
printf("red=%d,write=%d,black=%d\n",red,write,black);
51、100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。
试编写程序计算大、中、小马的数目。
/*bighouse+normalhouse+smallhouse==100;
试编写程序计算大、
中、小马的数目。
intbighouse,normalhouse,smallhouse;
for(bighouse=0;bighouse<=100;bighouse++)
for(normalhouse=0;normalhouse<=100;normalhouse++)
for(smallhouse=0;smallhouse<=100;smallhouse++)
if(bighouse+normalhouse+smallhouse==100&&bighouse*3+normalhouse*2+smallhouse==100)
printf("bighouse=%d,normalhouse=%d,smallhouse=%d",bighouse,normalhouse,smallhouse);
52、编写程序,输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法。
示200以内的完全平方数和它们的个数。
(完全平方数:
A2+B2=C2,求A、B、C)
intd=0;
for(a=0;a<=200;a++)
for(b=0;b<=200;b++)
for(c=0;c<=200;c++)
if(a*a+b*b==c*c)
printf("a=%d,b=%d,c=%d\n",a,b,c);
d++;
printf("number=%d\n",d);
54、设N是一个四位数,它的9倍恰好是其反序数(例如:
123的反序数是321),求N的值。
inta,b,c,d,e,f,g,h,i,j,sum1,sum2;
printf("Entertennumber:
scanf("%d%d%d%d%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);
sum1=0;
sum2=0;
if(a>0)
sum1=sum1+a;
elseif(a<=0)
sum2=sum2+a;
if(b>0)
sum1=sum1+b;
elseif(b<=0)
sum2=sum2+b;
if(c>
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1