QvQ


私信TA

用户名:927937414

访问量:28102

签 名:

还是好好学习吧

等  级
排  名 77
经  验 9399
参赛次数 9
文章发表 44
年  龄 19
在职情况 学生
学  校
专  业 软件工程

  自我简介:

还没学算法的弱鸡

解题思路:

这道题目很简单,不需要进行排序,从K9开始往前遍历,只要小于K1的就进行输出,然后标记已经输出过的数,剩下来的数完全不用排序了,只需要判断是否输出过,如果输出过就不用输出,反之输出;

题目的要求一定是K1-K9 9个数,这个要小心;

对于题目的意思举几个小例子

3 2 1    ——>输出的是1 2 3

4 5 3 1 6——>输出的是1 3 4 5 6

4 5 6 1 3——>输出的是3 1 4 5 6

注意事项:

参考代码:

#include <iostream>
#include <cstring>
using namespace std;
int main(){
	int count;
	cin>>count;
	while(count--){
		int a[101],flag[101];
		memset(a,0 ,sizeof(a));	//数组清0 
		memset(flag,0 ,sizeof(flag));	//标记数组清零 
		for(int i=1;i<=9;i++)
			cin>>a[i];	//数组初始化 
		for(int i=9;i>=1;i--){	//从后面开始遍历 
			if(a[i]<a[1]){
				cout<<a[i]<<" ";	//只要小于第一个数就输出 
				flag[i]=1;	//标记已经输出过的 
			}
		}
		for(int i=1;i<=9;i++)
			if(!flag[i])
				cout<<a[i]<<" ";	//输出剩余的数 
		cout<<endl;
	}
	return 0;
}


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区