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 方法对模板变量赋值,无论 ...
随机推荐
- Centos7 Erlang Solutions 安装
https://www.erlang-solutions.com/resources/download.html Installation using repository 1. Adding rep ...
- 【Error】local variable 'xxx' referenced before assignment
此种错误涉及到变量的作用域,即全局变量和局部变量的操作. 总结如下: 内部函数,不修改全局变量可以访问全局变量 内部函数,修改同名全局变量,则python会认为它是一个局部变量 在内部函数修改同名全局 ...
- ZOJ 3696 Alien's Organ(泊松定理,期望值)
Alien's Organ Time Limit: 2 Seconds Memory Limit: 65536 KB There's an alien whose name is Marja ...
- Getting command line access to PHP and MySQL running MAMP on OSX
建立自己profile路径应该在/Users/yourname/,最后要运行. ./.profile使文件生效,和windows中给添加环境变量是一个道理,还可以看出linux和UNIX默认运行路径为 ...
- cpu的用户态和内核态和内存的用户空间内核空间
谈到CPU的这两个工作状态,也就是处理器的这两个工作状态,那我们有必要说一下为什么搞出这两个鬼玩意出来. 用过电脑的娃娃们肯定知道在一个系统中既有操作系统的程序,也由普通用户的程序.但那么 ...
- Selenium实现右键保存图片(Java)
1.代码 public class SaveImage extends TestCase { private WebDriver driver; private Actions action; pri ...
- AOP代理模式
AOP 在Spring框架中被作为核心组成部分之一,的确Spring将AOP发挥到很强大的功能.最常见的就是事务控制.工作之余,对于使用的工具,不免需要了解其所以然.学习了一下,写了些程序帮助理解. ...
- ansible资料
ansible系列教程-强烈推荐看完 ansible官方编写的例子 ansible_ui Jenkins配置ansible galaxy 官方文档 中文教程1 中文教程2 playbook进阶 YAM ...
- [置顶]
滴滴插件化框架VirtualAPK原理解析(一)之插件Activity管理
上周末,滴滴与360都开源了各自的插件化框架,VirtualAPK与RePlugin,作为一个插件化方面的狂热研究者,在周末就迫不及待的下载了Virtualapk框架来进行研究,本篇博客带来的是Vir ...
- C# 读写opc ua服务器,浏览所有节点,读写节点,读历史数据,调用方法,订阅,批量订阅操作
OPC UA简介 OPC是应用于工业通信的,在windows环境的下一种通讯技术,原有的通信技术难以满足日益复杂的环境,在可扩展性,安全性,跨平台性方面的不足日益明显,所以OPC基金会在几年前提出了面 ...