c语言梦工厂梅丽题目含答案
最大公约数
题目:
两个数能同时被一个数所整除,这个数就是公约数。例如,12和20的公约数有1,2,4。其中4是12和20的最大公约数。
输入要求:
输入两个正整数,用逗号分隔。
输出要求:
输出这两个数的最大公约数。
输入示例:
24,60
输出示例:
12
提示:
可以用辗转相除法计算最大公约数;也可以用穷举法求最大公约数。
计算数列和
题目:
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…… 计算这个数列的前n项和。
输入要求:
输入一个正整数n。(n≥1)
输出要求:
输出数列的前n项和(保留两位小数)。
输入示例:
10
输出示例:
s=16.48
提示:
C语言中整数/整数的结果为整数;注意用(float)强制转换为实型后进行计算。
水仙花数
题目:
一个3位正整数的各位数字立方和等于它自身,那么它是水仙花数。例如:153=13+53+33,153是水仙花数。编写程序找出所有的水仙花数。
输入要求:
无
输出要求:
100~999之间的所有水仙花数。
输入示例:
输出示例:
153
370
371
407
提示:
#include
int main(){
int a,b,c;
for(a=1;a<=9;a++){
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
if(a*100+b*10+c*1==a*a*a+b*b*b+c*c*c)
printf("%d\n",a*100+b*10+c*1);
}
return(0);
}
计算阶乘和
题目:
计算1!+2!+3!+……+10!
输入要求:
无输入。
输出要求:
1!+2!+3!+……+10!的计算结果
输入示例:
输出示例:
s=4037913
提示:
#include
int main(){
int j;
int sum=1;
int temp=0;
for(j=1;j<=10;j++){
sum*=j;
temp+=sum;
}
printf("s=%d",temp);
return(0);
}
完数
题目:
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子有:1,2,3;由于6=1+2+3,所以6是完数。要求对于输入的任意一个正整数,验证它是否是完数。
输入要求:
一个正整数n(n≥2)。
输出要求:
如果是完数,输出“xxx is cloze”;否则输出“xxx is not cloze.”。这里的xxx是输入的整数。
输入示例:
28
输出示例:
28 is cloze.
提示:
素数
题目:
一个整数如果不能被1和自身以外的所有整数所整除,那么这个数是素数。编写程序找出200~299之间的所有素数。
输入要求:
无输入。
输出要求:
200~299之间的所有素数。
输入示例:
输出示例:
211
223
227
229
233
239
241
251
257
263
269
271
277
281
283
293
提示:
素数
题目:
一个整数如果不能被1和自身以外的所有整数所整除,那么这个数是素数。编写程序找出200~299之间的所有素数。
输入要求:
无输入。
输出要求:
200~299之间的所有素数。
输入示例:
输出示例:
211
223
227
229
233
239
241
251
257
263
269
271
277
281
283
293
提示:
金字塔图形
题目:
输出一个指定层数的由*组成的金字塔图形。
输入要求:
一个整数n(1≤n≤20)。
输出要求:
由*组成的金字塔图形。
输入示例:
5
输出示例:
*
***
*****
*******
*********
提示:
注意:要保证最后一层图形从第1列输出。
#include
int main(void){
int i,j,ln;
printf("三角形有几层:");
scanf("%d",&ln);
for(i=1;i<=ln;i++){
for(j=1;j<=ln-i;j++)
putchar(' ');
for(j=1;j<=2*i-1;j++)
putchar('*');
putchar('\n');
}
return(0);
}
数字菱形
题目:
输出由数字组成的菱形图案。
输入要求:
一个数字(1≤n≤9)。
输出要求:
由数字组成的菱形图案。其中,菱形图案当中一层的数字正好是输入的数字。
输入示例:
6
输出示例