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\n", 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\n", 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\n", sum);
21     printf("cnt = %d\n", cnt);
22     printf("avg = %f\n", 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\n", sum1);
21     printf("偶数和 = %d\n", 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!\n");
21     else
22         printf("No!\n");
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之和:\nsum = %d\n", sum);
27
28     sum = 0;                //1到100奇数之和
29     for (i=1; i<=100; i+=2)
30         sum = sum +i;
31     printf("1到100之间奇数之和:\nsum = %d\n", 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之间偶数之和:\nsum = %d\n", 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\n", cnt);
46
47     //avg = temp/(float)(cnt);            //1到100奇数的平均值
48     avg = 1.0*temp / cnt;                //1.0默认是double类型
49     printf("1到100之间奇数的平均数为:%f\n", 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\n", aa);
55
56     float x = 0;            //有一个浮点型变量x, 如何判断x的值是否是0
57     if (fabs(x-0.0000001) <= 0.0000001)
58         printf("x是0\n");
59     else
60         printf("x不是0\n");
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\n", 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  不成立

时间: 2024-10-12 08:14:33

for, while的用法的相关文章

js中获取时间new date()的用法

js中获取时间new date()的用法 获取时间:   var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFullYear(); //获取完整的年份(4位,1970-????) 3 myDate.getMonth(); //获取当前月份(0-11,0代表1月) 4 myDate.getDate(); //获取当前日(1-31) 5 myDate.getDay();

20.5 Shell脚本中的逻辑判断;20.6 文件目录属性判断;20.7 if特殊用法;20.8 20.9 cace判断(上下)

扩展: select用法 http://www.apelearn.com/bbs/thread-7950-1-1.html 20.5 Shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 1. 创建if1.sh测试脚本: [[email protected] ~]# vi if1.sh a=5,如果a大于3,满足这个条件,显示ok 添加内容: #!/bin/bash a=5 if [ $a -gt 3 ] then echo ok fi 2. 执行if1.sh脚本: [[e

20.1 Shell脚本介绍;20.2 Shell脚本结构和执行;20.3 date命令用法;20.4 Shell脚本中的变量

20.1 Shell脚本介绍 1. shell是一种脚本语言 aming_linux blog.lishiming.net 2. 可以使用逻辑判断.循环等语法 3. 可以自定义函数 4. shell是系统命令的集合 5. shell脚本可以实现自动化运维,能大大增加我们的运维效率 20.2 Shell脚本结构和执行 1. 开头(首行)需要加: #!/bin/bash 2. 以#开头的行作为解释说明: 3. 脚本的名字以.sh结尾,用于区分这是一个shell脚本 4. 执行.sh脚本方法有两种:

shell 中seq的用法 echo -n用法

用法:seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数 从1循环到100的两种方法(bash 其它的shell没试过)for x in `seq 1 100`;do echo $x;donefor x in {1..100};do echo $x;done echo -n 不换行输出 $echo -n "123" $echo "456" 最终输出 123456 echo -e 处理特殊字符 若字符串中

sudo的用法

su -l user -C 'COMMAND' 是用user这个用户执行命令 我们一般使用sudo 这个命令 sudo [-u] user COMMAND sudo [-k] COMMAND 清除此前用户的密码. sudo的配置文件/etc/sudoers 配置项为 users    hosts=(runas)    commands users:可以是一个用户的名称也可以是一个组,也可以是一个别名 username #UID user_alias 用户别名的用法 User_Alias NETA

几招学会 Python 3 中 PyMongo 的用法

本文和大家分享的是Python3下MongoDB的存储操作相关内容,在看本文之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库.下面进入正题,一起来看看吧,希望对大家学习Python3有所帮助. 连接MongoDB 连接MongoDB我们需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一个参数为地址host,第二个参数为端口port,端口如果不传默认是27017. import pymongo cl

11 css中分组选择符的用法

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style type="text/css"> h1,span{color:red;} a:hover{color:#2EE926;} /*分组选择符的用法*/ </style> </head> <body&

gawk 文本处理入门用法详集

awk笔记 gawk - pattern scanning and processing language 报告生成器,可进行格式化输出,文本处理三剑客之一,是基于sed和grep功能的扩展 一般用法格式: awk [options] 'program' FILE...     program: /regular/{print} 语句之间用分号分隔    print,printf 选项: -F:指明输入时用到的字段    -v var=value:指明自定变量 awk运作方式: 逐行读入文本,并

关于malloc和sizeof的用法

问题1: 1.L.elem = (ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType)); 2.newbase = (ElemType *)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType)); 其中L是已经定义的线性表,LIST_INIT_SIZE是线性表存储空间的初始分配量,listsize是当前分配的存储容量(以sizeof(ElemType)为单位) 解释: 第一个句子:用ma

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.interval 的法定值同TIMESTAMPADD()函数说明中所列出的相同. mysql> SELECT TIMESTAMPDIFF(MONTH,'200