第一题 输出乘法口诀表
思路就是for循环的嵌套使用,i代表行数,j代表列数。
int main()
{
int i = 0;
for (i = 1; i <= 9; i++)
{
int j = 1;
for (j = 1; j <= i; j++)
{
printf("%d*%d=%-2d\t", i, j, i*j);// %2d 表示 控制宽度为 2 个字符 (占 2 位),右对齐;%-2d 表示左对齐
}
printf("\n");// 每一行以后换行
}
return 0;
}
第二题 猴子吃桃子问题
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,发现只剩下一个桃子了。
这题可以使用递归的思路逆推回去,每一天吃的桃子都是后一天加一个的两倍,就可以从最后一天往前推来计算。
int main()
{
int x1, x2;
int day = 0;
x2= 1;
for (day = 1; day <= 9;day++)
{
x1 = (x2 + 1) * 2;/*第一天的桃子数是第二天桃子数加1后的2倍*/
x2 = x1;
}
printf("the total is %d\n", x1); /* 输出桃子的总数*/
return 0;
}