| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 847 人关注过本帖
标题:员工工资求平均问题,但是我的一直是死循环。
只看楼主 加入收藏
lyxlzp
Rank: 2
等 级:论坛游民
帖 子:61
专家分:38
注 册:2016-10-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
员工工资求平均问题,但是我的一直是死循环。
#include<stdio.h>
int main()
{
  int n=1;
  float s,p,a;
  for(s=0,n=1; ;n++)
  {
     printf("请输入p");
     scanf("%f",&p);
     while(p==-1) break;
     s=s+p;
     printf("%f",&s);
  }
  a=s/p;
  printf("%f",&a);
  return 0;
}
  为什么我的程序一直在死循环 而且算法一直算出的是0  明明不是有break跳出循环了吗?
搜索更多相关主题的帖子: return 而且 
2016-10-31 22:41
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:2 
while(p==-1) break;改成if(p==-1) break;
2016-10-31 22:57
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
%f在作怪

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-10-31 22:57
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:0 
以下是引用九转星河在2016-10-31 22:57:37的发言:

%f在作怪



%f没有问题

早知做人那么辛苦!  当初不应该下凡
2016-10-31 22:58
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 4楼 炎天
……不好意思,刚才没测试,是&问题

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-10-31 22:59
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:10 
#include<stdio.h>
 int main()
 {
   int n=1;
   float s,p,a;
   for(s=0,n=1; ;n++)     {
      printf("请输入p");
      scanf("%f",&p);
      while(p==-1) break; //不提while循环右半班小括号是中文输入法的
      s=s+p;
      printf("%f",&s);
   }
   a=s/p;
   printf("%f",&a);  //右半班小括号是中文输入法的
   return 0;
 }

[此贴子已经被作者于2016-10-31 23:22编辑过]


早知做人那么辛苦!  当初不应该下凡
2016-10-31 23:02
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:8 
这个程序还有有很多问题有待改正,改正后代码如下:
#include<stdio.h>
int main()
{
  int n=1;
  float s,p,a;
  for(s=0,n=1; ;n++)
  {
     printf("请输入p");
     scanf("%f",&p);
     if(p==-1) break;
     s=s+p;
     printf("%f",s);
  }
  a=s/(n-1);
  printf("%f",a);
  return 0;
}

[此贴子已经被作者于2016-10-31 23:16编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-10-31 23:08
快速回复:员工工资求平均问题,但是我的一直是死循环。
数据加载中...
 
   



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

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