| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1458 人关注过本帖
标题:为什么会出现死循环?
只看楼主 加入收藏
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-02 12:31
金为床兮银为椅
Rank: 1
等 级:新手上路
帖 子:183
专家分:0
注 册:2006-3-20
收藏
得分:0 
以下是引用SunShining在2006-6-2 12:22:00的发言:
while((!scanf("%d", a+i)) ||(a[i] <= 0) || (a[i] > 100))


那么.去写我的吧..!

你退出了while,但是你没有接收到正确的值啊,解决了一个问题又产生了一个问题。


努力学习C、C++、LINUX、ORACLE、ENGLISH,累死为止。
2006-06-02 15:47
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
#include<stdio.h>

#define N 10

int main(int argc,char*argv[])
{
int i=0, flag=1;
float aver,max,min,score;

while(i<N)
{
printf("score %d: ",i+1);
do
{
if(flag-1)printf("renew %d: ",i+1);
flag=scanf("%f",&score);
fflush(stdin);
}
while(flag-1);

if(++i==1)
aver=max=min=score;
else
{
if(score>max)max=score;
if(score<min)min=score;
aver+=score;
}
}
aver=(aver-max-min)/(N-2);
printf("average score = %4.2f\n",aver);
}

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-02 16:01
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用金为床兮银为椅在2006-6-2 15:47:00的发言:

你退出了while,但是你没有接收到正确的值啊,解决了一个问题又产生了一个问题。

汗..我是把他的while改了..你看清楚..那个修改处!!!


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-02 16:25
lanen995
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-5-6
收藏
得分:0 
while((a[i] <= 0) || (a[i] > 100))
{
printf("分数必须在1-100之间,请重新打分\n");
scanf("%d", &a[i]); //在这里,如果我输入字母就不行了

}
在这里面就是死循环!只有没有输入非1-100的数那才跳的出来!
2006-06-02 23:56
Xfengle
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-6-3
收藏
得分:0 

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型会产生易想不到的结果

2006-06-03 15:13
快速回复:为什么会出现死循环?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026734 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved