C语言五道题目,求完整解答.

来源:百度知道 编辑:UC知道 时间:2024/05/23 18:18:08
刚学习了循环控制这章,几个习题不会做,写出来请加注释说明.写详细的啊,给50分
1,输入两个正数m和n,求起最大公约数,和最小公约数.

2,输入一行字符,分别统计出其中英文字母,空格,数字和其他字符个数.

3,打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如,153是一水仙花数,153=1*1*1+5*5*5+3*3*3

4.一球从100米高度自由落下,每次落地后反跳回原来的高度一半,再落下.求,它在第10次落地时,共经过多少米?第10次反弹多高?

5.猴子吃桃子问题,猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又吃了剩下的桃子的一半,又多吃一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想吃时候,见只剩一个桃子了,求第一天工摘了几个桃子
答出来再加100分

答案如下:

第一题:

main()
{
int a, b, num1, num2, temp;
printf( "please input two numbers:\n" );
scanf( "%d, %d" , &num1, &num2);
if (num1 < num2)
{
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);
}

/*---------------------------------------------------------------*/

第二题:

#include "stdio.h"
main()
{
char c;
int letters = 0, space = 0, digit = 0, others = 0;
printf( "please input some characters\n" );
while ((c = getchar()) != '\n')
{
if (c > = 'a' && c <= 'z' || c > = 'A' && c <= 'Z'