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 方法对模板变量赋值,无论 ...
随机推荐
- HUST 1328 String (字符串前缀子串个数 --- KMP)
题意 给定一个字符串S,定义子串subS[i] = S[0..i],定义C[i]为S中subS[i]的数量,求sigma(C[i])(0<=i<N). 思路 我们以子串结尾的位置来划分阶段 ...
- 提高java反射速度的方法method.setAccessible(true)
转载:http://huoyanyanyi10.iteye.com/blog/1317614 提高java反射速度的方法method.setAccessible(true) package com.c ...
- tcping的安装和使用
1.LINUX安装方法: 编译安装下载地址: http://linuxco.de/tcping/tcping.html tar zxvf tcping-1.3.5.tar.gz cd tcping-1 ...
- C++:哈希
1.基本概念 哈希一般用来快速查找,通过hash函数将输入的键值(key)映射到某一个地址,然后就可以获得该地址的内容. 同样,如果要储存一对值(键值和数据),则也是通过hash函数获得地址来存入.见 ...
- LeetCode OJ:H-Index(H指数)
Given an array of citations (each citation is a non-negative integer) of a researcher, write a funct ...
- 怎样安装 OpenJDK 8 in Ubuntu 14.04 & 12.04 LTS
OpenJDK Java 8 has been made into official Ubuntu repositories for 14.10 Utopic and higher. For Ubun ...
- 剑指offer--40.翻转单词顺序列
时间限制:1秒 空间限制:32768K 热度指数:276854 本题知识点: 字符串 题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写 ...
- 利用xcopy在复制文件或文件夹的时候保留其权限
当用 Windows Explorer 复制或移动文件和文件夹时,文件或文件夹上设置的权限可能会发生改变.例如,当在一个 NTFS文件系统卷内或在两个 NTFS 卷之间复制一个文件时,Windows将 ...
- Mac OS 升级到10.12问题 Android ADT 下载SDK问题 https://dl-ssl.google.com refused...
缘由: 更新sdk,遇到了更新下载失败问题: Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml Fetch ...
- 文件处理工具 gif合成工具 文件后缀批量添加工具 文件夹搜索工具 重复文件查找工具 网页图片解析下载工具等
以下都是一些简单的免费分享的工具,技术支持群:592132877,提供定制化服务开发. Gif动图合成工具 主要功能是扫描指定的文件夹里的所有zip文件,然后提取Zip文件中的图片,并合成一张gif图 ...