- 实验项目名称:实验6循环结构程序设计(for语句的应用)
- 实验项目类型:验证性
- 实验日期:2024年4月15日
一、实验目的
1.熟练掌握三种循环语句并能正确运用;
2.能够用循环实现一些常用算法,如穷举法,迭代法,递推法等;
3.进一步学习程序调试;
4.了解中国算法,百钱买百鸡。
二、实验硬、软件环境
Windows计算机、Devc6.0
三、实验内容及步骤
实验内容:
编写程序:
(1)编写程序,计算1-3+5-7+9……-99+101的值。
(2)编写程序,用*输出一个等腰三角型。
(3)编写程序,打印1000-9999范围内所有的玫瑰花数。玫瑰花数是指一个四位数,
它的各位数字的4次方之和等于该数本身。
(4)某黑夜一司机碰伤行人后逃逸,经警方调查,有三个目击证人。甲说:车牌号
的前两位相同;乙说:车牌号的后两位加起来等6;丙说:车牌号是一个四位数
并且能被2整除。根据上述线索,编程列出可能的车牌号。
(5)思考题:百钱买百鸡。
我国古代数学家张丘键在《算经》中出了一道题:鸡翁一,值钱五;鸡母一,值
钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?请编程并输出答
案。
实验步骤:
项目1
解题思路
先定义i,s=0,t=1,for函数定义i=1;i<=101;i=i+2, 输入表达式s=s+ti;t=t(-1);printf输出结果
核心代码
#include <stdio.h>
int main()
{
int i,t=1,s=0;
for(i=1;i<=101;i=i+2)
{
s=s+t*i;
t=t*(-1);
}
printf("%d",s);
}
结果截图
项目2
解题思路
先定义i,j,利用for定义j=1;j<=20-i;j++,printf输入“ ”,再用for定义j=1;j<=2i-1;j++,printf("")
核心代码
#include <stdio.h>
int main()
{
int i,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=20-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*") ;
printf("\n");
}
结果截图
项目3
解题思路
先定义i,j,k,m,n,用for函数定义n=1000;n<10000;n++,输入i=n%10;j=n/10%10;k=n/100%10;m=n/1000;利用if函if(n==iiii+jjjj+kkkk+mmmm),最后输出玫瑰花数值
核心代码
#include <stdio.h>
int main()
{
int i,j,k,m,n;
printf("玫瑰花是:\n") ;
for(n=1000;n<10000;n++)
{
i=n%10;
j=n/10%10;
k=n/100%10;
m=n/1000;
if(n==i*i*i*i+j*j*j*j+k*k*k*k+m*m*m*m)
printf("%d \n",n);
}
}
结果截图
项目4
解题思路
先定义a,b,c,d,i,e;再用for函数定义i=1000;i<=9999;i++。输入表达式a=i/1000; b=i/100%10;c=i%100/10; d=i%10;用if函数如果ab,那么e=c+d;,如果e6且i%2==0,那printf输出车牌号
核心代码
int a,b,c,d,i,e;
for(i=1000;i<=9999;i++)
{
a=i/1000;
b=i/100%10;
c=i%100/10;
d=i%10;
if(a==b)
{
e=c+d;
if(e==6)
{
if(i%2==0)
{
printf("%d\n",i);
}
}
}
}
}
结果截图
思考题
解题思路
先定义输入a,b,c,再用for分别定义a=0;a<100;a++,b=0;b<100;b++,c=0;c<100;c+=3最后用if 输出a+b+c100&&5a+3b+c/3100公鸡母鸡小鸡数a,b,c
核心代码
#include<stdio.h>
int main()
{
int a,b,c;
for(a=0;a<100;a++)
for(b=0;b<100;b++)
for(c=0;c<100;c+=3){
if(a+b+c==100&&5*a+3*b+c/3==100)
{
printf("公鸡:%d只 母鸡:%d只 小鸡:%d只\n",a,b,c);
}
}
}
结果截图
四、实验结果及分析
1.在思考题中先定义输入a,b,c,再用for分别定义a=0;a<100;a++,b=0;b<100;b++,c=0;c<100;c+=3最后用if
2.在实验中,对字母的赋值要注意,赋值错误会导致运行出来的结果不对,出错后改正过来,保证结果的顺利运行