プロが教える店舗&オフィスのセキュリティ対策術

10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せばプログラムが上手く起動するか教えて欲しいです。(注意:mySort()関数内ではポインタ変数を使用

#include <stdio.h>
#define SIZE 10

main(){
double data[SIZE + 1];
int fixed, base;
int i;
double swap;

for (i = 1; i<=SIZE ;i++){
printf("%d番目の数字は?",i);
scanf("%lf",&*(data+i));
}

for (fixed = 1; fixed < SIZE ; fixed++){

for (base = 1; base <= SIZE ; base++){

if (data[base] > data[base+1]){
swap = data[base+1];
data[base + 1] = data[base];
data[base] = swap ;
}
for (i = 1; i <= SIZE; i++){
printf("%lf", *(data+i));
}
printf("\n");
}
}
for (i = 1; i <= SIZE; i++){
printf("%lf番目:%lf\n", i, *(data+i));
}
}

A 回答 (1件)

以下のようにしてください。


#include <stdio.h>
#define SIZE 10

main()
{
double data[SIZE + 1];
int fixed, base;
int i;
double swap;

for (i = 1; i <= SIZE; i++) {
printf("%d番目の数字は?", i);
scanf("%lf", &*(data + i));
}

for (fixed = 1; fixed < SIZE; fixed++) {

for (base = 1; base <= SIZE; base++) {

if (data[base] < data[base + 1]) {
swap = data[base + 1];
data[base + 1] = data[base];
data[base] = swap;
}
}
}
for (i = 1; i <= SIZE; i++) {
printf("%d番目:%lf\n", i, *(data + i));
}
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!