• ベストアンサー

#include<stdio.h>

#include<stdio.h> main () { int a,b; printf("適当な数字\n"); scanf("%d %d",&a,&b); printf("(a*b)%(a+b)=%d\n",(a*b)/(a+b)); return (0); } で結果が 任意の数字 2 3 (a*b)(a+b)=1 ん なんですが違いますよね? 商の余りを求めるにはどう改変すればいいでしょうか?

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

  • ベストアンサー
  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

printf("(a*b)%(a+b)=%d\n",(a*b)/(a+b));  ↓ printf("(a*b)%%(a+b)=%d\n",(a*b)%(a+b)); 因みに、カテゴリが違います…。

longagodsg
質問者

お礼

ありがとうございます 学校教育以外に見つからなかったので・・・・

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  •    #include<stdio.h>

       #include<stdio.h> #include<math.h> int main(void) { int i,n,limit; printf("data? "); scanf("%d",&n); i(n>=2){ limit=int)sqrt(n); for(i=limit;i1;i--){ if(n%i==0) break; } if(i==1) printf("素数\n); else printf("素数でない\n"); } return 0; } というプログラムがあるのですが、それを改良して int型(符号付32ビット整数)および、unsigned int型(符号なし32ビット整数)のそれぞれの最大の素数を求めよという問題があり、ただし、エラトステネスのふるいは使わずに、上のプログラムを改良してみよという問題がどっかにあったんですが、全然わからないので、教えてください。

  • #include <stdio.h>

    #include <stdio.h> struct st { char a[3]; short b; char c[7]; long d; char e[5]; }; int main(void) { printf("%d\n",sizeof(struct st)); return 0; } コンパイルオプションでアライメントを変化させながら(1,2,4,…) sizeof(struct st)の変化を見たいのですが、コンパイルする時に どのようにすれば良いのでしょうか?当方、gccを使用しております。 あと、ついでなんですが、警告オプションは-Wと-Wallしかないのでしょうか?

  • なぜgccはstdio.hをインクルードしなくてもprintfが実行できるのか

    なぜgccはstdio.hをインクルードしなくてもprintfが実行できるのでしょうか。 暗黙にインクルードされるヘッダと されないヘッダファイルの差分等あれば教えていただきたく。。 // main.c int main(){ printf("SWSW\n") ; return 0 ; } % gcc main.c % ./a.out SWSW

  • 警告 W8065について。

    このプログラムを実行したら、実行結果は思い通りになったのですが、 「警告 W8065…プロトタイプのない関数」 と言うのが出ました。  (1)これを消すにはどうすればよいのかを教えてください。  (2)このプログラムはわざと4つに分けているのでこの状態のままプログラムのどこをいじればよいのかを教えてください。 OSはWindows XPでボーランドのコンパイラを使用しています。 #include<stdio.h> int hiki(); int kake(); int waru(); int main(){ int a,b; printf("一つ目の数字\n"); scanf("%d",&a); printf("二つ目の数字\n"); scanf("%d",&b); printf("計%d\n",a+b); hiki(); return 0; } int hiki (){ int c,d; printf("一つ目の数字\n"); scanf("%d",&c); printf("二つ目の数字\n"); scanf("%d",&d); printf("計%d\n",c-d); kake(); return 0; } int kake (){ int e,f; printf("一つ目の数字\n"); scanf("%d",&e); printf("二つ目の数字\n"); scanf("%d",&f); printf("計%d\n",e*f); waru(); return 0; } int waru (){ int g,h; printf("一つ目の数字\n"); scanf("%d",&g); printf("二つ目の数字\n"); scanf("%d",&h); printf("計%d\n",g/h); return 0; }

  • #include <stdio.h>

    #include <stdio.h> int main(void) { int num1,num2; int num3 = 5; printf("所持金を入力してください?"); printf("%d",&num1); printf("\n"); printf("購入品の金額を入力してください?"); printf("%d",&num2); printf("\n"); printf("\n"); printf("購入金額%d円\n", num2); printf("\n"); printf("消費税額%d円\n", num2 * num3/100); printf("\n"); printf("合計金額%d円です \n", num2 * num3/100+num2); printf("\n"); printf("お釣りは%d円です \n", num1-(num2 * num3/100+num2)); printf("\n"); printf ("内訳は \n"); printf("\n"); printf("10000円紙幣:%d枚 \n",(num1-(num2 * num3/100+num2))/10000); printf("5000円紙幣:%d枚 \n",(num1-(num2 * num3/100+num2))/5000); printf("1000円紙幣:%d枚 \n",(num1-(num2 * num3/100+num2)-5000)/1000); printf("500円硬貨:%d枚 \n",(num1-(num2 * num3/100+num2)-7000)/500); printf("100円硬貨:%d枚 \n",(num1-(num2 * num3/100+num2)-7000)/100); printf("50円硬貨:%d枚 \n",(num1-(num2 * num3/100+num2)-7200)/50); printf("10円硬貨:%d枚 \n",(num1-(num2 * num3/100+num2)-7250)/10); printf("5円硬貨:%d枚 \n",(num1-(num2 * num3/100+num2)-7270)/5); printf("1円硬貨:%d枚 \n",(num1-(num2 * num3/100+num2)-7275)/1);   printf("です。\n"); return 0; }  なんかエラー出ます・・・どこが間違ってるんでしょうか?

  • 詳しい方に質問です

    Cを始めて2日目の初心者です。 #include <stdio.h> int main () { int a,b; printf("一つ目の数字を入力"); scanf("%d", &a); printf("二つ目の数字を入力"); scanf("%d" &b); printf("%d - %d = %d\n"a,b,a-b); } このプログラムの間違っているところを教えてください。

  • プログラミングの問題

    【問題】 2つの数 a,b を入力し、aをbで割ったときの商と余りを求め、表示するプログラミングを作りなさい。 【ヒント】aとbを整数型で宣言しておき、a/bの計算をすると、小数点以下が切り捨てられ、整数化される。 a => 10 b => 3 商  = 3 余り = 1 上記の解答は、下記のようになるのですが、下記以外の解答方法はありませんでしょうか?プログラムに詳しい方解答おねがいします! #include <stdio.h> main() { int a, b, syo, amari; printf ("a => "); scanf("%d",&a); printf ("b => "); scanf("%d",&b); syo = a / b; amari = a % b; printf ("商  = %d\n",syo); printf ("余り = %d\n",amari); return (0); }

  • プログラミングについて教えてほしいんですが・・・

    プログラミングについて教えてほしいんですが・・・ プログラミングで四則演算プログラムをやっているのですが余りの求め方がわかりません。足し算の求め方は /*lesson2.c*/ #include<stdio.h> int add(int,int); int main(){ int a,b,c; printf("a="); scanf("%d",&a); printf("b="); scanf("%d",&b); c=add(a,b); printf("a+b=%d\n",c); } int add(int x, int y){ return x+y; } というやり方で求めることができたのですが、余りは上のプログラムのどこを変えたらいいのでしょうか? 誰かわかる人がいたら教えてください。お願いします。

  • C言語の質問です。

    #include"stdio.h" int main(void){ int a, b, add; scanf_s("%d%d", &a, &b); add = a+b; printf("add=%d\n", add); return 0; } と、------------------------------------------------------------------------------ #include"stdio.h" int tasizan(int x, int y); int main(void){ int a, b, add; scanf_s("%d%d", &a, &b); add = tasizan(a, b); printf("add=%d\n", add); return 0; } int tasizan(int x, int y){ int aa; aa = x + y; return aa; } の違いを教えてください。

  • 1以上の自然数を2つ(それぞれa,b)読み込み、

    a/bの値を少数を使った表現で画面に書き出すプログラムを作成するんですが、 #include <stdio.h> int main(void) {int a,b; double n; scanf("%d", &a); scanf("%d", &b); n=a/b; printf("%d ",n); return 0;} で実行しても、a、bに何を入れても0になっていしまいます。どこが違っているでしょうか?