问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求检查一下C语言程序哪里出错了

发布网友 发布时间:2024-04-05 16:41

我来回答

3个回答

热心网友 时间:2024-04-05 22:00

/* Note:Your choice is C IDE */
#include<stdio.h>
int main()
{
 int i,c_ir=0,c_r=0;
 long x=0;
 float sg,tz,a=0,b;
 for(i=0;1;i++)
 {
  printf("请输入密码 :\n");
  scanf("%ld",&x);
  if (x==123)
  {  
   printf(" 密码正确!\n");
   break;
  }  
  else if (i<2)     
   printf("密码错误,请重新输入:\n");      
  else 
   exit(0);
 }
 for(i=0;1;i++)
 {
  printf("请输入你的身高(m):\n");
  scanf("%f",&sg); 
  printf("请输入你的体重(kg):\n"); 
  scanf("%f",&tz); 
  if(sg<=0||tz<=0)  
   break; 
  else
  {
   b=tz/sg/sg;

   if (b<18)  
   {
    printf("偏瘦!");
    c_ir++;
   }  
   else if (b<25)
   {  
    printf("正常!");   
    c_r++; 
   }     
   else if (b<30) 
   {
    printf("微度肥胖!");
    c_ir++;
   }   
   else if (b<35)  
   {
    printf("轻度肥胖!");
    c_ir++;
   }        else if (b<40)  
   {
    printf("中度肥胖!");
    c_ir++;
   }                    
   else  
   {
    printf("重度肥胖!");
    c_ir++;
   }        
  }
 }
 printf("\n正常人数:%d,百分比:%.2f\n非正常人数:%d,百分比:%.2f",
  c_r,(float)c_r/(c_r+c_ir),c_ir,(float)c_ir/(c_r+c_ir));
 return 0;
}

 

稍微改动了一点点,改成能用。但其他逻辑方面还是可以继续改的。

比如 for i=0 i i++ 这个 就相当于 while,也没有你种写法,虽然你这样写能用

测试结果:

请输入密码 :
123
 密码正确!
请输入你的身高(m):
1.8
请输入你的体重(kg):
65
正常!请输入你的身高(m):
1.8
请输入你的体重(kg):
70
正常!请输入你的身高(m):
1.8
请输入你的体重(kg):
80
正常!请输入你的身高(m):
1.8
请输入你的体重(kg):
85
微度肥胖!请输入你的身高(m):
1.7
请输入你的体重(kg):
75
微度肥胖!请输入你的身高(m):
1.7
请输入你的体重(kg):
70
正常!请输入你的身高(m):
1.7
请输入你的体重(kg):
65
正常!请输入你的身高(m):
1.7
请输入你的体重(kg):
60
正常!请输入你的身高(m):
1.7
请输入你的体重(kg):
55
正常!请输入你的身高(m):
1.7
请输入你的体重(kg):
50
偏瘦!请输入你的身高(m):
0
请输入你的体重(kg):
0
正常人数:7,百分比:0.70
非正常人数:3,百分比:0.30

             Press any key to continue

追问谢谢

追答你仔细对比我改了哪些地方就会明白。那个判断那里 我加了个=号,也就是<=0的时候,break。

热心网友 时间:2024-04-05 22:00

for(i=0;1;i++)死循环条件,循环体里又没有break,循环肯定退不出来呀。
你不管是偏瘦还是肥胖啥的都c++ 那c最后就是总人数呗,那你还不如放在if语句的外面,
你可以给每一种身体情况都定义一个变量用来统计,例如偏胖就a++ 偏瘦就b++ 这样循环过后你可以用这些变量除以c来获得所占的百分比

我正在写一些适合初学者看的文章,感兴趣,你可以在百度搜索 "创建第一个c语言程序",百度经验和csdn博客里都有。

热心网友 时间:2024-04-05 22:00

for(i=0;1;i++) ,你写了1 不就是让他无限循环?追问应该怎么改呢?
不用1 ,那用什么能统计N个人的呢?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
青海摇什么时候火的 宋庄镇都有哪些村 唐山多地解除封控管理、静态管理,市民仍需做好哪些防护? 拼多多上面的旗舰店是正品吗 ...尺是20:1的图纸上,应画多少厘米,在比例尺是1:200的图纸上测_百度知... 4x2=8,4x20=8,4x200=800,我发现了:一个因数不变,另外一个因数乘以几,积... 小学三年级数学上册4X2=8,4X20=80,4X200=800我发现:一个因数不变,另... 描写雪的段落优选好句60句 程序员最低学历是多少 电脑不识别独显了怎么办? 教育局电话多少?赣州兴国的。规定通学生不上早晚自习,我们学校还上... 中间接头的作用是什么啊? 开关柜图1 2 3处各是什么意思? 豆腐捣成泥怎么做好吃好吃的豆腐泥做法步骤介绍 主要限制膝关节外翻的力量为以下何者? 三水到广州白云山有直达吗? 请问:从广州火车站到佛山市三水区白坭镇怎么坐车 白尼镇到广州火车东站做公交车怎么做? 高跟鞋是誰發明的? 高跟鞋的发明的高跟鞋的发明故事 ...装4千克水。不用称,如何称出5千克?这道题的概念是什么? 怎么批量保存网页上的图片到电脑上面? 女人的胸为什么比男人的胸大 掌上网咖玩荒野大镖客有线上模式吗 永年育英学校五年级什么事侯找生 永年育英学校考号73322姓名王梓莹成绩是多少 静脉曲张引起的血栓 疼痛处在腿上蹿位置是怎么回事?是否需要手术?_百度... 济南市新闻办公室级别 ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... 心梗最常见的致病因素“甘油三酯”如何预防呢?遵循『两多四少』 这个程序哪里有问题啊?我是C语言初学者!急急急!!! 请问血脂血糖血压正常值还有什么原因能患心梗吗 请高手帮我看个程序 小弟c语言初学者 求解!! 小弟感激不尽 保鲜用的冰袋可以反复使用吗冰袋相关介绍 高血脂不控制会引起心肌梗死吗? 瑞虎3换一次机油需要几升 在蒙氏工作中,孩子对教具没兴趣,是否应该继续放在教具柜 蒙氏托班如果小朋友比较吵闹老师怎么引导 长期吃姜有哪些好处 长期吃姜有什么好处 口袋妖怪魂银和心金好玩吗 可是后来的我们并没有再爱过是什么歌歌曲我曾爱过一个人歌曲欣赏 形容一个人灯下黑是什么意思一个人灯下黑是什么梗 女人跟一个不熟悉男人打招呼后回头看这个男人是什么意思? 一个人世故是什么意思一个人世故是啥意思如何相处 滨州无棣佘家乡寄的EMS到青岛,十四号下午寄的,十六号上午能收到吗?_百... 写桥的作文:桥,连接两岸的纽带P 常盈桥中有什么智慧? 给学长学姐祝福语简短搞笑 【志愿服务重塑大学新生社会责任感之我见】乡村振兴战略之我见