以下の問題がわかりません。
教えていただけますでしょうか?
以下の仕様を満たすプログラムを作成せよ。
キーボードから2整数を読み込み,読み込んだ順に標準出力にそれらの値の10進数表現をスペース文字で区切って1行に書き出し,改行する。読み込んだ一番目の整数の値が1000でなければ,次の2整数を読み込み同様に書き出す。一番目の整数の値が1000のときプログラムの実行を終了する。
ヒント-------------------------------------------------
stdio.hをインクルードする。
読み込んだ値を保持するための2つの整変数を宣言して定義する。
2つの整数を読み込んで,その値を書き出すことを繰り返す部分は,次のdo-whileループで実現する。
do { (1)
//2整数の読み込み
//2整数の書き出し
} while(条件); (2)
プログラムの実行は上から順に行われるが,(2)で条件が真であれば(1)に戻り,そこから再び下方に順番に実行される。条件が真でなければ,(2)の次の行から下に順番に実行される。したがって,(2)の条件が満たされているかぎり,(1)と(2)の間を繰り返し実行することになる。このdo-whileループは,必ず1回は実行される点で,whileループと異なる。
行中に//があると,そこから行末まではコメントとみなされ書かれている内容は無視される。また,任意の位置に書かれた,一対の/*と*/の間もコメントとみなされる。
この課題の繰り返しの条件は,読み込んだ一番目の整数が1000でないこと。
iを整変数として,
i != 1
という論理式の値は,iが1のとき偽,iが1でないとき真である。
2種類ある等値演算子の1つであるこの"!="という2項演算子(演算子の両側に1項ずつの2項を使う演算子)による演算結果は,両側の2つのオペランド(演算子が働きかけるもの)の値が「等しくない」とき真,それ以外のとき偽である。もう一つの等値演算子は"=="で,演算結果は2項が「等しい」とき真,それ以外のとき偽となる。
No.1
- 回答日時:
ヒントがそのまま答えじゃないですか。
これまでの授業で習ったこと(聞いていましたよね?)
をそのまま当てはめていけば、OKでしょ。
文法に間違いがあればコンパイル時にエラーになりますし。
この回答への補足
質問方法が不適切でした。
申し訳ございません。
以下自分でわかる範囲でかいたものです。
(ところどころつぎはぎですが)
int main()
{
int a = 1;
int b = 2;
do{
printf("%d",a b);
}
while(=1000);
}
下記がわからないところです。
教えていただけますでしょうか?
・整変数の宣言方法
・2整数の読み込み方
・2整数の書き出し方
・プログラムの実行の終了方法
どうぞよろしくお願いいたします。
No.2
- 回答日時:
えっと・・・
何から答えればいいか分かりませんが、直では答えません。
ヒント1行目のstadio.hのインクルードからされていません。
また、変数a,bの形に関して”プログラム”から入力するのではなく、
キーボードから入力するので、
int a=1; はそもそも間違い。int a,b;とかにするべき。
(2整数ならmainの定義でも十分だと思うんだけどな)
while文の条件も、ヒントにきっかり書いている訳で、
たとえば、整数形が a,b(aが最初に入る変数)とすると、
a != 1000 だったら、aが1000の時 偽、1000ではない時に正ですね。
プログラムの実行終了方法は…
最後まで行ったら終了ですよ(笑)
終了コードをちゃんと返したいのであれば
return(0);とでも書いておけばいいわけで。
ところで・・・これって学校の課題?(^^;
ご回答ありがとうございます。
このような形でよろしいのでしょうか?
#include <stdio.h>
int main()
{
int a,b;
do
{
scanf("%d%d",&a,&b);
printf("%d\n",a);
}
while(a!=1000);
}
はい、学校の課題です。
No.3ベストアンサー
- 回答日時:
まず、
・整変数の宣言方法
・2整数の読み込み方
・2整数の書き出し方
は、
http://oshiete1.goo.ne.jp/qa4977613.html
で質問された「例題」の中にあります。
たしかに、「2つ」ではありませんが。
プログラムの構造も必要最低限の部分
はここにありますね。
・プログラムの実行の終了方法
これは、実際には、「繰り返しの方法」
と、「繰り返しの条件」が問題の中に
あります。
確かにありました。
さっきは見ても、なんのことやらわかりませんでしたが、
徐々にわかってきた気がします。
このような形でよろしいのでしょうか?
#include <stdio.h>
int main()
{
int a,b;
do
{
scanf("%d%d",&a,&b);
printf("%d\n",a);
}
while(a!=1000);
}
No.4
- 回答日時:
もとの問題は
・「2つ」の変数を読み込む
・「2つ」の変数を表示する
・それを繰り返す
ですね。
お書きになったプログラムの1行
づつの意味を考えてみてください。
プログラムの構造としてはこんなも
のでしょうが、処理として足りない
ところがあります。
答えは、既に、もう一つの質問の
なかにあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java 南京錠 2 2023/02/04 11:46
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# プログラミング 2つの整数を読み込んで、等しければ 「二つの値は同じです」と表示し、そうでなければ, 5 2023/05/17 12:55
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- Ruby プログラミング 3 2023/06/09 14:30
- C言語・C++・C# pythonで外部のファイルを読み込む際のエラー 2 2022/04/12 19:22
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- システム CPUの問題について 2 2022/07/09 12:04
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Macターミナルで実行中のプログ...
-
プログラミング ソースコード
-
プロセス間通信について
-
実行時エラー429
-
Windows7-VB6でのアクティブウ...
-
MACで動く実行ファイルをWindow...
-
fortranで計算を実行するとrunt...
-
なんかC言語でプログラム書いて...
-
C言語でフォルダを開く
-
バックグラウンドで実行される...
-
Visual C++ 6.0で作成したプロ...
-
matlabでのif文の重複
-
CreateProcessについて
-
sendkeysにてALT+CTRL+INSERTを...
-
VBAで外部プログラムを非表示で...
-
システム資源とは?
-
あるプログラム実行中に別のプ...
-
一定時間たつと、リセットしたい
-
いきなり、count++; とありま...
-
他の実行ファイルを実行するプ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Macターミナルで実行中のプログ...
-
MACで動く実行ファイルをWindow...
-
sendkeysにてALT+CTRL+INSERTを...
-
他のPC上にあるexeを、そのP...
-
VB上で実行中の無限ループの止め方
-
system関数を使用してsuコマン...
-
VBAで外部プログラムを非表示で...
-
実行時エラー429
-
プロセス間通信について
-
並列計算をしたときのシステム...
-
終了してもプログラムが実行し...
-
システム資源とは?
-
C言語で途中までしか、プログラ...
-
PIC のデータEEPROMに書き込み...
-
RPG パラメーターについて
-
Windows10でDOSゲーム
-
ラズパイ プログラム 自動起動 ...
-
プログラムを走らせる
-
C言語でフォルダを開く
-
アクセス[ファイルを開かずに、...
おすすめ情報