杭电OJ——2016 数据的交换输出

杭电OJ——2016 数据的交换输出

谨以此文记录我的菜鸟敲代码之路

真的想提高编程能力,最近在刷杭电的第11页OJ,八说了,上我的菜鸟代码。

数据的交换输出
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 169733 Accepted Submission(s): 62449

Problem Description
输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。

Input
输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。

Output
对于每组输入数据,输出交换后的数列,每组输出占一行。

Sample Input
4 2 1 3 4
5 5 4 3 2 1
0

Sample Output
1 2 3 4
1 4 3 2 5

#include <iostream>

using namespace std;

int main() {
	int n;
	int arr[100] = {0};
	scanf("%d", &n);
	while (n != 0) {
		
		for (int i=0; i<n; i++) {
			scanf("%d", &arr[i]);
		}
		int min = arr[0];
		int min_s = 0;
		for (int i=0; i<n; i++) {
			if( arr[i] < min) {
				min = arr[i];
				min_s = i;
			}
		}
		int term =arr[0];
		arr[0] = min;
		arr[min_s] = term; 
		int count = 0;
		for (int i=0; i<n; i++) {
			count ++;
			if(count > 1) printf(" ");	
			//刷题过程中发现 杭电OJ的输出结果每一行尾巴不能带空格,需直接换行
			//否则会presentation error
			printf("%d", arr[i]);
		}
		printf("\n");
		scanf("%d", &n);
	}
	return 0;
}
发布了2 篇原创文章 · 获赞 0 · 访问量 21

猜你喜欢

转载自blog.csdn.net/qq_44296342/article/details/104089743