C语言程序的结构是
函数名main()
{ 数据定义部分;
语句;
}
所以,把你程序中sum和term定义语句放在输入语句之前,就可以了。
include
void main()
{
int a;
float sum,term;
scanf("%d",&a);
sum=a;
term=a+1;
while(term<=a+99)
{
sum=sum+term;
term=term+1;
}
printf("%f\n",sum);
}
term是float型,无法和a++99比较,两者类型不同
你将while(term<=a+99)改为while(int(term)<=a+99)
应该就行了
你犯了一个低级错误,C语言中要求变量的声明要放在函数执行语句的最前边。
也就是float sum=a,term=a+1;语句要放在scanf("%d",&a);之前。
但是你会疑惑,那么sum = a,term = a + 1;不就得不到正确的值了?
你可以像下边这样做:
#include
void main()
{
int a = 0;
float sum = 0,term = 0;
scanf("%d",&a);
sum = (float)a;
term = (float)(a + 1);
while(term<=a+99)
{
sum=sum+term;
term=term+1;
}
printf("%f\n",sum);
}
修改的代码如下:
第一个错误是变量term没声明,在呢就是声明的时候请把声明的部分放在开头,C语言是不允许你吧变量放在程序体里声明,但是在C++里面试允许的,需要注意
还有就是你的 int a;
scanf("%d",&a);
float sum=a,term=a+1;
中,a是整数而你啊却给了一个实型的虽然是可以的但我个人觉得作为一个初学者最好是严谨些,对将来是只有好处的
#include "stdio.h"
#include "conio.h"
void main()
{
int a;float sum,term;
scanf("%d",&a);
sum=(int)a;
term=a+1;
while(term<=a+99)
{
sum=sum+term;
term=term+1;
}
printf("%f\n",sum);
getch();
}
错误:定义sum和term时,写在了scanf之后,C语言变量必须先定义后使用,应该写在最前面;
修改:1,改用double类型,精确度更高,可以使用小数进行运算;2,定义变量double a,sum,term;
写在前面,变量赋值sum=a;term=a+98;写在后面;3,添加getch();语句,方便查看结果。
以下是本人修改后的代码(仅供参考):
#include
void main()
{
double a,sum,term;
scanf("%lf",&a);
sum=a;
term=a+98;
while(term<=a+99)
{
sum=sum+term;
term=term+1;
}
printf("%lf\n",sum);
getch();
}
#include
void main()
{
int a;
float sum = 0;
float term = 0;
/*C语言中要求变量的声明要放在函数执行语句的最前边。*/
scanf("%d",&a);
sum = (float)a;
term = (float)(a + 1);
while(term<=a+99)
{
sum=sum+term;
term=term+1;
}
printf("%f\n",sum);
}