zoukankan      html  css  js  c++  java
  • for, while的用法

    for循环求1+2+3+4+....+100

    # include <stdio.h>
    
    int main(void)
    {
        int i;    //循环中更新的变量i不能定义成浮点型
        int sum = 0;
    
        for (i=1; i<=100; ++i)
            sum = sum + i;
    
        printf("sum = %d
    ", sum);
    
        return 0;
    }

    求1-100之间奇数的个数:

    # include <stdio.h>
    
    int main(void)
    {
        int i;    //循环中更新的变量i不能定义成浮点型
        int sum = 0;
    
        for (i=1; i<=100; ++i)
            sum = sum + i;
    
        printf("sum = %d
    ", sum);
    
        return 0;
    }

    求1-100之间奇数的平均值:

     1 # include <stdio.h>
     2 
     3 int main(void)
     4 {
     5     int i;
     6     int sum = 0;
     7     int cnt = 0;
     8     float avg; //average 的缩写
     9     
    10     for (i=1; i<101; ++i)
    11     {
    12         if (i%2 == 1)
    13         {
    14             sum += i;
    15             ++cnt;
    16         }
    17     }
    18     avg = 1.0*sum / cnt;  //1.0默认是double类型
    19 
    20     printf("sum = %d
    ", sum);
    21     printf("cnt = %d
    ", cnt);
    22     printf("avg = %f
    ", avg);
    23     
    24     return 0;
    25 }

    求1-100之间奇数和,偶数和:

     1 # include <stdio.h>
     2 
     3 int main(void)
     4 {
     5     int i;
     6     int sum1 = 0;  //奇数和
     7     int sum2 = 0;  //偶数和
     8     
     9     for (i=1; i<101; ++i)
    10     {
    11         if (i%2 == 1)
    12         {
    13             sum1 += i;
    14         }
    15         else
    16         {
    17             sum2 += i;
    18         }
    19     }
    20     printf("奇数和 = %d
    ", sum1);
    21     printf("偶数和 = %d
    ", sum2);
    22     
    23     return 0;
    24 }

    while语句 求回文数:

     1 # include <stdio.h>
     2 
     3 int main(void)
     4 {
     5     int val; //存放待判断的数字
     6     int m;
     7     int sum = 0;
     8 
     9     printf("请输入您需要判断的数字:  ");
    10     scanf("%d", &val);
    11     
    12     m = val;
    13     while (m)
    14     {
    15         sum = sum * 10 + m%10;
    16         m /= 10;
    17     }
    18 
    19     if (sum == val)
    20         printf("Yes!
    ");
    21     else
    22         printf("No!
    ");
    23 
    24     return 0;
    25 }

    一个比较综合的例子:

     1 /*
     2 时间:2015年2月7日15:58:20
     3 描述:1. 1到100之间奇数偶数求和问题
     4       2. for语句while语句相互转化
     5       3. 强制类型转换
     6 */
     7 
     8 # include <stdio.h>
     9 # include <math.h>
    10 
    11 int main(void)
    12 {
    13     int i,temp;
    14     int sum = 0;
    15     float avg = 0.0;        //average的缩写
    16 /*    
    17     for (i=1; i<=100; i++)    //1到100之和
    18         sum = sum +i;
    19 */
    20     i = 0;                    //用while实现,注意i的初始化
    21     while (i <= 100)
    22     {
    23         sum += i;            //两个语句不能互换
    24         i++;
    25     }
    26     printf("1到100之和:
    sum = %d
    ", sum);
    27     
    28     sum = 0;                //1到100奇数之和
    29     for (i=1; i<=100; i+=2)
    30         sum = sum +i;
    31     printf("1到100之间奇数之和:
    sum = %d
    ", sum);
    32     temp = sum;
    33     
    34     sum = 0;                //1到100偶数之和
    35     for (i=2; i<=100; i+=2)
    36         sum = sum +i;
    37     printf("1到100之间偶数之和:
    sum = %d
    ", sum);
    38     
    39     int cnt = 0;                //1到100奇数的个数,个数一般用cnt表示,count
    40     for (i=1; i<=100; i++)
    41     {
    42         if (i%2 == 1)
    43             cnt += 1;
    44     }
    45     printf("1到100之间奇数的个数是%d
    ", cnt);
    46     
    47     //avg = temp/(float)(cnt);            //1到100奇数的平均值
    48     avg = 1.0*temp / cnt;                //1.0默认是double类型
    49     printf("1到100之间奇数的平均数为:%f
    ", avg);
    50     
    51     float aa = 0;            //1 + 1/2 + 1/3 + ... + 1/100之和
    52     for (i=1; i<=100; i++)
    53         aa += 1/((float) i);//或   aa += 1.0/i;
    54     printf("1 + 1/2 + 1/3 + ... + 1/100 = %f
    ", aa);
    55     
    56     float x = 0;            //有一个浮点型变量x, 如何判断x的值是否是0
    57     if (fabs(x-0.0000001) <= 0.0000001)
    58         printf("x是0
    ");
    59     else
    60         printf("x不是0
    ");
    61     
    62     return 0;
    63 }
    64 
    65 /*
    66 在VC++6.0输出结果是:
    67 ----------------------------
    68 1到100之和:
    69 sum = 5050
    70 1到100之间奇数之和:
    71 sum = 2500
    72 1到100之间偶数之和:
    73 sum = 2550
    74 1到100之间奇数的个数是50
    75 1到100之间奇数的平均数为:50.000000
    76 1 + 1/2 + 1/3 + ... + 1/100 = 5.187378
    77 x是0
    78 ----------------------------
    79 注意:
    80 1.    float 和double 都不能保证可以精确的存储一个小数
    81 所以自增自减变量i, j 不能定义成浮点型
    82 2.    注意绝对值函数abs()和fabs()
    83 如果整型取绝对值用abs,float用fabs,并且要#include <math.h>
    84 3.  VC6.0自动对齐,选中需要对齐的程序,按ALT+F8
    85 4.  F2(或者shift + F2)可以跳转到下一处标记
    86     CTRL + shift + F2 取消所有标记
    87     CTRL + F2可以添加或取消某一个标记
    88 5.  for 语句和while 语句的相互转化,但是for的逻辑性更强,推荐多使用for循环
    89 
    90     for (1; 2; 3)
    91         A;
    92     等价于
    93     1;
    94     while(2)
    95     {
    96         A;
    97         3;
    98     }
    99 */

    菲波拉契序列_递归:

     1 /*
     2     菲波拉契序列
     3     1  2  3  5  8  13  21  34
     4 */
     5 
     6 # include <stdio.h>
     7 
     8 int main(void)
     9 {
    10     int n;
    11     int f1, f2, f3;
    12     int i;
    13 
    14     f1 = 1;
    15     f2 = 2;
    16 
    17     printf("请输入您需要求的想的序列: ");
    18     scanf("%d", &n);
    19 
    20     if (1 == n)
    21     {
    22         f3 = 1;
    23     }
    24     else if (2 == n)
    25     {
    26         f3 = 2;
    27     }
    28     else
    29     {
    30         for (i=3; i<=n; ++i)
    31         {
    32             f3 = f1 + f2;
    33             f1 = f2;
    34             f2 = f3;
    35         }
    36     }
    37 
    38     printf("%d
    ", f3);
    39     
    40     return 0;
    41 }

    试数:设n = 6

    1> i=3  3<=6  成立
    f3=1+2=3  f1=f2=2  f2=f3=3  ++i  i=4
    2> i=4  4<=6  成立
    f3=2+3=5   f1=3  f2=5  i=5
    3> i=5  5<=6  成立
    f3=3+5=8   f1=5  f2=8  i=6
    4> i=6  6<=6  成立
    f3=5+8=13  f1=8  f2=13  i=7
    5> i=7  7<=6  不成立

    http://www.cnblogs.com/moon1992/
  • 相关阅读:
    div地图中display设置为none引起的报错
    onclick事件传参
    获取,设置任意标签的任意属性值
    ajax局域变量赋值给全局变量
    eclipse整合maven打包的时候跳过测试
    测网络ip,端口互通命令
    关于局域网地址ping不通的问题
    Error starting static Resources java.lang.IllegalArgumentException: Document base F:Soft omcatwebappspms-site does not exist or is not a readable directory
    回顾创建项目报错
    记录一次webpackJsonp is not defined
  • 原文地址:https://www.cnblogs.com/moon1992/p/4536555.html
Copyright © 2011-2022 走看看