循环语句的实战演练
2017-01-17 20:24
86 查看
循环语句的分类:
1、while语句:
while(expression)
statement
当expression为真时,循环继续,为假循环终止
2、for循环:
for(initialize;test;update)
statement for括号里面是用分号隔开的,分别是初始值,判断语句,执行语句
3、do while循环
do
statement
while(expression); while后面的括号中的语句是判断条件,当括号内容为真时,执行循环,为假时终止循环。
注意最后一定要加分号
例题:
1、使用嵌套循环产生金字塔图案如下:
A
ABA
ABCBA
#include <stdio.h>
int main()
{
char i,j,l;
int k;
scanf("%c",&j);
for(i='A';i<=j;i++)
{
for(k=0;k<j-i;k++)
{
printf(" ");
} //先输出前面的空格数
for(l='A';l<=i;l++)
{
printf("%c",l);
} //输出字母A---行数所对应的字母
while(l-1>'A')
注意:上面程序运行后,最终的 i 变成了 i+1 所以在接下来使用的过程中,i得先减 一后再使用
{
l--;
printf("%c",l-1);
} //输出最大字母往后至A的字母
printf("\n");
}
return 0;
}
2、求e的近似值:e=1+1+1/2!+1/3!...+1/n!
#include <stdio.h>
float jie(float i);
int main()
{
float i,e=1;
for(i=1;jie(i)>=1e-6;i++)
{
e+=jie(i); //求和
}
printf("%e\n",e);
return 0;
}
float jie(float i) //求阶乘分之一
{
float j=1.0;
while(i>=1)
{
j/=i;
i--;
}
return j;
}
上述过程比较繁琐
#include<stdio.h>
int main()
{
float i,j=1.0,k=1.0;
for(i=1;1/j>1e-6;i++)
{
j*=i; //阶乘
k+=1/j; //求和
}
printf("e = %f\n",k);
}
3、创建一个8元素int数组,元素为2的前8次幂,然后打印值
#include <stdio.h>
int main()
{
int a[8]={1};
int i=0,j=1;
for(i=1;i<8;i++)
{
j*=2;
a[i]=j;
}
i=0;
//如果没有这个条件,do while下面的语句将无法执行。
do
{
printf("%d ",a[i]);
i++;
}while(i<=7);
printf("\n");
return 0;
}
4、求出1900-2000之间的闰年:
#include <stdio.h>
int main()
{
int i,j=0;
for(i=1900;i<=2000;i++)
{
if(i%4==0&&(i%400==0||i%100!=0))
//注意:闰年是能被4整除,不能被100整除,但可以被400整除
{
被400整除和不能被100整除的交集并上能被4整除的数
printf("%d ",i);
j++;
if(j%5==0)
printf("\n");
}
}
return 0;
}
1、while语句:
while(expression)
statement
当expression为真时,循环继续,为假循环终止
2、for循环:
for(initialize;test;update)
statement for括号里面是用分号隔开的,分别是初始值,判断语句,执行语句
3、do while循环
do
statement
while(expression); while后面的括号中的语句是判断条件,当括号内容为真时,执行循环,为假时终止循环。
注意最后一定要加分号
例题:
1、使用嵌套循环产生金字塔图案如下:
A
ABA
ABCBA
#include <stdio.h>
int main()
{
char i,j,l;
int k;
scanf("%c",&j);
for(i='A';i<=j;i++)
{
for(k=0;k<j-i;k++)
{
printf(" ");
} //先输出前面的空格数
for(l='A';l<=i;l++)
{
printf("%c",l);
} //输出字母A---行数所对应的字母
while(l-1>'A')
注意:上面程序运行后,最终的 i 变成了 i+1 所以在接下来使用的过程中,i得先减 一后再使用
{
l--;
printf("%c",l-1);
} //输出最大字母往后至A的字母
printf("\n");
}
return 0;
}
2、求e的近似值:e=1+1+1/2!+1/3!...+1/n!
#include <stdio.h>
float jie(float i);
int main()
{
float i,e=1;
for(i=1;jie(i)>=1e-6;i++)
{
e+=jie(i); //求和
}
printf("%e\n",e);
return 0;
}
float jie(float i) //求阶乘分之一
{
float j=1.0;
while(i>=1)
{
j/=i;
i--;
}
return j;
}
上述过程比较繁琐
#include<stdio.h>
int main()
{
float i,j=1.0,k=1.0;
for(i=1;1/j>1e-6;i++)
{
j*=i; //阶乘
k+=1/j; //求和
}
printf("e = %f\n",k);
}
3、创建一个8元素int数组,元素为2的前8次幂,然后打印值
#include <stdio.h>
int main()
{
int a[8]={1};
int i=0,j=1;
for(i=1;i<8;i++)
{
j*=2;
a[i]=j;
}
i=0;
//如果没有这个条件,do while下面的语句将无法执行。
do
{
printf("%d ",a[i]);
i++;
}while(i<=7);
printf("\n");
return 0;
}
4、求出1900-2000之间的闰年:
#include <stdio.h>
int main()
{
int i,j=0;
for(i=1900;i<=2000;i++)
{
if(i%4==0&&(i%400==0||i%100!=0))
//注意:闰年是能被4整除,不能被100整除,但可以被400整除
{
被400整除和不能被100整除的交集并上能被4整除的数
printf("%d ",i);
j++;
if(j%5==0)
printf("\n");
}
}
return 0;
}
相关文章推荐
- PHP循环语句详解
- SQL循环语句
- Python基础教程笔记——条件,循环和其他语句
- Go语言学习笔记 --- 控制语句之if判断,循环语句for, switch语句和跳转语句
- Java学习笔记八:Java的流程控制语句之循环语句
- Windows PowerShell 2.0 语言之循环语句 推荐
- java基础——循环语句和循环中断语句
- JAVA中的循环语句
- 死循环内存回收,sql语句效率,项目结尾阶段优化反思
- 循环算法求和(for语句,while语句,do-while语句汇总!)
- 第02章 CORE C++_控制语句_选择_循环_分支_跳出_函数_声明_形参_返回值_重载_递归
- python里面的循环语句
- C primer plus C 第六章控制语句:循环 编程练习个人练习
- python学习(基础补充)--字典、条件语句、循环
- Python基础编程(五)条件、循环和其他语句
- J2SE5.0新特性示例---循环语句的增强
- Java跳出循环-break和continue语句
- 用for循环语句打印九九乘法表
- 2.2 在不使用运算符&&或|| 的条件下编写一个与上面的for循环语句等价的循环语句。
- 基础------for循环语句