
3つの整数を入力し、最大値を出力するプログラムを作りました。
最大値をさがすステップに入る前に、
「最大値を出力しますか?(y/n)」と聞いてy+Enterで実行するようになっています。この部分を、
y+Enter もしくは 空Enter で実行するにはどのように変更すればよいのでしょうか?大変お手数ですが、教えてください。
よろしくお願いします。
#include <stdio.h>
#include <stdlib.h>
int main(){
int i,max,max_no,a[3];
char YN[2];
printf("整数を3つ入力してください。\n");
for(i=0;i<3;i++){
printf("%d番目の整数: ",i+1);
scanf("%d",&a[i]);
}
printf("最大値を出力しますか?(y/n):");
scanf("%s",YN);
if(YN[0]=='y'){
printf("最大値をさがします。\n");
}
else{
exit(0);
}
max_no=0;
max=a[max_no];
for(i=1;i<3;i++){
if(a[i]>max){
max=a[i];
max_no=i;
}
}
printf("最大値は %d 番目のデータ %d です。\n",max_no+1,max);
return 0;
}
No.1ベストアンサー
- 回答日時:
こんな感じでどうでしょう。
#include <stdio.h>
int main(void){
int a[3];
int max_no, YN, i;
printf("整数を3つ入力してください。\n");
for(i = 0; i < 3; i ++){
printf("%d番目の整数: ", i + 1);
scanf("%d", &a[i]);
}
while(getchar() != '\n') ;
printf("最大値を出力しますか?(y/n):");
YN = getchar();
if(YN == 'y' || YN == '\n') printf("最大値をさがします。\n");
else return 0;
max_no = 0;
for(i = 1; i < 3; i ++){
if(a[i] > a[max_no]) max_no = i;
}
printf("最大値は %d 番目のデータ %d です。\n", max_no+1, a[max_no]);
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(C言語)めちゃくちゃな値にな...
-
C言語でマウス入力(クリックや...
-
5×5の転置行列を求めるC言語の...
-
wsprintfの書式制御文字列につ...
-
C言語の勉強しています。すみま...
-
ブラックジャック
-
至急教えてください!プログラ...
-
C言語について
-
C言語
-
C言語 配列の構造体を下位関数...
-
Cのdoubleの浮動小数点表示につ...
-
C言語 プログラミング
-
scanfに文字が入力されたときに...
-
配列プログラムのバグ
-
コマンドプロンプトがすぐ消える
-
C言語の質問です if(a[0]>a[1]&...
-
クイックソートのプログラムを...
-
C++
-
C言語に関する質問です
-
c言語のフローチャートについて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
c言語でAからZまでを表示する...
-
(C言語)めちゃくちゃな値にな...
-
コマンドラインに出力した文字...
-
コンパイルエラーについて
-
コマンドプロンプトがすぐ消える
-
勝率をプログラムに
-
テキストカーソル位置の取得
-
三角形の判別
-
【C言語教えてください】sin波...
-
4の倍数を論理演算で表す。。
-
C言語で、「自然数nを入力し、n...
-
入力したお金の金額からお札の...
-
cshの文字列操作(0埋め)
-
switch分のケースを範囲数?に...
-
scanfに文字が入力されたときに...
-
プログラミングについての質問です
-
unsigned int型について
-
ダブルポインタで2次元配列を作成
-
円の面積を求めるプログラミン...
おすすめ情報