给定两个整数A和B,输出从A到B的所有整数以及这些数的和。
输入格式:
输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。
输出格式:
首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X
的格式输出全部数字的和X
。
输入样例:
-3 8
输出样例:
-3 -2 -1 0 1
2 3 4 5 6
7 8
Sum = 30
题目和介绍都和简单,这个没什么操作难度,我讲一下我的思路利用二维数组和平常的方法都行我这里就用一个简单的方法来写了
#include<stdio.h>
int main()
{
int a,b,c=0,i,Sum=0,d;
scanf("%d %d",&a,&b);//a是初始数b是末尾数
c=b-a+1;//表示数字的个数
d=a;//我下面对a的值有改变所以用d来获得a的值
for(i=1;i<=c;i++)//循环c次获得从头到尾的所有个数
{
if(i>1)//因为每五个换行我下面的操作是余数等1换行也就是第6,11等进行换行
{
if(i%5==1)
{
printf("\n");
}
printf("%5d",a);//%5d五个字符
a++;
}
else//这里是f==1直接打印
{
printf("%5d",a);
a++;
}
}
printf("\n");
for(i=1;i<=c;i++)//所有个数相加的一个循环
{
Sum=Sum+d;
d++;
}
printf("Sum = %d",Sum);
return 0;
}
代码很简单一看就懂,下面是PTA测试
这边已经欧克了,有什么好的建议和改进可以相互说一下一起学习