{
float a,b,c;
scanf("%f,%f,%f",&a,&b,&c);
if(((a+b+c)/3)>5)
printf("big!\n");
else if(((a+b+c)/3)<5)
printf("small!\n");
else
printf("middle!\n");
}
原程序如上:
输入
2 2 2
输出
small!
这是对的.
但
输入
3 6 9
输出却是
small!
输入
5 5 5
输出也出错了,是
small!
这是哪里出错了啊?望达人解答啊.

你输入数字的时候有错误!
你程序里面写的是:"scanf("%f,%f,%f",&a,&b,&c);"
输入的时候也要按它的形式输入!如果输入"3 6 9"
则系统将"3"付给a,将" "付给b,将"6"付给了c!
如:输入"3,6,9",输出就是:"big!"
如有不对的地方请高手指教!
#include<stdio.h>
void main()
{
float a,b,c;
scanf("%f,%f,%f",&a,&b,&c); //注意你的输入应该是5,5,5 并且逗号也得是英文版的。
//而你的输入是5 5 5 那你的程序就该改成:scanf("%f %f %f",&a,&b,&c);
//为了避免这些错误,你最好就是用scanf("%f %f %f",&a,&b,&c);
if(((a+b+c)/3) > 5)
{
printf("big!\n");
}
else if(((a+b+c)/3) < 5)
{
printf("small!\n");
}
else
{
printf("middle!\n");
}
}
恩,对.我刚刚明白了,改过来了.谢谢噢!
看程序真是火眼金星啊
修改之后:
#include <stdio.h>
int main(void)
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
if(((a+b+c)/3.0000)>5.0000)
printf("big!\n");
else if(((a+b+c)/3.0000)<5.0000)
printf("small!\n");
else
printf("middle!\n");
return 0;
}