//?解:狗熊吃玉米问题
#include<stdio.h>
int?EatCorn(int?days)?//?递归调用狗熊吃玉米
{
if(days==1)
return?1;
else?return((EatCorn(days-1)+1)*2);?//?狗熊每天都吃掉前一天的一半多一个
}
void?main(void)
{
printf("%d\n",EatCorn(10));
}
//?Diamond问题
#include<stdio.h>
void?main(void)
{
for?(int?i=0;i<=6;i++)?//?控制行数,***7行
{
if?(i<4)?//?控制前四行
{
for?(int?j=0;j<=2-i;j++)
?printf("%s","?");?//?控制左边空隙
for?(int?m=0;m<=i*2;m++)
?printf("*");
printf("\n");
}
else?//?控制后三行
{
?for?(int?v=4;v<=i;v++)
?printf("%s","?");
?for(int?n=0;n<=12-2*i;n++)?//?原理就是第5行(含)后递减2
?printf("*");
?printf("\n");
}
}
}
//?原理特别说明:
//?当i=4时,则12-2*4=4(千万不要误会是4个星号它是5个星号,下标是0开始的,下述同理)
//?当i=5时,则12-2*5=2
//?当i=6时,则12-2*6=0
1、 程序菜单是很简单的,它主要是考察了对ASCII码,只需把char转换成ASCII码并判断它是不是1---6数字,若不是则返回或者给出适当的提示。对此,太简单就不作写代码了。
1)、2)、3)没有看明白题意。