第十一题:一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下;求它在第十次落地时,共经过多少米?第十次反弹多高?
#include<stdio.h>
#include<stdlib.h>
int main()
{
float height = 100.0;
int i = 0;
float S_height = 100;
for (i = 2; i <= 10; i++)
{
height = height / 2;
S_height += height * 2;
printf("第%d次共经过%f米,反弹%f米\n", i, S_height, height);
}
printf("第1次共经过100米,反弹0米\n");
system("pause");
return 0;
}
第十二题:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。到第十天早上想再吃时,见只剩下一个桃子了,求第一天共摘了多少桃子?
#include<stdio.h>
#include<stdlib.h>
int main()
{
int peach = 0;
int day = 9;
int remain = 1; //第10天剩下的桃子
for (day = 9; day > 0; day--)
{
remain = (remain + 1) * 2;
peach = remain;
}
printf("peach=%d\n", peach);
system("pause");
return 0;
}
第十三题:求 1 + 2!+ 3!+ … + 20! 的和。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
int sum = 0;
int tmp = 1;
for (i = 1; i <= 20; i++)
{
tmp = tmp * i;
sum = sum + tmp;
}
printf("sum=%d\n", sum);
system("pause");
return 0;
}
第十四题:判断一个数是否为回文数。(回文数也是一个数字,数字的特点是正反序是同一个数字,如 12321 ,3443 就是回文数)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int x = 0;
int y = 0;
int tmp = 0;
printf("请输入要判断的数:>");
scanf("%d", &x);
tmp = x;
while (tmp)
{
y = y * 10 + tmp % 10;
tmp = tmp / 10;
}
if (x == y)
{
printf("该数是回文数\n");
}
else
{
printf("该数 不是回文数\n");
}
system("pause");
return 0;
}
第十五题:判断一个字符串是否为回文字符串。(回文字符串是一个字符串,但是原字符串和字符串逆序之后一样,比如:”abcba”,”cddc”就是回文字符串)。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int fun(char *str)
{
int i = 0;
int len = strlen(str);
for (i = 0; i < len; i++)
{
if (str[i] == (str[len - 1]))
{
len--;
}
else
{
return -1;
}
}
return 1;
}
int main()
{
char arr[] = "abcba";
puts(arr);
printf("%d\n",fun(arr));
system("pause");
return 0;
}