40 按要求输出序列

news/2025/2/25 0:20:53

40 按要求输出序列

作者: 孙辞海 时间限制: 10S章节: 一维数组

问题描述 :

明明的爸爸是一位著名的数学家。他在明明很小的时候就发现明明有过人的数学天赋,因此有意培养他对数学的兴趣。一次,明明的爸爸为了培养明明对数字的敏感,和明明玩起了一个数字游戏,这个游戏的名称叫“按要求输出序列”。在游戏中,明明的爸爸给了明明一串数字,要求明明首先把这串数字中重复出现的数字删除到仅剩一个,即相同的数字只保留一个,然后将这串数字从小到大进行排序。明明很快就理解了游戏的规则,开始玩起来。明明的爸爸首先给了明明三个数字:3、2、1;明明很快就回答说:“1、2、3”。明明的爸爸惊讶于明明的反应能力,开始加大游戏的难度,给出了由6个数字组成的数字串:2、1、4、3、5、2;明明眼珠子一转,脱口而出:“1、2、3、4、5”(由于“2”出现了两次,因此要删除一个,然后再排序输出。)。明明的爸爸意识到简单的数字串难不住明明,于是决定给出很长的一串数字串来考明明。但与此同时,明明爸爸面对这很长的数字串也无法一时计算出最后的结果,于是就求助于你,让你帮他写一个程序,用来计算出数字串最后的结果。

明明的爸爸的问题可以归结为:给你一个数字串,里面有n个数字,首先对数字串中的数字进行处理,删除重复出现的数字(重复出现的数字只保留一个),然后对数字串从小到大进行排序,最后输出排序后的字符串。

输入说明 :

你写的程序要求从标准输入设备中读入测试数据作为你所写程序的输入数据。标准输入设备中有多组测试数据,每组测试数据占两行:

第一行是一个正整数n(1≤n≤200),表示数字串中有n个数字,

第二行是n个数字,n个数字都大于等于0且小于等于109,每两个数字用一个空格隔开。

每组测试数据与其后一组测试数据之间没有任何空行,第一组测试数据前面以及最后一组测试数据后面也都没有任何空行。

输出说明 :

对于每一组测试数据,你写的程序要求计算出一组相应的运算结果,并将这一组运算结果作为你所写程序的输出数据依次写入到标准输出设备中。每组运算结果为一个排序后的数字串,数字串中的数字用一个空格隔开。每组运算结果单独形成一行数据,其行首和行尾都没有任何空格,每组运算结果与其后一组运算结果之间没有任何空行,第一组运算结果前面以及最后一组运算结果后面也都没有任何空行。 注:通常,显示屏为标准输出设备。

输入范例 :

5
4 2 2 6 6
9
76 19 1 2 55 37 38 55 76
输出范例 :

2 4 6
1 2 19 37 38 55 76

#include<stdio.h>
#include<memory.h>
int main(){
	int n,i,j,min,len,temp;
	int a[500];
	while(scanf("%d",&n)!=EOF){
		memset(a,0,sizeof(int)*n);
		scanf("%d",&a[0]);
		for(i=1;i<n;i++){
			scanf("%d",&a[i]);
		}
		//排序asc  这里我用选择
		for(i=0;i<n-1;i++){
			min=i;
			for(j=i+1;j<n;j++){
				if(a[min]>a[j]){
					min=j;
				}
			}	
			if(i!=min){
				temp=a[i];
				a[i]=a[min];
				a[min]=temp;
			}
		}
		//有序数组去除重复元素
		for(i=0,j=1;j<n;j++){
			if(a[i]!=a[j]){
				a[++i]=a[j];
			}
		}
		len=i+1;
		for(i=0;i<len;i++){
			if(i==len-1){
				printf("%d\n",a[i]);
			}else{
				printf("%d ",a[i]);
			}
		}
	}
	return 0;
}


http://www.niftyadmin.cn/n/710472.html

相关文章

Android4.2项目目录结构

初始Android项目文件结构 刚接触Android项目&#xff0c;复杂的目录结构让人抓狂&#xff0c;这里以HelloWorld项目为例对目录结构进行详解。Android4.2为例 1&#xff1a;src JAVA源代码都放在这里面。新建一个简单的HelloWorld项目&#xff0c;系统为我们生成了一个HelloWorl…

32 三艘船

32 三艘船 作者: 朱星垠 时间限制: 10S章节: 一维数组 问题描述 : 明明由于工作的关系&#xff0c;经常需要坐船到某地出差办事。久而久之&#xff0c;明明就对这两地之间船的班次情况相当了解&#xff0c;他会根据办事的具体情况选择不同班次的船出行。这两地的船一共分为三…

FTL 语法

2019独角兽企业重金招聘Python工程师标准>>> 判断对象是否存在&#xff0c;若成立说明存在 <#if blockObjList ??></#if> <#if blockObjList ??> <#else> </#if> 判断知否和某一个值相等(先判断是否存在&#xff0c;在判断相…

41 部落人乘法

41 部落人乘法 作者: 朱星垠 时间限制: 10S章节: 一维数组 问题描述 : 明明热爱数学&#xff0c;他的爸爸也有意培养明明对数学的兴趣。 一次&#xff0c;为了拓展明明的知识面&#xff0c;爸爸给明明讲了一个原始部落人计算乘法的方法&#xff1a; 据说原始部落人以小石子…

Scala 深入浅出实战经典 第99讲:手动Artifacts打包并运行SBT开发Akka第一个案例

打包成jar包的方式&#xff1a;File -> Project structure -> Artfact -> 点 -> JAR -> From modules with dependencies...-> 选择module -> 可指定Main class -> 点击OKDT大数据梦工厂微信公众账号&#xff1a;DT_Spark。DT大数据梦工厂的微信公众号…

44 双重回文数

44 双重回文数 作者: xxx时间限制: 1S章节: 一维数组 问题描述 : 如果一个数从左往右读和从右往左读都是一样&#xff0c;那么这个数就叫做回文数。例如&#xff0c;12321就是一个回文数&#xff0c;而77778就不是。当然&#xff0c;回文数的首和尾都应是非零的&#xff0c;…

C语言:分数化小数

描述 输入正整数a,b,c&#xff0c;输出a/b的小数形式&#xff0c;精确到小数点后c位(注意最后一位的四舍五入问题)。2 < a,b,c < 1000。&#xff08;注意本题小数保留范围&#xff09;。 输入 第1行是一个整数n&#xff0c;表示随后有n组数据。每组数据占一行&#xf…

安卓开发趣事

Mac下开发安卓的趣事 想要在eclipse下安装ADT&#xff0c;却发现自己老早就安装好了&#xff0c;这段时间忙得晕头转向。而且刚才也是因为Xcode玩腻了才想到玩安卓。还有Android Studio我老早就安装好了&#xff0c;只是忘记sdk安装路径了&#xff0c;于是打开Android SDK Mana…