标题:求一个循环条件
只看楼主
初学者小Q
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-4-5
 问题点数:0 回复次数:21 
求一个循环条件
要求:输入n 个整数,求其中偶数的平均值。
一开始我想用for循环,但总变成死循环输入,后改用while 循环,但不知道怎么设入循环条件,写了一下代码,可以的话教教我用for 编这题,跳出循环输入
  main()
{int a,sum=0,average,i=0;
   while (    )
    { scanf("%d",&a);
      if (a%2==0)
        { sum+=a;
        i++;
        average=sum/i;}
       printf("average=%d\n",average);
      }
}
搜索更多相关主题的帖子: average sum 条件 int 偶数 
2008-04-11 19:09
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
得分:0 
ni keyi i=1; while (i<循环的范围 ) 可以社顶输入多少数  里面 i++;
huozhe  根据你要输出多少的偶数 设置个记数器 根据你要求多少的偶数 跳出循环

------...-.-..-...-----........-------.......----.....------....||- - !
2008-04-11 19:39
酷猫
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2007-9-8
得分:0 
#include "stdio.h"
main()
{
  int i,j=1,,k=0,sum=0,average;
  while(j=1)/*一直循环*/
  {
  printf("please enter number:\n\n");
  scanf("%d",&i);
  j=i;
  if(j==0)
  return;/*输入0退出*/
  else
  if(i%2==0)
{
  sum+=i;
  k++;
 }
  else
  printf("please enter number:\n\n");
  average=sum/k;
  printf("sum=%d\n",sum);
  printf("average=%d\n\n",average);

  }

}

[[it] 本帖最后由 酷猫 于 2008-4-11 22:07 编辑 [/it]]

生活真TM好玩,因为生活老TM玩我!
2008-04-11 19:56
张信哲
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2008-4-3
得分:0 
#include<stdio.h>  
void main()
{
    int a[10];
    int i,average,sum=0,count=0;
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]%2==0)
        {
            sum+=a[i];
            count++;
        }
    }
    average=sum/count;
    printf("%d",average);
}
2008-04-11 20:04
初学者小Q
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-4-5
得分:0 
回复 3# 的帖子
average=sum/2;
这里不太懂,为什么?
2008-04-11 21:47
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
得分:0 
程序代码:
/*
  试着写了一个,不过输入之后还得按一个任意键,感觉有些麻烦。我试过退出条件为k!=EOF,
可是k为int型,貌似无法达到这个要求。感觉  0  也是整数,用它作为退出条件比较不切合
实际,所以只得退而求其次。

   LZ所要求的,其实while,do……while,for可以相互转换的,你试着转换一下代码,也许
就能明白其中的奥妙了。
*/
#include<stdio.h>
int main(void)
{
        int i=0,j=0,he=0,k;
        float pingjun;
        char c;
        while(1)
        {
                printf("\n\n*******************************************\n");
                printf("请输入第 %d 个数:",++i);
                scanf(" %d",&k);
                while(c=getchar()!='\n');
                if(k!=0&&k%2==0)
                {
                        he+=k;
                        ++j;
                }
                printf("\nN键退出,任意键继续:\n");
                c=getch();
                if(c=='n'||c=='N')
                        break;
        }
        system("cls");
        printf("\n\n############################################\n\n");
        printf("您输入的偶数的平均值为: %f",pingjun=he/j);


        getch();
        return 0;
}


2008-04-11 21:47
初学者小Q
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-4-5
得分:0 
回复 4# 的帖子
谢谢你,不过我没看明白,加点标注好吗?
2008-04-11 21:49
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
得分:0 
回复 7# 的帖子
你再好好看看,如果连4#的代码都无法看明白,你可真是白学了。
2008-04-11 21:52
初学者小Q
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-4-5
得分:0 
回复 6# 的帖子
while(1)
        {
                printf("\n\n*******************************************\n");

…………

system("cls");
        printf("\n\n############################################\n\n");
解释一下这两句好吗?大致明白了,就这两句不懂,还有return 0;怎么用?谢谢你的详解。
2008-04-11 21:56
初学者小Q
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-4-5
得分:0 
4#是把输入的整数限制在10个了吧,这个意思看出来了,a[10]见过没学过。

[[it] 本帖最后由 初学者小Q 于 2008-4-11 22:05 编辑 [/it]]
2008-04-11 22:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-208468-1-1.html




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

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