|
こんばんわ。数値を取得し、配列に格納しながら最大値、最小値を
求めます。そして最大値、最小値が格納されている配列番号も
表示させようとしています。がなかなかうまくいきません。
というのは、最大値、最小値が複数個存在したときに番号を
1つではなくすべて表示させたいからなのです・・・
PCはWindows XP、Visual C++6.0を使用しています。
途中までのソースはこちらです。
#include <stdio.h>
void main(void)
{
int k;
int a[20];
int max;
int min;
int i;
int max_num;
// int b[20];
int c[20];
max = 0;
min = 500;
i = 0;
while(i <5){
scanf("%d",&k);
a[i] = k;
/* 最大値 */
if(a[i] > max){
max = a[i];
max_num = i;
// b[i] = max_num;
}
/* 最小値 */
if(a[i] < min){
min = a[i];
c[i] = i;
}
i++;
}
/* 結果表示 */
printf("回数 = %d\n",i);
printf("最大値 = %d\n",max);
printf("最小値 = %d\n",min);
printf("最大値の配列番号 = ");
// for(j=0;j<i;j++){
printf("%d ",max_num);
// }
// printf("\n最小値の配列番号 = ");
// for(j=0;j<i;j++){
// printf("%d ",c);
// }
}
汚くなっているのですが、申し訳ありません。
|