实话说,这题不会看了答案也不会,CSDN社区的答案是用do语句解答的,有些符号看不懂 sum += a; a++;超了明解这本书的纲,而且运行结果是错的,如图
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a = 0, b = 0, sum = 0;
puts("请输入两个整数");
printf("整数a:"); scanf("%d", &a);
printf("整数b:"); scanf("%d", &b);
if (a > b) //始终是左大右小
{
int c = a;
a = b;
b = c;
}
do{
sum += a;
a++;
} while (a <= b);
printf("大于等于%d小于等于%d的所有整数的和是%d", a, b, sum);
return 0;
}
下面是图灵社区的两个答案,运行结果是对的,这个是利用等差求和公式,能看懂,但是数学不好,c=(a-b+1)(a+b)/2; 忘记这个运算式了。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int a,b;
puts("请输入两个整数。");
printf("整数a:"); scanf("%d",&a);
printf("整数b:"); scanf("%d",&b);
int c;
if(a>b)
c=(a-b+1)(a+b)/2;
else c=(b-a+1)(a+b)/2;
printf("大于等于%d小于等于%d的所有整数的和是%d。\n",(a>b)?b:a,(a>b)?a:b,c);
return 0;
}
这个是图灵社区用do语句解题的,我好好看看能懂,不过这个题纠结两天了,先放这里。
#define _CRT_SECURE_NO_WARNINGS标签:do,入门,int,sum,练习,整数,printf,scanf From: https://blog.51cto.com/u_15866017/5948011
#include <stdio.h>
int main() {
int a,b,sum=0;
puts("请输入两个整数。");
printf("整数a:"); scanf("%d",&a);
printf("整数b:"); scanf("%d",&b);
int n=(a>b)?b:a;
int c=(a>b)?b:a;
int d=(a>b)?a:b;
do{ sum+=n; n=n+1; }
while(n>=c && n<=d);
printf("大于等于%d小于等于%d的所有整数的和是%d。\n",c,d,sum);
return 0;
}