|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
#include<stdbool.h>
int get_int();
bool bad_limits(int begin,int end,int low,int high);
double sum_squares(int a,int b);
int main()
{
const int MIN=-1000;
const int MAX=+1000;
int start;
int stop;
double answer;
printf("This program computes the sum of the squares of "
"integers in a range.\nThe lower bound should not "
"be less than -1000 and \nthe upper bound should not"
"be more than +1000\nEnter the limits(enter 0 for "
"both limmits to quit):\nlower limit:");
start=get_int();
printf("upper limit:");
stop=get_int();
while(start!=0||stop!=0)
{
if(bad_limits(start,stop,MIN,MAX))
printf("Please try again.\n");
else{
answer=sum_squares(start,stop);
printf("The sum of the squares of the integers from");
printf(" %d to %d is %g\n",start,stop,answer);
}
printf("Enter the limits(enter 0 for both to quit):\n");
printf("lower:\n");
start=get_int();
printf("upper limit:");
stop=get_int();
}
printf("Done.");
return 0;
}
int get_int()
{
int input;
char ch;
while(scanf("%d",&input)!=1)
{
while((ch=getchar())!='\n')
putchar();
printf("is not an ingeter.\nPlease enter an\
ingeter value,such as 25,-178,or 3:");
}
return input;
}
double sum_square(int a,int b)
{
double total=0;
int i;
for(i=a;i<=b;i++)
total+=i*i;
return total;
}
bool bad_limits(int begin,int end,int low,int high)
{
bool not_good=false;
if(begin>end)
{
printf("$d isn't smaller than %d.\n",begin,end);
not_good=true;
}
if(begin<low||end<low)
{
printf("value must be %d or greater.",low);
not_good=true;
}
if(begin>high||end>high)
{
printf("Value must be %d or less.\n",high);
not_good=true;
}
return not_good;
}
|
|