PTA 7-229 sdut-C语言实验- 排序
分数 16
作者 马新娟
单位 山东理工大学
给你N(N<=100)个数,请你按照从小到大的顺序输出。
输入格式:
输入数据第一行是一个正整数N,第二行有N个整数。
输出格式:
输出一行,从小到大输出这N个数,中间用空格隔开。
输入样例:
5
1 4 3 2 5
输出样例:
1 2 3 4 5
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
int main(){
int n, integ, temp; //临时变量temp
scanf("%d", &n);
int numb[n];
int lenth;
for(int i = 0; i < n; i++){ //遍历数组
scanf("%d", &integ);
numb[i] = integ;
}
lenth = sizeof(numb) / sizeof(numb[0]); //数组长度
for(int i = 0; i < lenth - 1; i++){ //冒泡排序
for(int j = 0; j < lenth - 1 - i; j++){
if(numb[j] > numb[j + 1]){
temp = numb[j + 1];
numb[j + 1] = numb[j];
numb[j] = temp;
}
}
}
for(int i = 0; i < lenth; i++){ //输出数组
if(i == lenth - 1) //最后一个数据输出没有空格
printf("%d", numb[i]);
else
printf("%d ", numb[i]); //输出有空格
}
return 0;
}
解题思路:
step1:将输入的每个数储存到数组中
step2:获取数组长度
step3:用冒泡排序将数组中的数据从小到大排列
step4:输出数组中的每个数据即可
归属知识点:
数组
循环结构
选择结构