for, while的用法
for循环求1+2+3+4+....+100
# include <stdio.h> int main(void)
{
int i; //循环中更新的变量i不能定义成浮点型
int sum = ; for (i=; i<=; ++i)
sum = sum + i; printf("sum = %d\n", sum); return ;
}
求1-100之间奇数的个数:
# include <stdio.h> int main(void)
{
int i; //循环中更新的变量i不能定义成浮点型
int sum = ; for (i=; i<=; ++i)
sum = sum + i; printf("sum = %d\n", sum); return ;
}
求1-100之间奇数的平均值:
# include <stdio.h> int main(void)
{
int i;
int sum = ;
int cnt = ;
float avg; //average 的缩写 for (i=; i<; ++i)
{
if (i% == )
{
sum += i;
++cnt;
}
}
avg = 1.0*sum / cnt; //1.0默认是double类型 printf("sum = %d\n", sum);
printf("cnt = %d\n", cnt);
printf("avg = %f\n", avg); return ;
}
求1-100之间奇数和,偶数和:
# include <stdio.h> int main(void)
{
int i;
int sum1 = ; //奇数和
int sum2 = ; //偶数和 for (i=; i<; ++i)
{
if (i% == )
{
sum1 += i;
}
else
{
sum2 += i;
}
}
printf("奇数和 = %d\n", sum1);
printf("偶数和 = %d\n", sum2); return ;
}
while语句 求回文数:
# include <stdio.h> int main(void)
{
int val; //存放待判断的数字
int m;
int sum = ; printf("请输入您需要判断的数字: ");
scanf("%d", &val); m = val;
while (m)
{
sum = sum * + m%;
m /= ;
} if (sum == val)
printf("Yes!\n");
else
printf("No!\n"); return ;
}
一个比较综合的例子:
/*
时间:2015年2月7日15:58:20
描述:1. 1到100之间奇数偶数求和问题
2. for语句while语句相互转化
3. 强制类型转换
*/ # include <stdio.h>
# include <math.h> int main(void)
{
int i,temp;
int sum = ;
float avg = 0.0; //average的缩写
/*
for (i=1; i<=100; i++) //1到100之和
sum = sum +i;
*/
i = ; //用while实现,注意i的初始化
while (i <= )
{
sum += i; //两个语句不能互换
i++;
}
printf("1到100之和:\nsum = %d\n", sum); sum = ; //1到100奇数之和
for (i=; i<=; i+=)
sum = sum +i;
printf("1到100之间奇数之和:\nsum = %d\n", sum);
temp = sum; sum = ; //1到100偶数之和
for (i=; i<=; i+=)
sum = sum +i;
printf("1到100之间偶数之和:\nsum = %d\n", sum); int cnt = ; //1到100奇数的个数,个数一般用cnt表示,count
for (i=; i<=; i++)
{
if (i% == )
cnt += ;
}
printf("1到100之间奇数的个数是%d\n", cnt); //avg = temp/(float)(cnt); //1到100奇数的平均值
avg = 1.0*temp / cnt; //1.0默认是double类型
printf("1到100之间奇数的平均数为:%f\n", avg); float aa = ; //1 + 1/2 + 1/3 + ... + 1/100之和
for (i=; i<=; i++)
aa += /((float) i);//或 aa += 1.0/i;
printf("1 + 1/2 + 1/3 + ... + 1/100 = %f\n", aa); float x = ; //有一个浮点型变量x, 如何判断x的值是否是0
if (fabs(x-0.0000001) <= 0.0000001)
printf("x是0\n");
else
printf("x不是0\n"); return ;
} /*
在VC++6.0输出结果是:
----------------------------
1到100之和:
sum = 5050
1到100之间奇数之和:
sum = 2500
1到100之间偶数之和:
sum = 2550
1到100之间奇数的个数是50
1到100之间奇数的平均数为:50.000000
1 + 1/2 + 1/3 + ... + 1/100 = 5.187378
x是0
----------------------------
注意:
1. float 和double 都不能保证可以精确的存储一个小数
所以自增自减变量i, j 不能定义成浮点型
2. 注意绝对值函数abs()和fabs()
如果整型取绝对值用abs,float用fabs,并且要#include <math.h>
3. VC6.0自动对齐,选中需要对齐的程序,按ALT+F8
4. F2(或者shift + F2)可以跳转到下一处标记
CTRL + shift + F2 取消所有标记
CTRL + F2可以添加或取消某一个标记
5. for 语句和while 语句的相互转化,但是for的逻辑性更强,推荐多使用for循环 for (1; 2; 3)
A;
等价于
1;
while(2)
{
A;
3;
}
*/
菲波拉契序列_递归:
/*
菲波拉契序列
1 2 3 5 8 13 21 34
*/ # include <stdio.h> int main(void)
{
int n;
int f1, f2, f3;
int i; f1 = ;
f2 = ; printf("请输入您需要求的想的序列: ");
scanf("%d", &n); if ( == n)
{
f3 = ;
}
else if ( == n)
{
f3 = ;
}
else
{
for (i=; i<=n; ++i)
{
f3 = f1 + f2;
f1 = f2;
f2 = f3;
}
} printf("%d\n", f3); return ;
}
试数:设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 不成立
for, while的用法的更多相关文章
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
- 【JavaScript】innerHTML、innerText和outerHTML的用法区别
用法: <div id="test"> <span style="color:red">test1</span> tes ...
- chattr用法
[root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...
- 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...
- [转]thinkphp 模板显示display和assign的用法
thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...
随机推荐
- day37 爬虫2(web微信、高性能相关、Scrapy)
s16day37 爬虫2 参考博客:http://www.cnblogs.com/wupeiqi/articles/6229292.html 课堂代码:https://github.com/liyon ...
- C++:后缀表达式
1.基本概念 后缀表示法也叫逆波兰表示法(前缀就是波兰表示法),由于所有的操作符都在操作数的后面,所以被称为后缀表示法. 中缀表示法的操作符在操作数之间,也是最符合人的逻辑.前缀表示法的操作符在操作数 ...
- zoj1654
题解: 对于每一联通的x,y 检点 然后交叉的连边 然后二分图 代码: #include<cstdio> #include<cstring> #include<cmath ...
- eureka-8-Eureka 的健康检查
eureka.client.healthcheck.enabled:true 应用程序将自己的健康状态传播到Eureka Server
- 通过消费者和生产者的多线程程序,了解Java的wait()和notify()用法
仓库类 public class Store { private int size = 0;//当前容量 private final int MAX = 10;//最大容量 //向仓库中增加货物 pu ...
- 防火墙---iptables
一.iptables的说明及环境安装 (1)理论基础:当主机收到一个数据包后,数据包先在内核空间中处理,若发现目的地址是自身,则传到用户空间中交给对应的应用程序处理,若发现目的不是自身,则会将包丢弃或 ...
- node csrf 防御 待续
csrf 防御 token 与 ajax 主要是在cookie添加随机数, 因为攻击者 无法访问第三方网站的 cookie, 加上httponly, 即使是xss也无法访问了 也可以在页面上嵌入一个 ...
- 用JQuery怎么去一次性获取 aspTextBox 文本框的值
如:<asp:TextBox ID="txtSubject" runat="server">aa</asp:TextBox> 第一次用服 ...
- Shell 循环中实现展示进度百分比的脚本方法
Shell 循环中实现展示进度百分比的脚本方法 当我需要处理一个几万行的文件的时候,需要处理的时间是比较长的.我一开始的想法是,没处理一行,就输出一个 # 号.但是这样还是会出现很多很多的 # 号,即 ...
- MySQL 不开启slave如何完成异地复制
1,分批次通过远程的binlog来进行数据加载 业务新需求,线上数据库数据拉到本次,但是不允许开启slave服务,不建立直接外网的数据库账号,也不能打通数据库对外网的网络,所以我们测试环境无法通过普通 ...