问第一个人,他说是10岁。请问第五个人多大
1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人
岁数,需知道
第四人的岁数,依次类推,推到第一人(10岁),再往回推。
2.程序源代码:
age(n) int n; { int c; if(n==1) c=10; else c=age(n-1)+2;
return(c);
} main()
{ printf(\
}
==============================================================
【程序29】
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各
位数字。
1. 程序分析:学会分解出每一位数,如下解释:(这里是一种简单的算法,师专数
002班赵鑫提供) 2.程序源代码:
main( )
{
long a,b,c,d,e,x; scanf(\ a=x/10000;/*分解出万位*/ b=x000/1000;/*分解出千位*/ c=x00/100;/*分解出百位*/ d=x0/10;/*分解出十位*/ e=x;/*分解出个位*/
if (a!=0) printf(\ else if (b!=0) printf(\ else if (c!=0) printf(\ else if (d!=0) printf(\ else if (e!=0) printf(\
}
==============================================================
【程序30】
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,
十位与千位相同。 1.程序分析:同29例 2.程序源代码:
main( ) {
long ge,shi,qian,wan,x;
scanf(\
wan=x/10000; qian=x000/1000; shi=x0/10; ge=x;
if (ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/
printf(\
else
printf(\
} 【程序31】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则
继续
判断第二个字母。
1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语
句判断第二个字母。 2.程序源代码: #include void main()
{ char letter;
printf(\ while ((letter=getch())!='y')/*当所按字母为y时才结束*/
{ switch (letter)
{case 's':printf(\
if((letter=getch())=='a') printf(\ else if ((letter=getch())=='u') printf(\ else printf(\
break;
case 'f':printf(\ case 'm':printf(\
case 't':printf(\
if((letter=getch())=='u') printf(\ else if ((letter=getch())=='h') printf(\ else printf(\
break;
case 'w':printf(\ default: printf(\
} } }
==============================================================
【程序32】
题目:press any key to change color, do you want to try it. please hurry up!
1.程序分析: