这个程序是让用户输入一对整数,然后检测这对整数是否在规定范围内,并求取其间的数的平方和,但是这段代码只能运行一次,求完一个值就会退出,请各位给一个让它能循环读取数据并求值的思路,谢谢!
#include<stdio.h>
#include<math.h>
long check();
double cal(long start, long stop);
long check_rage(long start, long stop);
int main()
{
long start, stop; //start为用户输入的最小值,stop为最大值
printf("请输入你所需要求的范围(整数),依次输入最小与最大值,最大不超过1000000,最小不低于-10000000:\n");
start = check();
stop = check();
while (start != 0 && stop != 0)
{
if (check_rage(start,stop))
{
printf("结果是:%lf", cal(start, stop));
}
else
{
printf("输入数值不合法,请重新输入:\n");
}
}
}
long check()
{
long input;
while ((scanf_s("%ld", &input)) != 1)
{
printf("%ld不是一个合法的数值,请依次输入最小与最大值,最大不超过1000000,最小不低于-10000000\n", input);
}
return input;
} //检测输入的数值是否为整数
double cal(long start, long stop) //计算平方和
{
double answer=0;
for (; start <= stop; start++)
{
answer+=pow(start, 2);
}
return answer;
}//计算平方和
long check_rage(long start, long stop)
{
long max = 10000000;
long min = -10000000;
bool test = false;
if (start<stop && start>min && stop < max)
{
test = true;
}
return test;
} //判断范围