游客 Signup | Login
中文 | En

1698 - 2004年秋浙江省计算机等级考试二级C 编程题(1)

输入10个数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。

Input

十个数

Output

交换后的十个数

Examples

Input

10 2 30 40 50 60 70 80 90 100

Output

10 100 30 40 50 60 70 80 90 2

Solution C

#include<stdio.h>
#include<math.h>
	int main()
{
	int a[10];
	int b,n;
	for(int i=0;i<10;i++)
	scanf("%d",&a[i]);
	b=a[0];
	for(int j=0;j<10;j++)
		if(abs(a[j])<b)
		{
			b=a[j];
			n=j;
		}
	a[n]=a[9];
	a[9]=b;
	for(int k=0;k<10;k++)
	printf("%d ",a[k]);
	return 0;
}

Solution C++

#include<iostream>
#include<math.h>
using namespace std;
#define N 10

int main() {
	int a[N], b[N];
	int n, min, t;              // number   tempory
	for (int i=0; i<N; ++i){
		cin >> a[i];
		b[i] = abs(a[i]);
		if(i == 0){
			min = b[i];
			n = i;
		}else if(b[i] < min){
			min = b[i];
			n = i;
		}
	}
	
	t = a[N-1];
	a[N-1] = a[n];
	a[n] = t;
	for(int i=0; i<N; ++i){
		cout << a[i] << " ";
	}

	
	return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题