鱼C论坛

 找回密码
 立即注册
查看: 3942|回复: 3

求助一个简单的程序 菜鸟 高手指教啊

[复制链接]
发表于 2013-1-7 22:29:07 | 显示全部楼层 |阅读模式
2鱼币
#include<stdio.h>
int main(void)
{
   float sum=0.0,avg=0.0; /*给变量初始化*/
   int num,count,c9,c89,c78,c67,c6; /*定义变量*/
   num=count=c9=c89=c78=c67=c6=0; /*给变量赋值*/
   scanf("%d",&num); /*输入数字*/
   while(num>0 && num<101) /*统计*/
   {
     sum=sum+num; /*求全班成绩总和*/
     count=count+1; /*求全班人数*/
     if(num>=90)
        c9=c9+1; /*成绩在90分以上的人数统计*/
     else
  {
        if(num>=80 && num<90)
           c89=c89+1; /*成绩在80~90分之间的人数统计*/
        else
         {
           if(num>=70 && num<80)
             c78=c78+1; /*成绩在70~80分之间的人数统计*/
           else
             {
               if(num>=60 && num<70)
                  c67=c67+1; /*成绩在60~70分之间的人数统计*/
               else c6=c6+1; /*成绩在60分一下的人数统计*/
             }  
  }
  }
    scanf("%d",&num); /*再次输入数据*/
   }
  avg=sum/count; /*求平均成绩*/
  printf("班级平均成绩为:%f\n",avg); /*输出平均成绩*/
  printf("90分以上的(包括90)的人数是:%d\n",c9); /*输出成绩在90分以上的人数*/
  printf("80分~90分(包括80)的人数是:%d\n",c89); /*输出成绩在80~90分之间的人数*/
  printf("70分~80分(包括70)的人数是:%d\n",c78); /*输出成绩在70~80分之间的人数*/
  printf("60分~70分(包括60)的人数是:%d\n",c67); /*输出成绩在60~70分之间的人数*/
  printf("60分以下的人数是:%d\n",c6); /*输出成绩低于60分的人数*/
  return 0;
}




请问一下这个程序转为FOR循环式怎么样的??我改了怎么实现不了是负数就退出循环的功能了呢??高手求教!!

最佳答案

查看完整内容

这是改成for循环的效果……
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-1-7 22:29:08 | 显示全部楼层
  1. #include<stdio.h>
  2. int main(void)
  3. {
  4.    float sum=0.0,avg=0.0; /*给变量初始化*/
  5.    int num,count,c9,c89,c78,c67,c6 ; /*定义变量*/
  6.    num=count=c9=c89=c78=c67=c6=0; /*给变量赋值*/
  7.    scanf("%d",&num); /*输入数字*/


  8. for( ; num>0 && num <101 ; )
  9. {
  10.          sum=sum+num; /*求全班成绩总和*/
  11.     count=count+1; /*求全班人数*/
  12.      if(num>=90)
  13.         c9=c9+1; /*成绩在90分以上的人数统计*/
  14.     else
  15.          {
  16.        if(num>=80 && num<90)
  17.            c89=c89+1; /*成绩在80~90分之间的人数统计*/
  18.                 else
  19.          {
  20.            if(num>=70 && num<80)
  21.              c78=c78+1; /*成绩在70~80分之间的人数统计*/
  22.            else
  23.              {
  24.                if(num>=60 && num<70)
  25.                   c67=c67+1; /*成绩在60~70分之间的人数统计*/
  26.                else c6=c6+1; /*成绩在60分一下的人数统计*/
  27.              }  
  28.                 }
  29.          }
  30.     scanf("%d",&num); /*再次输入数据*/
  31. }

  32.   avg=sum/count; /*求平均成绩*/
  33.   printf("班级平均成绩为:%f\n",avg); /*输出平均成绩*/
  34.   printf("90分以上的(包括90)的人数是:%d\n",c9); /*输出成绩在90分以上的人数*/
  35.   printf("80分~90分(包括80)的人数是:%d\n",c89); /*输出成绩在80~90分之间的人数*/
  36.   printf("70分~80分(包括70)的人数是:%d\n",c78); /*输出成绩在70~80分之间的人数*/
  37.   printf("60分~70分(包括60)的人数是:%d\n",c67); /*输出成绩在60~70分之间的人数*/
  38.   printf("60分以下的人数是:%d\n",c6); /*输出成绩低于60分的人数*/
  39.   return 0;
  40. }
复制代码
这是改成for循环的效果……
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-1-8 19:30:18 | 显示全部楼层
你这个程序打算满足什么情况下停止循环呢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-1-19 17:58:11 | 显示全部楼层
二楼的回答好有趣。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-9 12:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表