※ ChatGPTを利用し、要約された質問です(原文:配列やif文について)
配列やif文について
課題がでました。
最大で30個の整数を入力し、それを大きい順に並び替えるプログラムを
1次元配列と繰り返し・if文を使い作成しなさい。
例は
input 12
8
90
the large order 90
12
8
という課題がでました。
ここの方なら簡単とは思いますが、よろしくお願いいたします。
自分で作ったプログラムは
#include <stdio.h>
main()
{
int a[30];
int n;
int imax;
int work;
int max ;
int i,k;
printf("seisuunokosuu(<=30)=");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("input.%2d=",i+1);
scanf("%d",&a[i]);}
for(i=0;i<n;i++){
imax = i;
max = a[imax];
for(k=i+1;k<=n;k++){
if(a[k] > max){
imax =k;
max = a[imax];
}
}
work = a[i];
a[i] = a[imax];
a[imax] = work;
}
for(i=0;i<n;i++){
printf("%d\n",a[i]);
}
return(0);
}
ですが、繰り返し・if文(一度)をつかっていません。
アドバイスの方よろしくおねがいいたします。
お礼
for(k=i+1;k<=n;k++){ <----ここ! if(a[k] > max){ imax =k; max = a[imax]; } ここというかいてあるところをどう変えればよいですかね?