for循环习题(求1到100奇数和,偶数和。奇数个数,奇数平均值)

作者在 2011-08-16 13:34:19 发布以下内容
/*
时间:2011年8月16日13:22:48
功能:1.求1到100的奇数之和
      2.求1到100的偶数只和
      3.求1到100的奇数的个数
      4.求1到100的奇数的平均值
目的:完成课后习题,练习for循环用法
*/

# include <stdio.h>

int main(void)
{
    int i;
    int odd = 0;        //odd表示奇数的和
    int even = 0;        //even表示偶数的和
    int number = 0;        //number表示奇数的个数
    float average = 0;    //average表示奇数的平均值,注意平均值可能有小数,使用float
    
    for (i=1; i<101; ++i)    //i<101等价于i<=100
    {
        if (i%2 != 0)    //或者if (i%2 == 1)
        {
            odd += i;    //等价于odd = odd + i;
            ++number;
        }
        else
            even += i;
        
    }
    
    average = 1.0*odd / number;        //用1.0*odd / number做了数据类型转化,1.0默认是double的,有可能报warning
    
    printf("1到100的奇数和是 %d\n",odd);
    printf("1到100的偶数和是 %d\n",even);
    printf("1到100的奇数的个数是 %d\n",number);
    printf("1到100的奇数的平均值是 %f\n", average);
    
    
    return 0;
}

/*
在VC++6.0中的输出结果为:
————————————
1到100的奇数和是 2500
1到100的偶数和是 2550
1到100的奇数的个数是 50
1到100的奇数的平均值是 50.000000
Press any key to continue
 
————————————  
    程序运行流程
    i=1
    1<101成立,1%2!=0为真,odd=0+1,        number=0+1=1,        even+=i不执行,    i=1+1=2
    2<101成立,2%2!=0为假,odd+=i不执行,    ++number不执行,    even=0+2=2,    i=2+1=3
    3<101成立,3%2!=0为真,odd=0+1+3,        number=1+1=2,        even+=i不执行,    i=3+1=4
    ......
    99<101成立,99%2!=0为真,odd=0+1+3+...+99=2500,number=1+1+...+1=50,even+=i不执行,i=99+1=100
    100<101成立,100%2!=0为假,odd+=i不执行,++number不执行,    even=0+2+4+...100, i=100+1=101
    101<101不成立,循环结束
    average=odd/number=2500/50=50
    输出结果
    
*/
郝斌视频笔记 | 阅读 23901 次
文章评论,共3条
贾文慧
2011-08-19 12:26
1
为了骗积分,赞一个
小赵q1
2011-09-03 06:54
2
你咋老是为了骗积分呢?我都看到你三次了,呵呵
附也养林(游客)
2018-05-09 17:09
3
游客请输入验证码
最新评论