C言語関係掲示板

過去ログ

No.187.if( ); の間違い


No.1192

プログラムを教えて下さい3
投稿者---Airin(2002/03/06 20:23:38)


こんばんわ。またまたできない問題がでてきましたので分かる方がいましたら教えて下さい。if文の問題なのですがこの問題だけ出来ません。else文がifと一致しないというエラーが出てしまいます。

3科目の得点を入力し、その平均が80点以上ならA、70点以上ならB、60点以上ならC、60点未満ならDとして成績を表示します。

#include<stdio.h>
void main(void)
{
int a,b,c;
int average;

printf("3教科の点数を入力してください\n");
scanf("%d %d %d",&a,&b,&c);
average=(a+b+c)/3;
if(average>=80)
{
printf("成績はAです。");
}
else
{
if(average>=70 && average<80);
{
printf("成績はBです。");
}
else
{
if(average>=60 && average<70);
{
printf("成績はCです。");
}
else
{
printf("成績はDです。");
}
}
}
}




No.1196

Re:プログラムを教えて下さい3
投稿者---ともじ(2002/03/06 21:23:29)


こんばんは。

>こんばんわ。またまたできない問題がでてきましたので分かる方がいましたら教えて下さい。if文の問題なのですがこの問題だけ出来ません。else文がifと一致しないというエラーが出てしまいます。

> else
> {
> if(average>=70 && average<80);
> {
> printf("成績はBです。");
> }
> else
> {
> if(average>=60 && average<70);
> {
> printf("成績はCです。");
> }

if文の後ろに";"を付けると、1文と見なされてしまいます。
この";"は不要です。
それから、else if文は、続けて記述するのが普通です。

#include <stdio.h>
void main(void)
{
	int a,b,c;
	int average;

	printf("3教科の点数を入力してください\n");
	scanf("%d %d %d",&a,&b,&c);
	average=(a+b+c)/3;
	if(average>=80)
	{
		printf("成績はAです。");
	}
	else if(average>=70 && average<80)
	{
		printf("成績はBです。");
	}
	else if(average>=60 && average<70)
	{
		printf("成績はCです。");
	}
	else
	{
		printf("成績はDです。");
	}
}



No.1199

Re:プログラムを教えて下さい3
投稿者---Airin(2002/03/06 23:51:33)


ともじさんありがとうございました。そんな単純な間違いだったんですね。1時間も悩んでました。明日は2時からテストです。徹夜になりそうです。自分的には関数がかなり難関ですね。頑張ります。

戻る


「初心者のためのポイント学習C言語」 Last modified:2002.05.14
Copyright(c) 2000-2002 TOMOJI All Rights Reserved