示例:假设人口总数为13亿,按每年2%增长,计算从现在开始10年内的人口的数量
流程图:
2:计算1-1/4+1/7-1/10+1/13-1/16+...的和,直到某一项的绝对值小于10^-6为止
代码:
流程图:
二:for语句实现循环结构
执行过程如下:
for(1;2条件;3)
{语句4;}5
先 1>>>2(真)>>>4>>3
3>>>2(真)>>>4
3>>>2(真)>>>4
........
3>>>2(假)>>>6
示例:1,输入一个正整数n,求sum+1+2+3+……+n的值
代码:
流程图:
其中:1:循环变量赋初值i=1
2:循环条件为i<=n
3:循环变量增量i++
4:循环体语句sum=sum+i
2,输入一个正整数n,求n!(n的阶层)
代码:
流程图:
其中:1:循环变量赋初值i=1
2:循环条件为i<=n
3:循环变量增量:i++
4:循环语句:factorial=factori *i
2:for语句的一般形式中省略表达式1
格式如下
for(;表达式2;表达式3)
循环体语句
说明:省略表达式1时,可以将循环变量赋初值放在for之前。注意此时不能省略第一个“;”
for(i=1;i<=n;i++)
sum=sum+i;=1
等价于
i=1;
for(;i<=n;i++)
sum=sum+i;
3:for语句的一般形式省略表达式2
格式如下
for(表达式1;;表达式3)
循环体语句;
说明:省略表达式2时,表示不对循环进行控制,这时没有其他处理的话,会形成死循环。应避免这样使用for结构
4:
for语句的一般形式中省略表达式3
格式如下
for(表达式1;表达式2;)
循环体语句
说明:省略表达式3时,可以在循环体语句加入修改循环变量的值和语句
for(i=1;i<=n;i++)
factorial=fatorial*i;
等价于
for(i=1;i<=n)
{factorial=factorial*i;
i++;}
5:for语句的一般形式表达式1和表达式3也可以是逗号表达式
sum=0
for(i=1;i<=n;i++)
sum=sum+i;
等价于
for(sum=0,i=1;i<=n;i++)
sum=sum+i;
表达式sum=0,i=1为逗号表达式
6:for语句的一般形式中表达式2的只要非0,就执行循环体
for(;ch=getchar()!='\n';)
printf("%c",ch)
7:for语句的一般形式中循环体语句可以省略
for(i=1;i<=n;i++)
sum=sum+i;
等价于
for(i=1;i<=n; sum=sum+i;i++)
循环体语句sum+sum;放入表达式3中,与i++构成一个逗号表达式,此时循环体语句实际为一个空语句“;”
三:for语句使用示例
1:代码:编写程序,输入一个整数n,计算1-1/4+1/7-1/10+1/13-1/16+...d的值前n项和
流程图:
2:代码:编写程序,输入10个数,输出其中的最大值
流程图:
如果不把第一个数赋给max,则代码可修改为
#include<stdio.h>
int main()
{
int i;
float x, max;
for(i=1;i<=9;i++)
{
printf("请输入第%d个数:", i );
scanf_s("%f", &x);
if (i == 1)
max = x;
else
if (x > max)
max = x;
}
printf("10个数的最大值:%.0f", max);
}
3:代码:编写程序,输出所有的水仙花数
流程图:
4:编写程序,由键盘输入一个正整数,判断该数是否为完数
代码:
流程图:
5:统计由键盘中输入的若干字符中,大写英文字母,小写英文字母,数字字符和其他字符的个数
代码:
流程图:
说明:(1)在for循环中,每次读入一个字符,根据字符的种类,选择不同的分