*题目描述
输入10个整数,按从小到大的顺序输出。
注意:此题用C语言完成时,必须使用指针方法处理,只提交头文件和
input(int *a)
sort(int *a)
output(int a)
三个函数,系统将自动附加下面的main函数后运行,请复制下面的main函数用于调试函数。
其他语言的答案无此要求。
int main(){
int a[10];
input(a);
sort(a);
output(a);
}
输入
一行十个整数
输出
从小到大输出,每个数字后加空格
样例输入 Copy
0 9 8 7 6 5 4 3 2 1
样例输出 Copy
0 1 2 3 4 5 6 7 8 9
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <math.h>
using namespace std;
void input(int *a)
{
for (int i = 0; i < 10; i++)
{
cin >> *(a + i);
}
}
void sort(int *a)
{
int i, j, flag;
int temp;
for (int i = 9; i >= 1; i--)
{
flag = 0;
for (int j = 1; j <= i; j++)
{
if (*(a + j - 1) > *(a + j))
{
temp = *(a + j);
*(a + j) = *(a + j - 1);
*(a + j - 1) = temp;
flag = 1;
}
}
if (flag == 0)
{
return;
}
}
}
void output(int *a)
{
for(int i = 0;i < 10;i++){
printf("%d ",*(a+i));
}
}
int main()
{
int a[10];
input(a);
sort(a);
output(a);
}