第一题
#include <stdio.h>
int main(void)
{
float sn = 100.0;
float hn = sn / 2;
int n;
for( n = 2; n <= 10; n++){
sn = sn + 2 * hn;
hn = hn / 2;
}
printf("总共经过了%f米\n", sn);
printf("第十次反弹%f米\n", hn);
return 0;
}
第二题
#include <stdio.h>
int main(void)
{
int ge, shi, qian, wan, x;
scanf("%d", &x);
wan = x / 10000;
qian = x/ 100 % 10;
shi = x / 10 % 10;
ge = x % 10;
if( ge == wan && shi == qian ) {
printf("是回文数\n");
}
else{
printf("不是回文数\n");
}
return 0;
}
第三题
下面是用数组解决
#define N 50
#include<stdio.h>
int main(void)
{
int i, k, m, n, num[N];
scanf("%d", &n);
for( i = 0; i < n; i++){
num[i] = i + 1;
}
i = 0;
k = 0;
m = 0;
while( m < n - 1) {
if( num[i] != 0 ) {
k++;
}
if( k == 3) {
num[i] = 0;
k = 0;
m++;
}
i++;
if( i == n ) {
i = 0;
}
}
i = 0;
while( num[i] == 0 ) {
i++;
}
printf("%d留下\n", i+1);
return 0;
}