下面是小编为大家整理的2023年度实验五,,循环结构程序设计【优秀范文】,供大家参考。
实验五
循环结构程序设计
一、实验目的 (1)掌握使用 while 语句,do-while 语句和 for 语句实现循环的方法。
(2)掌握在循环结构中使用 break 与 continue 语句的方法。
(3)掌握多重循环的使用方法。
二、实验步骤、数据记录及处理 (1)编写程序输出半径为 1 到 15 的圆的面积,若面积在 30 到 100 之间则予以输出,否则,不予输出。
程序代码:#include<stdio.h> int main() {
int i;
float area;
for(i=1;i<=15;i++)
{
area=3.14*i*i;
if(area<30)
continue;
else if(area>100)
break;
printf("半径为%d 的圆的面积为%6.2f\n",i,area);
}
return 0; } 运行结果:
(2)输入一个正整数 x(可以是 1-9 位的正整数),将其转换为逆序正整数 y 输出,例如输入 x 的值为 3456,则输出 y 的值 6543。
程序代码:#include<stdio.h> int main() {
int num,temp,i=0;
printf("请输入一个数字:");
scanf("%d",&num);
while(num>0)
{
temp=num%10;
++i;
printf("%d",temp);
num=num/10;
}
printf("\n 这个数是%d 位数",i);
return 0; } 运行结果:
(3)编写程序,分行输出斐波那契 Fibonacci 数列的前 20 项(每行 5 个数)。
说明:斐波那契序列:1,1,2,3,5,8,13,21,…… 题目扩展(选做):求 Fibonacci 数列中小于 t 的最大的一个数,其中 t 由键盘输入。例如:输入 t=1000 时 ,则输出 987。
程序代码:#include <stdio.h> void
main() {
int i,a[20];
a[0]=1;
a[1]=1;
for(i=2;i<20;i++)
a[i]=a[i-1]+a[i-2];
i=0;
while(i<20)
{
printf("%d\t",a[i++]);
if(i%5 == 0)
printf("\n");
} }
运行结果:
(4)编写程序,输出“九九乘法口诀表”。
题目扩展(选做):输出如下图案
程序代码:#include<stdio.h> int main()
{
int i,j;
for(i=1;i<10;i++)
{
for(j=1;j<=i;j++)
printf(" %d*%d=%2d",i,j,i*j);
putchar("\n");
}
return 0; } 运行结果:
(5)编写程序,分行输出 100~200 之间所有的素数(每行 5 个数)。
题目扩展(选做):输入一个偶数,为此偶数寻找两个素数,这两个素数之和等于该偶数。例如:24=11+13。
程序代码:#include<stdio.h> #include<math.h> int main()
{
int i,j;
int k=0;
int f;
for(i=100,k=0;i<=200;i++)
{
f=1;
for(j=2;j<i/2;j++)
{
if(i%j==0)
{f=0;break;}
}
if(f==1)
{
k++;
printf("%d ",i);
if(k%5==0)
printf("\n");
}
} } 运行结果:
(6)有两个红球、三个黄球、四个白球,任意取五个球,其中必须有一个黄球,编程输出所有可能的方案。
程序代码:#include<stdio.h>
#include<math.h> int main()
{
int red,yellow,white;
for(red = 1;red < 3;red++)
for(yellow = 0;yellow < 4-red;yellow++)
{
white = 4-red-yellow;
printf(" 红 球 个 数 :%d 黄 球 个 数 :%d 白 球 个数:%d\n",red,yellow,white);
}
return 0; } 运行结果:
(7)编写程序求解 sn=a+aa+…+a…a,其中 a 是 1-9 中的一个数字。n 为一正整数,a 和 n均从键盘输入。例如,输入 n 为 4,a 为 2,则 sn=2+22+222+2222。
程序代码:#include<stdio.h> int main()
{ int a=0,n=0,i=0,num=0,sum=0;
scanf("%d%d",&a,&n);
1<=a&&a<=9;
for(i=0;i<n;++i)
{
num=num*10+a;
sum+=num;
}
printf("%d\n",sum);
return 0; }
运行结果:
(8)反复从键盘输入若干字符(输入换行符结束),统计其中数字字符的个数。例如,输入"ABC:z=x*50+y/24-6.125",则输出 8。
程序代码:#include <stdio.h> int main(){
int number=0,c;
while((c= getchar())!="\n")
{
if(c>="0"&&c<="9")
number++;
}
printf("数字字符的个数为:%d\n",number);
return 0 ; } 运行结果:
三、总结 循环语句可根据具体题型选择使用,辅助控制语句需明确其功能,正确使用。