为了账号安全,请及时绑定邮箱和手机立即绑定

麻烦大神解释一下这段c代码

麻烦大神解释一下这段c代码

C C++
苏和666 2017-01-30 11:31:49
//验证输入 #include<stdio.h> #include<stdbool.h> //验证输入是一个整数 long get_long(void); //验证范围上下限是否有效 bool bad_limits(long begin, long end,     long low, long high); //计算a-b之间的整数平方和 double sum_squares(long a, long b); int main(void) {  const long MIN = -10000000L;  const long MAX = +10000000L;  long start;  long 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 -1000000 and\nthe upper bound"  "should not be more than +10000000.\nEnter the"  "limits (enter 0 for both limits to quit):\n"  "lower limit:");  start = get_long();  printf("upper limit:");  stop = get_long();  while (start != 0 || stop != 0)  {   if (bad_limits(start, stop, MIN, MAX))    printf("Plase try again.\n");   else   {    answer = sum_squares(start, stop);    printf("The sum of the squares of the integers ");    printf("form %ld to %ld is %g\n",     start, stop, answer);   }   printf("Enter the limits (enter 0 for both"    "limits to quit):\n");   printf("lower limit: ");   start = get_long();   printf("upper limit: ");   stop = get_long();  }  printf("Done.\n");  return 0; } long get_long(void) {  long input;  char ch;  while (scanf("%ld"), &input != 1)  {   while ((ch = getchar()) != '\n')    putchar(ch);   printf(" is not an integer.\nPlease enter an ");   printf("integer value, such as 25, -178, or 3:");  }  return input; } double sum_squares(long a, long b) {  double total = 0;  long i;  for (i = a; i <= b; i++)   total += (double)i * (double)i;  return total; } bool bad_limits(long begin, long end,     long low, long high) {  bool not_good = false;  if (begin > end)  {   printf("%ld isn't smaller than %ld.\n",begin, end);   not_good = true;  }  if (begin < low || end < low)  {   printf("Values must be %ld or greater.\n", low);   not_good = true;  }  if (begin > high || end > high)  {   printf("Values must be %ld or less.\n", high);   not_good = true;  }  return not_good; }
查看完整描述

1 回答

?
黑山头山大王

TA贡献20条经验 获得超8个赞

不懂,没学过C

查看完整回答
反对 回复 2017-02-06
  • 1 回答
  • 0 关注
  • 1603 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信