实验项目名称:实验6 循环结构程序设计(for语句的应用)
实验项目类型:验证性
实验日期:2024年4月15日
一、实验目的
1.熟练掌握三种循环语句并能正确运用;
2.能够用循环实现一些常用算法,如穷举法,迭代法,递推法等;
3.进一步学习程序调试;
4.了解中国算法,百钱买百鸡。
二、实验硬、软件环境
Windows计算机、Dev c 6.0
三、实验内容及步骤
实验内容:
编写程序:
(1)编写程序,计算1-3+5-7+9……-99+101的值。
(2)编写程序,用*输出一个等腰三角型。
(3)编写程序,打印1000-9999范围内所有的玫瑰花数。玫瑰花数是指一个四位数,它的各位数字的4次方之和等于该数本身。
(4)某黑夜一司机碰伤行人后逃逸,经警方调查,有三个目击证人。甲说:车牌号的前两位相同;乙说:车牌号的后两位加起来等6;丙说:车牌号是一个四位数并且能被2整除。根据上述线索,编程列出可能的车牌号。
(5)思考题:百钱买百鸡。
我国古代数学家张丘键在《算经》中出了一道题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?请编程并输出答案。
实验步骤:
项目1
解题思路:int声明i,s=0,t=1,for函数定义i=1;i<=101;i+=2.输入表达式s=s+i*t;t=-t。printf输出s值。
核心代码:
include<stdio.h>
int main()
{
int i,s=0,t=1;
for(i=1;i<=101;i+=2)
{
s=s+i*t; t=-t;
}
printf("1-3+5-7+.........-99+101=%d\n",s);
printf("15常发桂-项目1");
}
实验截图:
项目2
解题思路:首先声明五个整形变量m, n, i ,j, k;再利用for语句根据条件依次列出表达式,最后键盘输入等腰三角形的行数得出图像。
核心代码:
include <stdio.h>
int main()
{
int m,n,i,j,k;
printf("请输入m:");
scanf("%d",&m);
n=m;
for(i=1;i<=m;i++)
{
for(j=n-1;j>0;j--)
{
printf(" ");
}
n--;
for(k=1;k<=i;k++)
{
printf("* ");
}
printf("\n");
}
printf("15常发桂 -项目2");
}
实验截图:
项目3
解题思路:int声明i,a,b,c,d,for函数定义i=1000;i<=9999;i++。输入表达式a=i/1000,b=i%1000/100,c=i%100/10,d=i%10.
用if函数如果aaaa+bbbb+cccc+dddd==i,那么用printf函数输出玫瑰花数值i。
核心代码:
include <stdio.h>
int main()
{
int i,a,b,c,d;
for(i=1000;i<10000;i++)
{
a=i/1000;
b=i/100%10;
c=i%100/10;
d=i%10;
if(aaaa+bbbb+cccc+dddd==i)
{
printf("%d\n",i);
}
}
printf("15常发桂-项目3");
}
实验截图:
项目4
解题思路:首先声明6个整形变量i,j,k,a,n,b;利用for语句和if函数,并根据条件依次列出表达式,最后用printf函数输出结果。
核心代码:
include <stdio.h>
int main()
{
int i,j,k,a,n,b;
for(n=1000;n<=9999;n++)
{
i=n/1000;j=n/100%10;k=n%100/10;a=n%10;
if(ij)
{
b=k+a;
if(b6)
{
if(n%2==0)
{
printf("%d\n",n);
}
}
}
}
printf("15常发桂-项目4");
}
实验截图:
思考题
解题思路:int声明x,y,z,for分别定义x=0;x<=100;x++、y=0;y<=100;y++和z=0;z<=100;z++。利用if函数如果 x+y+z100&&5x+3y+z/3100。则用printf函数输出公鸡母鸡小鸡数x,y和z。
核心代码:
include<stdio.h>
int main()
{
int x,y,z;
for(x=0;x<100;x++)
for(y=0;y<100;y++)
for(z=0;z<100;z+=3)
{
if(x+y+z100&&5x+3y+z/3100)
{
printf("公鸡:%d只 母鸡:%d只 小鸡:%d只\n",x,y,z);
}
}
printf("15常发桂-思考题");
}
实验截图:
四、实验结果及分析
在项目1中没有想出来t=-t这一方法,在项目2中也没有考虑空格因素的影响,同样在项目3中不知道如何表示个位十位百位千位的值,经同学讲解后我掌握了这些方法和知识点。