当前位置:网站首页>C语言实验五 循环结构程序设计(二)
C语言实验五 循环结构程序设计(二)
2022-07-31 05:09:00 【Meteor.792】
一、实验目的
(一)掌握使用for,while,do-while语句实现循环嵌套的方法;
(二)巩固break和continue语句的使用。
二、预习内容
预习教材中有关用for,while,do-while语句实现循环嵌套的方法以及循环嵌套的执行过程。
三、实验内容
(一)根据公式:sum=,计算sum的值。
注意:根据题目,考虑所定义的各个变量应该为何种类型。
编程提示:定义一个变量存放最后的求和结果(假设为sum),sum的数据类型应为实型,定义变量t计算整数的阶乘。使用双重循环,程序的基本结构为:
for(i=1,sum=0; i<=20; i++)
{ t赋初值1 ;
for( j=1; j<=i; j++ )
变量t连乘求积;
变量sum累加t的倒数;
}
注意上述程序结构和内循环变量的终值。想一想是否可以将t=1放在外循环之前?
/* c5-1.c 求数列和 */
#include "stdio.h"
int main()
{
float sum=0; int i,j,t;
for(i=1;i<=5;i++)
{
t=1;
for(j=1;j<=i;j++)
t=t*j;
sum=sum+1.0/t;
}
printf("%f\n",sum);
return 0;
}
(二)编程输出九九乘法表。
编程提示:我们日常看到的乘法表是:
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
…
1×9=9 … … … 9×9=81
每个算式可以归为:i×j=?的形式,而且每行中的算式数量随着行数变化。考虑外层循环变量和内层循环变量应当取何值呢?
程序的基本结构为:
for( i=1; i<=9; i++ )
{ for(j=1; __________; j++ )
输出乘法算式;
输出回车换行符;
}
/* c5-2.c 输出九九乘法表 */
#include "stdio.h"
void main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf("%dx%d=%d ",j,i,j*i);
printf("\n");
}
}
(三)编程输出以下图形。
*
***
*****
编程提示:输出图形的这一类问题,首先要看一看图形的特点,找到规律:一共有几行,每行先输出什么字符,输出几个;后输出什么字符,输出几个。一般外循环变量控制行数,内循环变量控制各种字符的数量。
程序的基本结构为:
for(i=0; i<=2; i++)
{ 连续输出若干空格;
连续输出若干个“*”;
输出一个换行;
}
/* c5-4.c 输出字符图形 */
#include "stdio.h"
void main()
{
int i,j,n;
for(i=0;i<=2;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(n=0;n<=2*i;n++)
printf("*");
printf("\n");
}
}
(五)运行以下程序,分析程序的运行结果并上机验证。
/* c5-5.c 循环结构程序 */
#include "stdio.h"
void main( )
{ int i=0, a=0;
while( i<20 )
{ for( ; ; )
{ if((i%10)==0) break;
else i--;}
i+=11;a+=i;
}
printf("%d\n",a);
}
四、实验注意事项
(一)对于双重循环来说,外层循环往往是控制变化较慢的参数(例如所求结果的数据项的个数、图形的行数等),而内层循环变化快,一般控制数据项的计算、图形中各种字符的数量等。
(二)注意在循环结构程序设计中,正确使用{ }构成复合语句。
(三)外层循环变量增值一次,内层循环变量从初值到终值执行一遍。
(四)程序书写时,最好使用缩进结构以使程序结构清晰。
边栏推荐
猜你喜欢
SQL行列转换
Linux系统安装mysql(rpm方式安装)
Mysql——字符串函数
Quickly master concurrent programming --- the basics
matlab simulink欠驱动水面船舶航迹自抗扰控制研究
Shell重油常压塔模拟仿真与控制
Sql解析转换之JSqlParse完整介绍
sql statement - how to query data in another table based on the data in one table
Unity mobile game performance optimization series: performance tuning for the CPU side
剑指offer专项突击版 --- 第 3 天
随机推荐
Lock wait timeout exceeded解决方案
【LeetCode-SQL每日一练】——2. 第二高的薪水
剑指offer专项突击版 ---第 5 天
The interviewer asked me how to divide the database and the table?Fortunately, I summed up a set of eight-part essays
Kubernetes 证书可用年限修改
面试Redis 高可靠性|主从模式、哨兵模式、Cluster集群模式
Mysql——字符串函数
【JS面试题】面试官:“[1,2,3].map(parseInt)“ 输出结果是什么?答上来就算你通过面试
目标检测学习笔记
12个MySQL慢查询的原因分析
Duplicate entry 'XXX' for key 'XXX.PRIMARY' solution.
ES source code API call link source code analysis
三次握手与四次挥手
质量小议12 -- 以测代评
MySQL8.0安装教程,在Linux环境安装MySQL8.0教程,最新教程 超详细
CentOS7 install MySQL graphic detailed tutorial
剑指offer基础版 ---- 第29天
12 reasons for MySQL slow query
剑指offer基础版 --- 第24天
matlab simulink欠驱动水面船舶航迹自抗扰控制研究