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

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

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

题目输入

十个数

题目输出

交换后的十个数

输入/输出样例

输入格式

10 2 30 40 50 60 70 80 90 100

输出格式

10 100 30 40 50 60 70 80 90 2

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;
}

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;
}