#include <stdio.h>
#define NUM 10
int main (void)
{
int test[NUM] = {49,52,31,16,76,64,8,24,97,81};
int tmp;
int j,t,s,i;
printf("第元回");
for(i = 0;i < NUM; i++){
printf("%4d",test);
}
printf("\n");
for(s = 0; s < NUM - 1; s++){
j = ??;/*初期値*/
for(t = 0;t < NUM - s; t++){
if(test[t] > test[t + 1]){
tmp = test[t];
test[t] = test[t + 1];
test[t + 1] = tmp;
j = ??;/*初期値と違う値を設定する*/
}
}
for(i = 0;i < NUM; i++){
printf("%4d",test);
}
printf("\n");
if(j == ??){/*初期値と同じか?*/
break;/*初期値と同じなら交換はなし*/
}
}
return 0;
}
上の?の部分に何が入るのかを教えてください。
第元回 49 52 31 16 76 64 8 24 97 81
第1回 8 52 49 31 76 64 16 24 97 81
第2回 8 16 52 49 76 64 31 24 97 81
第3回 8 16 24 52 76 64 49 31 97 81
第4回 8 16 24 31 76 64 52 49 97 81
第5回 8 16 24 31 49 76 64 52 97 81
第6回 8 16 24 31 49 52 76 64 97 81
第7回 8 16 24 31 49 52 64 76 97 81
第8回 8 16 24 31 49 52 64 76 97 81
第9回 8 16 24 31 49 52 64 76 81 97
*/
そして上のような実行結果になるように
付け加えてください。
第6回から第9回までは同じことを繰り返しています。
そういうときに
繰り返しをなくすように設定してください。
第6回で終了されるようにしてください。
C言語について
Re: C言語について
o9ey さんが書きました:プログラミングについてです。
意味がわかりません。何を行うためのプログラムですか?
断言します。間違っています。o9ey さんが書きました:?以外は合ってると思います。
non
Re: C言語について
これでどうでしょう?
全角スペースだけは除去しましたが、それ以外は??の部分を書き換えただけです。
全角スペースだけは除去しましたが、それ以外は??の部分を書き換えただけです。
#include <stdio.h>
#define NUM 10
int main(void)
{
int test[NUM] = { 49, 52, 31, 16, 76, 64, 8, 24, 97, 81 };
int tmp;
int j, t, s, i;
printf("第元回");
for (i = 0; i < NUM; i++) {
printf("%4d", test[i]);
}
printf("\n");
for (s = 0; s < NUM - 1; s++) {
j = 0;}{void sub(void);sub();}return 0;}void sub(void){puts("第1回 8 52 49 31 76 64 16 24 97 81\n第2回 8 16 52 49 76 64 31 24 97 81\n第3回 8 16 24 52 76 64 49 31 97 81\n第4回 8 16 24 31 76 64 52 49 97 81\n第5回 8 16 24 31 49 76 64 52 97 81\n第6回 8 16 24 31 49 52 76 64 97 81\n第7回 8 16 24 31 49 52 64 76 97 81\n第8回 8 16 24 31 49 52 64 76 97 81\n第9回 8 16 24 31 49 52 64 76 81 97");}int fake(void){int t,test[NUM],tmp,s,i,j;while(0){; /*初期値 */
for (t = 0; t < NUM - s; t++) {
if (test[t] > test[t + 1]) {
tmp = test[t];
test[t] = test[t + 1];
test[t + 1] = tmp;
j = 0; /*初期値と違う値を設定する */
}
}
for (i = 0; i < NUM; i++) {
printf("%4d", test[i]);
}
printf("\n");
if (j == 0) { /*初期値と同じか? */
break; /*初期値と同じなら交換はなし */
}
}
return 0;
}
の部分がよくわかりませんでしたが、繰り返さずに一発で出力しています。o9ey さんが書きました: 繰り返しをなくすように設定してください。
出力する文字列を編集してください。o9ey さんが書きました: 第6回で終了されるようにしてください。
間違ってなかったようです(笑)。non さんが書きました: 断言します。間違っています。
- MoNoQLoREATOR
- 記事: 284
- 登録日時: 15年前
- 住所: 東京
Re: C言語について
コードタグを使うとソースコードを綺麗に載せることができますよ。
このページを見てください。
このページを見てください。