はじめまして。

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

はじめまして。

#1

投稿記事 by UTT » 14年前

はじめまして。大学の課題がどうしてもうまくいかないので質問させていただきます。
問題は
与えられる2つの整数の和、差、積、商、剰余を求めるプログラムを作成してください。ただし、入力さ
れる整数は 1 以上 100 以下とします。また、求める商は小数点以下切り捨ての整数で出力してくださ
い。
入力例
19 5
出力例
19 + 5 = 24
19 – 5 = 14
19 * 5 = 95
19 / 5 = 3
19 % 5 = 4

というものです。
自分は以下のようにプログラムをかきました。

コード:

#include<stdio.h>

int main(void){

	int x,y;
	
	scanf("%d %d",&x,&y);
	
		if((100>=x&&x>=1)&&(100>=y&&y>=1))
		{
       			printf("%d+%d=%d\n",x,y,x+y);
			printf("%d-%d=%d\n",x,y,x-y);
			printf("%d*%d=%d\n",x,y,x*y);
               		printf("%d/%d=%d\n",x,y,x/y);
			printf("%d%%%d=%d\n",x,y,x%y);
		}
 		        return 0;
}	
このプログラムで一応出力例と同じ結果が出てくるのですが、
大学側のシステムからは不正解という結果が返ってきます。
おそらく「ただし、入力される整数は 1 以上 100 以下とします。」という条件を
きちんと満たせていないからだと思います(無理やりifで処理をしないようにしている状態)。

そこでなんとかこの条件を満たす方法を教えていただけないでしょうか。
また、もし他におかしな部分がありましたらご指摘いただけると幸いです。
特に関数の制限はありません。
よろしくお願いします。

アバター
tk-xleader
記事: 158
登録日時: 15年前
連絡を取る:

Re: はじめまして。

#2

投稿記事 by tk-xleader » 14年前

たぶん、「入力が間違っている場合には、再入力を促すようにしろ」ということではないでしょうか?
だとすると、do-while文が丁度うまく使えると思います。
とは言うものの、問題文から言っても、UTTさんのプログラムで十分に解答として条件を満たしているはずなんですけどね。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: はじめまして。

#3

投稿記事 by ISLe » 14年前

UTT さんが書きました:このプログラムで一応出力例と同じ結果が出てくるのですが、
わたしには演算子や等号の前後の空白が無いように見えますが。

この手の問題で「入力される整数は 1 以上 100 以下とします」というのは、それ以外の入力を考えなくて良いという意味だと思いますけど。

UTT
記事: 2
登録日時: 14年前

Re: はじめまして。

#4

投稿記事 by UTT » 14年前

ISLeさん、tkmakwins15さん御回答ありがとうございます。

ISLeさんの言う通り空白の未入力が原因でした。

初歩的なミスではありましたが、ここで質問させていただいたおかげで無事解決しました。

今後ともよろしくお願いします。

閉鎖

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