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