东华大学2020考研计算机OJ题目解答分享——进阶篇(18)

18 累加式

作者: 朱星垠时间限制: 10S章节: 循环

问题描述 :

累加式对于明明来说是一个全新的概念,他在数学课上第一次听到了这个名词。可是明明在课堂上并没有完全明白,于是回家后明明就问他爸爸什么是累加式。明明的爸爸是一位数学家,自然对累加式非常熟悉,告诉明明:“累加式是一种表达式,这种表达式的构成方法是这样的:从1开始加,其后的每一个数都比前一个数大1,然后加到某一个数后停止递增,之后每加的一个数都比前一个数小1,一直加到1为止,这样构成的一个表达式称为累加式。 例如1+2+3+4+3+2+1就是一个累加式,它从1开始加到4,然后再加到1,完成累加的过程。”明明对他爸爸的回答相当满意,于是想构造更多的累加式出来,可是明明又不想过于辛苦,他来求助于你,帮他写一个程序,完成累加式的构造。 明明的问题可以归结为:给你一个正整数n,完成从1到n再到1的累加式的构造。

输入说明 :

你写的程序要求从标准输入设备中读入测试数据作为你所写程序的输入数据。标准输入设备中有多组测试数据,每组测试数据仅占一行,每行仅包含一个正整数n(1≤n≤10)。每组测试数据与其后一组测试数据之间没有任何空行,第一组测试数据前面以及最后一组测试数据后面也都没有任何空行。

输出说明 :

对于每一组测试数据,你写的程序要求计算出一组相应的运算结果,并将这一组运算结果作为你所写程序的输出数据依次写入到标准输出设备中。每组运算结果由一个1到n再到1的累加式构成,累加式中不包含空格;每组运算结果与其后一组运算结果之间没有任何空行,第一组运算结果前面以及最后一组运算结果后面也都没有任何空行。 注:通常,显示屏为标准输出设备。

输入范例 :

1
5
10

输出范例 :

1
1+2+3+4+5+4+3+2+1
1+2+3+4+5+6+7+8+9+10+9+8+7+6+5+4+3+2+1

解答思路:

没什么需要注意的

AC代码

#include <stdio.h>
#include <string.h>

int main()
{
	int n;
	while(~scanf("%d",&n))
	{
		for(int i=1;i<n;i++)
		{
			printf("%d+",i);
		}
		while(n)
		{
			printf("%d",n);
			if(n==1)
			{
				printf("\n");
			}
		
			else
			{
				printf("+");
			}
			n--;
		}
	}

}
发布了61 篇原创文章 · 获赞 5 · 访问量 2453

猜你喜欢

转载自blog.csdn.net/qq_38344326/article/details/104636767
今日推荐