实验1参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1:循环结构程序设计
实验目的:
1.熟悉VC++6.0的运行环境,掌握C程序的执行方法;
2.掌握三种基本数据类型、部分运算符号和常用函数;
3.掌握三种循环控制语句及break和continue语句的使用方法;
4.掌握循环结构的嵌套及正确控制计数型循环结构次数的方法。
实验内容:
程序1:搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬1砖,要求一次搬完,问男、女和小孩各若干?
/*#include
main()
{
int men,women,children;
men=0;
while(men<=8)
{women=0;
while(women<=11)
{children=36-men-women;
if((men*4+women*3+children/2==36)&&children%2==0)
printf("men=%d,women=%d,children=%d\n",men,women,children);
women++;}
men++;}
}
*/
#include
main()
{
int men,women,children;
men=0;
for(men=0;men<=9;men++)
for(women=0;women<=12;women++)
{children=36-men-women;
if((men*4+women*3+children/2==36)&&children%2==0)
printf("men=%d,women=%d,children=%d\n",men,women,children);
}
}
程序2 打印形状为直角三角形的乘法口诀。
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
…………………………
………………………………
9*1=9…………………………………………………………
#include
main()
{int i,j;
for(i=1;i<=9;i++)
{for(j=1;j<=i;j++)
printf("%d*%d=%2d ",i,j,i*j);
printf("\n");}
}
程序3 求1000以内的所有素数。
#include
#include
void main( )
{
int m,i,k;
for(m=3;m<1000;m=m+2)
{k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0) break;
if(i>k) printf("%d\t",m);
}
}
程序4:计算和统计旅客运费程序。
由键盘输入旅客行李重量(w),按公式:
若( w<=50kg )f=1.5*w ,若(w>50kg)f=1.5*50 + 2.8*(w-50) ( w>50kg ) 计算运费,要求:
(1)打印每位旅客的顺序号,行李重量,应付运费;
(2)假定每天最多办理100人的行李托运手续或当w≤0时循环结束, 下班时打印出全天的运费总收入和办理的总人数。
方法一(while结构)
#include
main( )
{int num=0;
float w,f,t=0;
printf("请输入该名旅客行李的重量:") ;
scanf("%f",&w);
while(num<=100&&w>0)
{if(w<=50) f=w*1.5;
else f=1.5*50 + 2.8*(w-50); num++;
printf("旅客编号为:%d,应付金额为:%.2f元,行李重量为:%.2fkg\n",num,f,w); t=t+f;
printf("请输入该名旅客行李的重量:") ;
scanf("%f",&w);
}
printf("t=%.2f,num=%d\n",t,num);
}
方法二(do-while结构)
#include
main( )
{int num=0;
float w,f,t=0;
printf("请输入该名旅客行李的重量:") ;
scanf("%f",&w);
do
{if(w<=50) f=w*1.5;
else f=1.5*50 + 2.8*(w-50); num++;
printf("旅客编号为:%d,应付金额为:%.2f元,行李重量为:%.2fkg\n",num,f,w); t=t+f;
printf("请输入该名旅客行李的重量:") ;
scanf("%f",&w);
} while(num<=100&&w>0);
printf("t=%.2f,num=%d\n",t,num);
}
方法三(for结构)
#include
main( )
{int num;
float w,f,t=0;
printf("请输入该名旅客行李的重量:") ;
scanf("%f",&w);
for(num=0;num<=100&&w>0; num++)
{
if(w<=50) f=w*1.5;
else f=1.5*50 + 2.8*(w-50);
printf("旅客编号为:%d,应付金额为:%.2f元,行李重量为:%.2fkg\n",num,f,w); t=t+f;
printf("请输入该名旅客行李的重量:") ;
scanf("%f",&w);
}
printf("t=%.2f,num=%d\n",t,num);
}