提示: 作者被禁止或删除 内容自动屏蔽
以下是引用SunShining在2006-6-2 12:22:00的发言:
while((!scanf("%d", a+i)) ||(a[i] <= 0) || (a[i] > 100))
那么.去写我的吧..!
while((!scanf("%d", a+i)) ||(a[i] <= 0) || (a[i] > 100))
那么.去写我的吧..!
你退出了while,但是你没有接收到正确的值啊,解决了一个问题又产生了一个问题。
void main()
{
int i;
int mymax = 0;
int mymin = 100;
int a[10];
int result = 0;
for (i = 0; i <= 9; i++)
{
printf("请%d号评委打分\n", i + 1);
scanf("%d", &a[i]);
while((a[i] <= 0) || (a[i] > 100))
{
printf("分数必须在1-100之间,请重新打分\n");
scanf("%d", &a[i]); //在这里,如果我输入字母就不行了
}
mymax > a[i]? mymax: mymax = a[i];
mymin < a[i]? mymin: mymin = a[i];
result += a[i];
}
result = result - mymax - mymin;
printf("选手最后得分:%d", result);
}
输入字符不在<0;>100之内!!!
INT型接受CHAR型会产生易想不到的结果