アプリ版:「スタンプのみでお礼する」機能のリリースについて

プログラムの作成で分からないところがあります。

「二つの整数値を読み込み、小さいほうの数以上で大きい数以下の
整数を全て加えた値を表示するプログラムをdo文を使って
作成せよ。」

下の図のようにしたいです。

2つの整数を入力せよ。

整数A:37
整数B:28

28以上37以下の全整数の和は325です。


よろしくお願いします。

A 回答 (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;
}

# それにしても行頭に半角スペースやタブを入れると
# 勝手に削除されてしまう仕様は何とかならないのか。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2011/12/13 19:25

すみません。

問題見間違えてました。
たしかにdoを使う方法もあります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/11/28 20:54

つまり、こんな感じなんでしょうか?


(ただし、a<bという条件でやっています。逆の場合は入れ替える処理を加えて下さい)

sum = 0

do{
sum += a
a++
}while(a <= b)

これで、aから始まり、bと等しくなるまでaに1を足し続け、合計を求める文になると思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/11/28 20:55

具体的にどこがわからないのでしょうか?


もし「全然わからない」なら、それは質問ではなく「プログラム作成依頼」です。
勉強を最初からやりなおしてください。


こちらとしても do を何に使うのか、わかりません。
その問題文だけだと、doを使う必要がまったくないですから。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2012/06/12 21:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!