2
(1)输入任意n个整数,并将其无冗余的放入数组中(n值不得事先确定,否则0分),然后输出这数组中的n个数。
(2)对该数组中的n个数进行排序并输出结果。
#include <stdio.h> //memcpy头文件 #include <string.h> //malloc头文件 #include <stdlib.h> int main() { int* p = (int*)malloc(sizeof(int)); int* q=NULL; int* head=NULL; int n; int t; int i,j; int len=0; //遇到一个非数字即结束 while(scanf("%d",&n)==1) { *(p+len)=n; len++; q=(int*)malloc((len+1)*sizeof(int)); memcpy(q,p,len*sizeof(int)); free(p); p=q; head=q; } //排序 for(i=0;i<len-1;i++) for(j=i+1;j<len;j++) if(*(head+i)>*(head+j)) { t=*(head+i); *(head+i)=*(head+j); *(head+j)=t; } //输出排序后结果 for(i=0;i<len;i++) printf("%d ",*(head+i)); return 0; }