c语言数列求和求前n项和要求输入一个小于100的整数,如何保证输入的为整数?就比如我输入2它输出0.5000但是我输入2.5它还是输出0.5000怎么解决这个读取问题?
这么写,供参考:
#include <stdio.h>
int main()
{
int n, i, a, b;
double s = 0;
scanf("%d", &n);
for (i = 1, a = 1, b = 1; i <= n; i++) {
if (i % 2 == 1)
s += 1.0 * a / b;
else
s -= 1.0 * a / b;
b += a;
a = b - a;
}
printf("%.4f", s);
return 0;
}
这个输入没有问题,算法题测试的数据集都是整数。只不过你在编译器上运行的时候你输入的是2.5
保证输入的整数这不是你应该操心的事
题目告诉你了输入的数据就都是整数,你就按整数来处理
你想保证不管输入什么都能处理,那你只能接收字符串了,然后再通过字符串判断里面放的到底是个什么