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的用法的更多相关文章

  1. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  2. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  3. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  5. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  6. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  7. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...

  8. chattr用法

    [root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...

  9. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

  10. [转]thinkphp 模板显示display和assign的用法

    thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...

随机推荐

  1. IOS-H5容器的一些探究:UIWebView和WKWebView的比较和选择

    一.Native开发中为什么需要H5容器 Native开发原生应用是手机操作系统厂商(目前主要是苹果的iOS和google的Android)对外界提供的标准化的开发模式,他们对于native开发提供了 ...

  2. 001——vue.js初始安装:

    windows下安装: 1.https://nodejs.org/en/  下载安装node.js. 在cmd窗口输入node -v检查node是否安装成功. npm也随着node安装了:npm -v ...

  3. Spring入门2. IoC中装配Bean

    Spring入门2. IoC中装配Bean 20131125 前言: 上一节学习了Spring在JavaProject中的配置,通过配置文件利用BeanFactory和ApplicationConte ...

  4. C#笔记 -- 协变、逆变

    协变 理解:在泛型和委托中, 让使用某个泛型参数A的类型可以用一个使用由A派生的泛型参数B的类型实例化,(小=> 大)如 ​ // IEnumerable<Animal> 与 Lis ...

  5. 1: 介绍Prism5.0 Introduction to the Prism Library 5.0 for WPF(英汉对照版)

     Prism provides guidance designed to help you more easily design and build rich, flexible, and easy- ...

  6. arch初认识

    在这里下载最新的iso镜像,一个iso里面已经包括了32和64位. 来者不善. 进去后竟然是进入字符界面,并且给各位留了一个install.txt,果然..==! 好吧,粗略看下install.txt ...

  7. Week08《Java程序设计》第八次学习总结

    Week08<Java程序设计>第八次学习总结 1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 答: 2.书面作业 1. ArrayList代码分析 1.1 解 ...

  8. Linux系统在启动过程中内核文件丢失的解决方法

    在/boot目录下有两个重要的文件,分别是: vmlinuz-3.10.0-123.el7.x86_64         内核文件 initamfs-3.10.0-123.el7.x86_64.img ...

  9. vue.js 源代码学习笔记 ----- 工具方法 debug

    import config from '../config' import { noop } from 'shared/util' let warn = noop let tip = noop let ...

  10. 【Spring实战】Spring容器初始化完成后执行初始化数据方法

    一.背景知识及需求 在做WEB项目时,经常在项目第一次启动时利用WEB容器的监听.Servlet加载初始化等切入点为数据库准备数据,这些初始化数据是系统开始运行前必须的数据,例如权限组.系统选项.默认 ...