• 締切済み

C言語についてなんですが

プログラムの作成で分からないところがあります。 「二つの整数値を読み込み、小さいほうの数以上で大きい数以下の 整数を全て加えた値を表示するプログラムをdo文を使って 作成せよ。」 下の図のようにしたいです。 2つの整数を入力せよ。 整数A:37 整数B:28 28以上37以下の全整数の和は325です。 よろしくお願いします。

みんなの回答

回答No.4

こんなかんじかねぇ。 #include <stdio.h> void input(int *a, int *b) {   printf("整数A: ");   scanf("%d",a);   printf("整数B: ");   scanf("%d",b); } int set_min(int a, int b) {   return ((a <= b) ? a : b); } int set_max(int a, int b) {   return ((a <= b) ? b : a); } int calcsum(int c, int d) {   int ans = 0, i;   for (i = c; i <= d; i++)     ans += i;   return ans; } int main(void) {   int a, b, c, d, sum;   input(&a,&b);   c = set_min(a,b);   d = set_max(a,b);   sum = calcsum(c,d);   printf("%d以上%d以下の全整数の和は%dです。\n",c,d,sum);   return 0; } # それにしても行頭に半角スペースやタブを入れると # 勝手に削除されてしまう仕様は何とかならないのか。

patorash11
質問者

お礼

ありがとうございます。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

すみません。問題見間違えてました。 たしかにdoを使う方法もあります。

patorash11
質問者

お礼

回答ありがとうございます。

  • akr104
  • ベストアンサー率49% (25/51)
回答No.2

つまり、こんな感じなんでしょうか? (ただし、a<bという条件でやっています。逆の場合は入れ替える処理を加えて下さい) sum = 0 do{ sum += a a++ }while(a <= b) これで、aから始まり、bと等しくなるまでaに1を足し続け、合計を求める文になると思います。

patorash11
質問者

お礼

そんな感じですね。回答ありがとうございます。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

具体的にどこがわからないのでしょうか? もし「全然わからない」なら、それは質問ではなく「プログラム作成依頼」です。 勉強を最初からやりなおしてください。 こちらとしても do を何に使うのか、わかりません。 その問題文だけだと、doを使う必要がまったくないですから。

patorash11
質問者

お礼

ありがとうございます。

関連するQ&A

専門家に質問してみよう