C 语言经典编程案例
一、猴子吃桃问题
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将
剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第
10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
程序分析:
采取逆向思维的方法,从后往前推断。第一天的桃子数是第 2 天桃子数加 1 后的 2 倍。
程序源代码:
main()
{
int day,fir,sec;
day=9;
sec=1;
while(day>0)
{
fir=(sec+1)*2;
sec=fir;
day--;
}
printf("the total is %d",fir);
}
二、回文数字问题
给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
程序分析:
分解出每个位上的数字。
程序源代码:
main( )
{
long mil,thou,hun,ten,a,x;
scanf("%d",&x);
mil=x/10000;
thou=x%10000/1000;
hun=x%1000/100;
ten=x%100/10;
a=x%10;
if (mil!=0) printf("there are 5, %d %d %d %d %d",a,ten,hun,thou,mil);