
プログラミング、C言語です。
次のプログラムを実行するソースコードを教えて下さい。
自然数 n の値を入力し、続けて n 個の整数を入力すると、入力順で前後した2つの整数値の(n-1 個の)差の絶対値を一行ずつ出力するプログラムを作成しなさい。 ただし、n に 1 以下の値が入力されると、プログラムは n の入力を繰り返すものとする。
例
入力:
5 1 2 4 7 -10
出力:
1 2 3 17
入力:
0 1 2 3 10
出力:
7
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
出題に矛盾があります。
自然数(n)とは、1以上の整数ですから、「n に 0 以下の値が入力される」ということはありません。
例でいうと、入力により、
n=5です。n以外は示されていませんから 仮にa[n]とすると、
a[0]=1,a[1]=2,a[2]=4,a[3]=7,a[4]=-10 となります。
出力は、差の絶対値を一行(便宜上改行してませんが)ずつ出力ですから、
2-1=1,4-2=2,7-4=3,7+10=17 となります。
2個目の例でいうと、
n=0 ここで自然数でないのでエラーになりますが、無視することにします。
1以下なのでnの入力を繰返します。
n=1 これも1以下なのでnの入力を繰返します。
n=2です。
a[0]=3,a[1]=10 となります。
10-3=7 となります。
nは整数、と出題文を修正しないといけないのではないでしょうか。
No.2
- 回答日時:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char s[4097];
char* sep = " ";
int n, x, y;
puts("入力:");
scanf("%4096[^\n]%*[^\n]", s);
getchar();
n = strtol(strtok(s, sep), NULL, 10);
foo:
if (n > 1) {
x = strtol(strtok(NULL, sep), NULL, 10);
puts("出力:");
for (int i = 1; i < n; i++) {
y = strtol(strtok(NULL, sep), NULL, 10);
printf("%d ", abs(y - x));
x = y;
}
puts("");
} else {
n = strtol(strtok(NULL, sep), NULL, 10);
goto foo;
}
return EXIT_SUCCESS;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
c言語の本を教えてください。分厚くて辞書みたいなやつがいいです。日本の本屋さんで変える、のにしくださ
C言語・C++・C#
-
C言語 大至急
C言語・C++・C#
-
c言語についてで、星占いをswitch関数を用いたらどのようにかけますか。教えてください!
C言語・C++・C#
-
4
ルーチンとライブラリについて。
C言語・C++・C#
-
5
ひんとをおしえてください。私より頭いいお友達とかに聞いたけど、わかりませんでした。答えは聞いたらずる
C言語・C++・C#
-
6
C言語について。
C言語・C++・C#
-
7
C言語について
C言語・C++・C#
-
8
c言語の配列について
C言語・C++・C#
-
9
C言語について。
C言語・C++・C#
-
10
C言語 ループ中からの関数の呼び出し方のコーディング
C言語・C++・C#
-
11
ソースコード1これを実行するとエラーがでます。おしえてください
C言語・C++・C#
-
12
C言語 mallocのエラーに関する質問
C言語・C++・C#
-
13
カラーキューブ数独をc言語でときたいです。
C言語・C++・C#
-
14
c言語の質問です。
C言語・C++・C#
-
15
c言語 何をしているのかがわからない
C言語・C++・C#
-
16
このプログラミング誰か教えてください
C言語・C++・C#
-
17
c言語でのファイルからのデータの読み込みについて
C言語・C++・C#
-
18
C言語でオークションサイトは作れますか?
C言語・C++・C#
-
19
c言語 文字化けします
C言語・C++・C#
-
20
たとえば、s = Tokyo Kyoto という文字列で s2 = s.split() しますと、s
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
このカテゴリの人気Q&Aランキング
-
4
LEDマトリクスの表示について。
-
5
VS2022の開発環境に関する質問...
-
6
数字の位ごとの値を表示するプ...
-
7
Enterキーを押されたら次の処理...
-
8
C言語で三目並べをするプログラ...
-
9
セグメントエラー
-
10
プログラミング言語「C#」の難...
-
11
複数桁10進数の*桁目だけを抽出...
-
12
c言語プログラミングで初項を1....
-
13
どんなプログラムを書いても指...
-
14
C言語でmからnまでの合計を求め...
-
15
プログラミングの問題です。P1...
-
16
float型とdouble型の変数の違い...
-
17
バッファとは何ですか
-
18
正負を反転させて出力するプロ...
-
19
Seleniumで「ファイルを開く」...
-
20
O(n log n)について2
おすすめ情報
公式facebook
公式twitter