- ベストアンサー
C言語
昇順にソートしたいのですけど、このソースだと実行しても、最後に入力した文字が、表示されます。分からないので宜しくお願いします。(例21,34 55を入力すると、55,55,55と表示されます) #include <stdio.h> void sort1(int *dt, int n) { int i,temp,exchg=0; while (exchg<n) { for (i=1; i<n; i++) { if (dt[i-1] > dt[i]) { temp=dt[i-1]; dt[i-1]=dt[i]; dt[i]=temp; } } exchg++; } }int main(void) { int data[10]; int no=3; int i,*p_data; p_data =data; printf("%d個の整数を入力してください。\n",no); for (i=0; i<no; i++) { printf("data[%d]:",i); scanf("%d", p_data); } sort1(data,no); puts("これからの値を昇順に並び替えました。"); for (i=0; i <no; i++) printf("data[%d]=%d\n", i,*p_data); return(0); }
- みんなの回答 (3)
- 専門家の回答
補足
配列の操作にポインタを用いたいんですけど。