题目:
题目分析:
1.输入值为正整数x,类型为int整型;
2.根据输出样式分析:输入为‘4’,输出'1+...+4=10',需原样输入输出不需要多余的语句
重点解决输出格式问题
代码如下:
#include
int main()
{
int i ;
int x ;
int y; //定义i,x,y三个整形变量
int sum = 0; //定义sum用于保存每次求和的值
scanf("%d", &x); //输入语句---输入x的值以十进制整数的形式 储存在内存当中
//低版本的编译器中使用scanf;
//高版本编译器中(eg. vs2013/vs2022)会提示scanf函数不安全
//解决方法使用scanf_s函数代替,或定义宏解决
for (i = 1; i <= x; i++)
{
sum += i; //sum=sum+i 每次进入for循环i的值与sum相加并赋值给sum
}
for (y = 1; y <= x - 1; y++) //注意以上两个for循环非嵌套形式 此处for循环目的是保证在
输出语句中达到1+2+..+n的效果而单独平行设计的循环语句
printf("%d+", y); //输出1+2+.....
printf("%d", y); //输出n
printf("=%d\n", sum); //输出=sum
return 0;
}
代码编译效果(此处以n=5为例):
亦可以由后向前累加
思路与前面相同,此处仅给出代码,不作过多赘述
#include
int main()
{
int i ;
int x ;
int y; //定义i,x,y三个整形变量
int sum = 0; //定义sum用于保存每次求和的值
scanf("%d", &x); //输入语句---输入x的值以十进制整数的形式 储存在内存当中
//低版本的编译器中使用scanf;
//高版本编译器中(eg. vs2013/vs2022)会提示scanf函数不安全
//解决方法使用scanf_s函数代替,或定义宏解决
for (i = 1; i <= x; i++)
{
sum += i; //sum=sum+i 每次进入for循环i的值与sum相加并赋值给sum
}
for (y = x; y >=2 ; y--) //注意以上两个for循环非嵌套形式 此处for循环目的是保证在
输出语句中达到1+2+..+n的效果而单独平行设计的循环语句
printf("%d+", y);
printf("%d", y);
printf("=%d\n", sum);
return 0;
}
代码编译效果(此处以n=5为例):
知识拓展 C语言实现从1到n累加,使用不同方法实现 1.使用For循环---以自定义函数的方法实现
#include
int add(int n)
{
int i,sum=0;
for(i=1;i<=n;i++)
{
sum=sum+i;
}
return sum;
}
int main()
{
int n,s;
printf("请输入n的值:");
scanf("%d",&n);
s=add(n);
printf("1+2+3+4+5+.....+%d=%d\n",n,s);
return 0;
}
代码编译效果如下:
#include
int main()
{
int sum, i;
sum = 0;
i = 1;
int x;
scanf_s("%d", &x);
while (i <= x)
{
sum += i;
i++;
}
printf("%d\n", sum);
return 0;
}
代码编译效果如下:
3.使用do...while语句进行循环#include
int main()
{
int sum, i;
sum = 0;
i = 1;
int x;
scanf_s("%d", &x);
do
{
sum += i;
i++;
} while (i <= x);
printf("%d\n", sum);
return 0;
}
代码运行结果如下:
4.使用if语句与goto语句进行循环#include
int main()
{
int sum, i;
sum = 0;
i = 1;
int x;
scanf_s("%d", &x);
go: if (i <= x)
{
sum += i;
i++;
goto go;
}
printf("%d\n", sum);
return 0;
}
代码运行结果如下:
编著注:以上对本小题的代码编写的多种方法,欢迎大家收藏借鉴并转发;
以上代码仅供参考,如有问题欢迎大家在留言区批评指正;
版权所有,翻印必究,如有雷同纯属巧合,转载请注明出处。
By CRH380AJ2808 2022.04.20
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)