ページ 11

学校の課題です

Posted: 2007年5月21日(月) 13:21
by 徹夜
はじめまして。C言語初心者です。
問題はキーボードから2つの整数を入力(a、bとする)して、(a<=b)ならば1ずづ増加させる
(a>b)ならば1ずつ減少させるプログラムを作るということです。
自分でこう書いてみたのですが、1ずつ増加することはできてもelse で減少させることができません。else文を教えてください。そもそもこれが間違っていたら教えてください。
    int a,b;
printf("a=");scanf("%d",&a);
printf("b=");scanf("%d",&b);
int i=a;
while(i<=b){printf("i=%d\n",i);if(a<=b)i=i+1;}

Re:学校の課題です

Posted: 2007年5月21日(月) 14:07
by 管理人
徹夜さん、こんにちは。

>問題はキーボードから2つの整数を入力(a、bとする)して、(a<=b)ならば1ずづ増加させる

とありますが、何を増加させるんでしょうか?
プログラムから拝見するに、aの値をiにいれてiを増加させたいようですが、後々aの値を使用しないのならaを増減させた方がわかりやすいのではないでしょうか?

もしiに入れる必要がないのであればいかのようにかけます。
#include <stdio.h>

int main( void ){
	int a,b;
	printf("a=");
	scanf("%d",&a); 
	printf("b=");
	scanf("%d",&b); 
	while(a!=b){
		printf("a=%d b=%d\n",a,b);
		if(a<=b)
			a++;
		else
			a--;
	}
	printf("a=%d b=%d\n",a,b);
	return 0;
}
 
 
上記プログラムを実際にコピーして実行してみてください。
a++;
というのは、aの値を1つ増やす
a--;
というのは、aの値を1つ減らす
と言う事です。

elseの使い方を教えてくださいと言う事ですが、
この辺の事は入門書にはもちろん、ウェブにも沢山説明がかかれています。
C言語入門系のサイトをみてまわって勉強しましょう。

たとえば
http://www5c.biglobe.ne.jp/~ecb/c/c00.html
3-2 単一分岐
を見ればifとelseの書き方がわかります。

もしまだ何かわからなければ言ってください。

Re:学校の課題です

Posted: 2007年5月21日(月) 23:15
by 徹夜
ありがとうございました。質問がわかりにくくてすみませんでした。

Re:学校の課題です

Posted: 2007年5月21日(月) 23:15
by 徹夜
解決押すの忘れていました。
本当にありがとうございました

Re:学校の課題です

Posted: 2007年5月22日(火) 00:22
by 管理人
勝手にiをaに変更してしまいましたけど、よかったのでしょうか(?_?
解決なさったようでよかったです、
頑張ってください☆