编写程序,输入整数n,动态分配保存n个整数的存储器,然后输入n个整数保存到存储器中。最后,将这n个整数从小到大输出。例如:输入如下:10回车10 9 8 7 6 5 4 3 2 1回车则输出1,2,3,4,5,6,7,8,9,10
代码实现如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(){
int n,i,j,temp;
scanf("%d",&n);
int* a;
a=(int*) malloc(n*sizeof(int));//分配动态内存
if(a==NULL){
printf("error");
}//检验
for(i=0;i<n;i++){
scanf("%d",a+i);
} //录入
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(*(a+j)>*(a+j+1)){
temp=*(a+j);
*(a+j)=*(a+j+1);
*(a+j+1)=temp;
}
}
}//冒泡排序实现
for(i=1;i<n+1;i++){
printf("%d",*(a+i));
if(i!=n){
printf(",");
}
}//以逗号为分隔符输出
free(a);//释放内存
return 0;
}