C言語でのエラー解決方法と要約文

このQ&Aのポイント
  • C言語でのエラー解決方法とは?
  • C言語のエラー箇所の修正方法について教えてください。
  • C言語のエラーメッセージを解決する方法を教えてください。
回答を見る
  • ベストアンサー

c言語で

c言語で /*a==bのとき商と余を求めるそれ以外は積を求める*/ # include<stdio.h> main () { int a,b,seki,sho,joyo; printf("aとbを入力してください\n"); scanf("%d %d", &a,&b); if(a==b) printf("sho=%d\n",(a/b)); printf("joyo=%d\n",(a%b)); else printf("seki=%d\n",(a*b)); return(0); } はどこがおかしいでしょうか? あと /*小数点*/ # include<stdio,h> main () { float a,b,seki,sho,joyo; printf("%f %f",&a,&b); if(a>b) printf("sho=%f4.3\n",(a/b)); printf("joyo=%f4.3\n",(a%b)); else printf("seki=%f4.3\n",(a*b)); return (0) にいたってはエラーの嵐なのですがどうすればいいでしょうか

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

  • ベストアンサー
回答No.2

とりあえず { } で囲ってみては? >if(a==b) >printf("sho=%d\n",(a/b)); >printf("joyo=%d\n",(a%b)); >else >printf("seki=%d\n",(a*b)); if(a==b) { printf("sho=%d\n",(a/b)); printf("joyo=%d\n",(a%b)); } else { printf("seki=%d\n",(a*b)); } 下のやつは floatは % 演算子が使えないはずですが?何をやりたいのでしょうか? >if(a>b) >/*a==bのとき商と余を求めるそれ以外は積を求める*/ (?・・) # というか a == b なら商は1で余りは0になるんじゃ・・・? # (0÷0はどうだっけw)

longagodsg
質問者

お礼

なるほど! おかげで課題が終わりました ありがとうございました!

その他の回答 (2)

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.3

はじめのは,つぎのようにするの。 元のコードとくらべてみよう。 /*a==bのとき商と余を求めるそれ以外は積を求める*/ # include<stdio.h> main () { int a,b,seki,sho,joyo; printf("aとbを入力してください\n"); scanf("%d %d", &a,&b); if(a==b){ sho=a/b; joyo=a%b; printf("sho=%d\n",sho); printf("joyo=%d\n",joyo); } else{ seki=a*b; printf("seki=%d\n",seki); } return(0); } 2つめのは,つぎのようにするの。 元のコードとくらべてみよう。 /*小数点*/ # include<stdio.h> main () { float a,b,seki,sho; /*joyoはつかわない*/ scanf("%f %f",&a,&b); if(a>b){ sho=a/b; printf("sho=%4.3f\n",sho); // printf("joyo=%4.3f\n",(a%b)); /*intじゃないからa%bはないの*/ } else{ seki=a*b; printf("seki=%4.3f\n",seki); } return (0); }

longagodsg
質問者

お礼

なるほど! おかげで課題が終わりました ありがとうございました!

回答No.1

if文に{がありませんが、そのせいではないですか? # include<stdio.h> main () { int a,b,seki,sho,joyo; printf("aとbを入力してください\n"); scanf("%d %d", &a,&b); if(a==b) { printf("sho=%d\n",(a/b)); printf("joyo=%d\n",(a%b)); { else { printf("seki=%d\n",(a*b)); } return(0); } # include<stdio,h> main () { float a,b,seki,sho,joyo; printf("%f %f",&a,&b); if(a>b) { printf("sho=%f4.3\n",(a/b)); printf("joyo=%f4.3\n",(a%b)); else { printf("seki=%f4.3\n",(a*b)); } return (0) }

longagodsg
質問者

お礼

なるほど! おかげで課題が終わりました ありがとうございました!

関連するQ&A

  • c言語についての質問です。

    #include<stdio.h> int main(void){ int a; printf("1文字たいぷしてください。\n"); scanf("%d",&a); if(a>=65 && a<=90){ printf("大文字です。\n"); } else if(a>=97 && a<=122){ printf("小文字です。\n"); } else{ printf("大文字でも小文字でもありません\n"); } return 0; } このプログラムは正しくなくて、 intをchar %dを%cにかえなければなりません。 なぜintはダメなんでしょうか? できれば丁寧に教えてください。 お願いします。

  • C言語

    以下の出力結果はどうなりますか? 教えてください。 #include <stdio.h> #include <stdib.h> int main (void){ int n,f; n=792; f=2; while(f*f<=n){ while(n%f==0){ printf("%d",f); n=n/f; } f++; } if(n !=1) printf("%d",n); printf("\n"); return 0; }

  • C言語についての質問です

    プログラミング初心者です if関数を使用して二次方程式の解を解くプログムを作成したのですが、この作成した関数をユーザー定義関数を使用しmain 関数の中でユーザー定義関数を呼び出すことにより、 2次方程式の解を求めるプログラムへ変更したいのですが、どのように行えばいいのか分かりません… 私が作成したプログラムはこのようなものになっています #include<stdio.h> #include<stdlib.h> #include<math.h> int main(void) { double a, b, c; /*二次方程式の定数*/ double D, x1, x2, r1, r2; printf("ax^2 + bx + c = 0 の係数 a, b, c を入力してください---> \n"); scanf_s("%lf %lf %lf", &a, &b, &c); printf("2次方程式を解いた結果は次の通りとなる。\n"); if (a == 0.0) { if (b == 0.0) { printf("係数がおかしい\n"); exit(-1); } { x1 = -c / b; printf("解は%f です。\n", x1); exit(0); } } else { D = b * b - 4 * a * c; if (D >= 0) { x1 = (-b + sqrt(D)) / (2.0 * a); x2 = (-b - sqrt(D)) / (2.0 * a); if (D == 0.0) { printf("解は %f です。\n", x1); } else { printf("解は %f と %f です。¥n", x1, x2); } } else { r1 = -b / (2 * a); r2 = sqrt(-D) / (2 * a); printf("解は%.2f+%.2fi と%.2f-%.2fi \n", r1, r2, r1, r2); } } return 0; } よろしくお願いいたします

  • C言語

    #include <stdio.h> int main(void) { int a=0,ans1,ans2,ans3,ans4; printf("整数を入力してください。\n"); scanf("%d",a); ans1 = a+7; ans2 = a*;8 ans3 = a%3; ans4 = a*(-1); printf("%d\n",ans1); printf("%d\n",ans2); printf("%d\n",ans3); if(a==15){ prntf("true\n",a); } else{ printf("false\n",a); } if(a != 8){ printf("true\n",a); } else{ printf("false\n",a); } if(a <= 3){ printf("true\n",a); } else{ printf("false\n",a); } printf("%d\n",ans4); if(a<2||7<a){ printf("true\n",a); } else{ printf("false\n",a); } return 0; } これを実行しようとしてもexeファイルになりません。 教えていただけませんか?

  • c言語のフローチャートについての質問です

    #include <stdio.h> int main (void) { int n; for (n=1900; n<2000; n++) { if (n%4==0 && n%100!=10) printf ("%d",n); else if(n%400==0) printf ("%d",n); } printf("\n"); return 0; } をフローチャートに直したいのですがいまいち方法が解りません、どなたか詳しい回答お願いします JIS規格のものでお願いします

  • C言語について

    次のような問題です。 問 自然数nを入力し、nを3で割って割り切れるかどうかを判定し結果を表示する。「割り切れる」、「1余る」、「「2余る」のいずれかが入るものとする。 このようなものをつくりました。 #include<stdio.h> int main(void) { int n; printf("自然数:"); scanf("%d",&n); if(n==0){ printf("割り切れる\n"); }else if(n==1){ printf("1余る\n"); }else{ printf("2余る"); } return(0); } これで合っているかよろしくお願いします。

  • c言語 プログラミング(初心者)

    解を判定するプログラミングを作成したのですが、a,b,cを0,1,2と入力したときに解に0.00000が出てきて解がおかしくなります。 どなたか詳しい方教えてください。また簡潔にできる点などありましたらご指摘お願いします。 #include <stdio.h> #include <math.h> int main (void) { double a,b,c,d,x1,x2; printf("ax^2+bx+c=0 の係数を入力してください\n"); scanf("%lf %lf %lf",&a,&b,&c ); if(a==0){ if(b==0) { printf("解は存在しません\n"); } else { x1=-c/b; printf("解は %f です\n",x1); } } else { d=b*b-4*a*c; if(d>=0){ x1=(-b+sqrt(d))/(2.0*a); x2=(-b-sqrt(d))/(2.0*a); if(d==0){ printf("解は %f (重解)です\n",x1); } else { printf("解は %f と %f です\n",x1,x2); } } else { printf("実数解は存在しません(虚数解)\n"); } } return 0; }

  • c言語のフローチャートについての質問です

    #include <stdio.h> int main (void) { int n; for (n=1900; n<2000; n++) { if (n%4==0 && n%100!=10) printf ("%d",n); else if(n%400==0) printf ("%d",n); } printf("\n"); return 0; } をどなたかフローチャートに直してください JIS規格のものでお願いします

  • c言語なのですが

    c言語なのですが #include<stdio.h> main() { int a; printf("整数を5回足し算する\n"); scanf("%d %d",&a); printf("a*5=%d\n",a*5); return(0); } でエラーが起こります どこを修正すればいいのでしょうか

  • このC言語プログラムでどこをいじればいいのか教えて下さい。

    このC言語プログラムでどこをいじればいいのか教えて下さい。 //2 つの整数を入力し、和、差、積、商を計算し表示する。 #include<stdio.h> int main(void) { int a,b,wa,sa,seki,syou; scanf("%d %d",&a,&b); wa=a+b; sa=a-b; seki=a*b; syou=a/b; printf("%d+%d=%d\n",a,b,wa); printf("%d-%d=%d\n",a,b,sa); printf("%d*%d=%d\n",a,b,seki); printf("%d/%d=%d\n",a,b,syou); return (0); } これを繰り返し実行する形にしたいです。できれば今勉強中のwhileでお願いします。 また間違っている部分、指摘などありましたら宜しくお願いします。 大きな値をいれると足し算がダメになったり、割り算がおかしくなります。 また実数の時はどうなのかなど教えて下さい。

専門家に質問してみよう