みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

cプログラム

#include<stdio.h>

/*Calc MAX of (a,b)*/
int max(int x,int y)
{
if(x>y) return x;
else return y;
}

/*Calc n!*/
void fact(int n)
{
int i,ans;
ans=1;
for(i=n;i>=1;i--){
ans*=i;
}
printf("ans=%d\n",ans);
}

/*END*/
void end()
{
printf("Thanks\n");
exit(0);
}

/*Main*/
int main()
{
int key;
int a,b,saidai;
int n;
while(1){
puts("\n=====Main MENU =====");
puts("1.......max(a,b)");
puts("2.......n!");
puts("9.......END\n");
printf("Input No(1,2,9)=?");
scanf("%d",&key);
switch(key){
case 1:
printf("Inputs:a,b?");
scanf("%d,%d",&a,&b);
saidai=max(a,b); //Call max(a,b)
printf("max(%d,%d)=%d\n",a,b,saidai);
break;
case 2:
printf("Input:n?");
scanf("%d",&n);
fact(n);
break;
case 9:
end();
break;
default:
printf("!!!!!Miss Input_No!!!!!\n");
break;
}
}
のプログラムなのですが、1の処理を行った場合max(a,b)の値が正しく表示されません
どこを直せばいいでしょうか?
return(0);

投稿日時 - 2011-06-10 23:24:48

QNo.6800608

困ってます

質問者が選んだベストアンサー

特に修正する必要はありません。データの入力の仕方が悪いのかと思います。
a=45 b=90 を入力する場合は 45,90 のようにカンマを入れてください。
a=45 b=-90 を入力する場合は 45,-90 のようにカンマを入れてください。
こちらで、上記のパターンで、確認した結果、正常に表示されています。

投稿日時 - 2011-06-10 23:55:58

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問