入力した数字の並び替えについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
tend-11001
記事: 3
登録日時: 6年前

入力した数字の並び替えについて

#1

投稿記事 by tend-11001 » 6年前

キーボードから、4×9の二次元配列に格納する整数を入力します。 入力後に、配列の行と列を逆順に並び替えて表示するプログラムを作成しましょう。そのあと入力した整数を逆に並び替える というコードを書きたいのですが

#include<stdio.h>
int main(void) {
int s[3][8];
int i, j;
int a,b,c,d,e,f,g,h,x;
for (i = 0; i < 4; i++) {
printf("%d行目>", i + 1);
scanf("%d,%d,%d,%d,%d,%d%d,%d,%d", &a,&b,&c,&d,&e,&f,&g,&h,&x);
}

}
エンターを押すと1行目、2行目とできるのですが、数字を複数入力すると1行目で終了してしまいます。
複数入力するコードはあっていると思うのですが・・・・・
入力する整数の数は1行につき9個です。
あと、入力したものを逆に並び替えるにはどのようにしたら良いのでしょうか。
以下になるようにしたいです。

1 行目 > 1 2 3 4 5 6 7 8 9⏎
2 行目 > 11 12 13 14 15 16 17 18 19⏎
3 行目 > 21 22 23 24 25 26 27 28 29⏎
4 行目 > 31 32 33 34 35 36 37 38 39⏎
並び替え後⏎
39 38 37 36 35 34 33 32 31⏎
29 28 27 26 25 24 23 22 21⏎
19 18 17 16 15 14 13 12 11⏎
9 8 7 6 5 4 3 2 1⏎

かずま

Re: 入力した数字の並び替えについて

#2

投稿記事 by かずま » 6年前

scanf の書式が "%d,%d,%d,%d,%d,%d%d,%d,%d" なので、
1,2,3,4,5,6 7,8,9 のように 7個の「,」をつければ入力できます。

書式を "%d%d%d%d%d%d%d%d%d" とすれば、
1 2 3 4 5 6 7 8 9 で入力できます。

かずま

Re: 入力した数字の並び替えについて

#3

投稿記事 by かずま » 6年前

scanf の書式が "%d,%d,%d,%d,%d,%d%d,%d,%d" なので、
1,2,3,4,5,6 7,8,9 のように 7個の「,」をつければ入力できます。

書式を "%d%d%d%d%d%d%d%d%d" とすれば、
1 2 3 4 5 6 7 8 9 で入力できます。

返信

“C言語何でも質問掲示板” へ戻る