一、基本方法:
1、输入M和N;
2、遍历从M到N的所有整数;
3、每个累加;
4、输出结果。
参考代码:
#include
int main()
{
int M,N,n,s=0;
scanf("%d%d",&M,&N);//输入
for(n = M; n <= N; n ++)//遍历
s+=n;//累加每个整数。
printf("%d\n",s);//输出结果。
return 0;
}
二、利用等差数列求和公式。
从M到N的所有整数为等差数列,公差为1,所以可以利用求和公式直接获得结果。
#include
int main()
{
int M,N,n,s=0;
scanf("%d%d",&M,&N);//输入
s=(M+N)*(N-M+1)/2;//等差数列求和。
printf("%d\n",s);//输出结果。
return 0;
}
三、方法对比:
第一种适用于C语言练习,可以涉及更多知识点。
第二种方法效率更高,适用于实际应用。
main()
{
int m,n,i,s=0;
printf("%d%d",&m,&n);
/* 如果m大于n,两数交换*/
if( m>n )
{ m=m+n;
n-m-n;
m=m-n;
}
/* 从m到n的所有数相加 */
for ( i=m;i<=n;i++ )
s+=i;
printf("结果是:%d\n",s);
}
代码如下,不明白追问!
#include
int main(void)
{
int i, M, N;
long int sum = 0;
printf("请输入两个正整数M、N:\n");
scanf("%d %d",&M,&M);
printf("你输入的M = %d N = %d\n", M, N);
if(M > N)
{
i = M;
M = N;
N = i;
}
for(i=M+1; i
sum += i;
}
printf("%d和%d之间的所有整数和等于 %ld\n", M, N, sum);
}
#include
int fun(int a[])
{
int sum=a[0], average,i;
for(i=a[0];i{
sum+=a[0]+1;
a[0]=a[0]+1;
}
printf("总和为:%d", sum);
}
int main()
{
int a[2], i;
printf("输入两个数:");
for (i = 0; i < 2; i++)
scanf("%d", &a[i]);
fun(a);
}
我用的调用函数输出,祝你愉快!
#include
int main(void)
{
int m = 0;
int n = 0;
int i = 0;
int sum = 0;
printf("Enter two numbers:");
scanf("%d %d",&m,&n);
if(m < n)
{
for(i = m; i <= n; i++)
{
sum += i;
}
printf("Sum is %d",sum);
}
else
{
printf("Enter Error");
}
return 0;
}