按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后
问第一个人,他说是10岁。请问第五个人多大?
1。程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道
第四人的岁数,依次类推,推到第一人(10岁),再往回推。
2。程序源代码:
age(n)
int n;
{
int c;
if(n1) c=10;
else c=age(n…1)+2;
return(c);
}
main()
{ printf(〃%d〃;age(5));
}
…
【程序29】
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
1。 程序分析:学会分解出每一位数,如下解释:(这里是一种简单的算法,师专数002班赵鑫提供)
2。程序源代码:
main( )
{
long a;b;c;d;e;x;
scanf(〃%ld〃;&x);
a=x/10000;/*分解出万位*/
b=x%10000/1000;/*分解出千位*/
c=x%1000/100;/*分解出百位*/
d=x%100/10;/*分解出十位*/
e=x%10;/*分解出个位*/
if (a!=0) printf(〃there are 5; %ld %ld %ld %ld %ldn〃;e;d;c;b;a);
else if (b!=0) printf(〃there are 4; %ld %ld %ld %ldn〃;e;d;c;b);
else if (c!=0) printf(〃 there are 3;%ld %ld %ldn〃;e;d;c);
else if (d!=0) printf(〃there are 2; %ld %ldn〃;e;d);
else if (e!=0) printf(〃 there are 1;%ldn〃;e);
}
…
【程序30】
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
1。程序分析:同29例
2。程序源代码:
main( )
{
long ge;shi;qian;wan;x;
scanf(〃%ld〃;&x);
wan=x/10000;
qian=x%10000/1000;
shi=x%100/10;
ge=x%10;
if (gewan&&shiqian)/*个位等于万位并且十位等于千位*/
printf(〃this number is a huiwenn〃);
else
printf(〃this number is not a huiwenn〃);
}
经典C语言程序设计100例31…40
【程序31】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续
判断第二个字母。
1。程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
2。程序源代码:
#include
void main()
{
char letter;
printf(〃please input the first letter of somedayn〃);
while ((letter=getch())!='Y')/*当所按字母为Y时才结束*/
{ switch (letter)
{case 'S':printf(〃please input second lettern〃);
if((letter=getch())'a')
printf(〃saturdayn〃);
else if ((letter=getch())'u')
printf(〃sundayn〃);
else printf(〃data errorn〃);
break;
case 'F':printf(〃fridayn〃);break;
case 'M':printf(〃mondayn〃);break;
case 'T':printf(〃please input second lettern〃);
if((letter=getch())'u')
printf(〃tuesdayn〃);
else if ((letter=getch())'h')
printf(〃thursdayn〃);
else printf(〃data errorn〃);
break;
case 'W':printf(〃wednesdayn〃);break;
default: printf(〃data errorn〃);
}
}
}
…
【程序32】
题目:Press any key to change color; do you want to try it。 Please hurry up!
1。程序分析:
2。程序源代码:
#include
void main(void)
{
int color;
for (color = 0; color 《 8; color++)
{
textbackground(color);/*设置文本的背景颜色*/
cprintf(〃This is color %drn〃; color);
cprintf(〃Press any key to continuern〃);
getch();/*输入字符看不见*/
}
}
…
【程序33】
题目:学习gotoxy()与clrscr()函数
1。程序分析:
2。程序源代码:
#include
void main(void)
{
clrscr();/*清屏函数*/
textbackground(2);
gotoxy(1; 5);/*定位函数*/
cprintf(〃Output at row 5 column 1n〃);
textbackground(3);
gotoxy(20; 10);
cprintf(〃Output at row 10 column 20n〃);
}
…
【程序34】
题目:练习函数调用
1。 程序分析:
2。程序源代码:
#include
void hello_world(void)
{
printf(〃Hello; world!n〃);
}
void three_hellos(void)
{
int counter;
for (counter = 1; counter