y-在C语言while语句中的意义,六循环目的学习C语言的for和while语句的用法.DOC

实验六 循环(二)

一、实验目的

1.学习C语言的for和while语句的用法。

2.编写程序,学习使用多组数据进行输入。

二、实验要求

1.下面给出程序的,实验前阅读并写出运行结果,试验时运行验证。

2.仅给出实验题目的,实验前编写好程序,实验时编辑、调试、运行,直到确定结果正确为止。

三、实验内容

题目描述有多组数据时,意味着我们并知道输入有多少行?但服务器是从文件里读入数据的,当读到文件末尾时,我们就让它自动跳出循环,具体使用下面的形式:

While(scanf(“%d”,&a)!=EOF)

{

在这里根据题意来编写代码;

}

注意:EOF代表文件尾,也可以使用-1

While(scanf(“%d”,&a)!=-1)

{

在这里根据题意来编写代码;

}

1. 三角形面积 林大OJ 13题

Time Limit 1000ms Memory Limit 65536K

description

已知三角形的底和高,求出三角形的面积。

每行输入底和高

每行输出三角形的面积。精确到三位小数。

input

输入数据有多组,每组1行,即底x和高y,这2个数是实数。

output

输出三角形的面积,保留3位小数。

sample_input

1 2

3 4

5 6

sample_output

1.000

6.000

15.000

提示:本题多组输入,要仔细观察下面的代码

参考代码如下:

#include

#include

int main()

{

double x,y;

while(scanf("%lf%lf",&x,&y)!=-1) //这句是处理多组输入的,

//不停的读入2个实数,直到读不到为止!

{

printf("%.3lf\n",0.5*x*y);

}

return 0;

}

一定要注意:本题还可以如下来做:

#include

#include

int main()

{

double x,y;

while(scanf("%lf",&x)!=-1) //这句是处理多组输入的,读入1个数

{

scanf("%lf",&y);//在循环里面读入第2个数

printf("%.3lf\n",0.5*x*y);

}

return 0;

}

也就是while的条件里至少要读入1个数。

2. 寻找吕布 林大OJ 11题

Time Limit 1000ms Memory Limit 65536K

description

三国里面吕布第一,赵云第二,典韦、关羽和马超分别是第3、第4和第5名,这是按武将的勇猛值和必杀技值的和来排名的,即武术值=勇猛值+必杀技值,下面给出这5人的勇猛值和必杀值,请你找出吕布的武术值。

input

输入数据有多组,每组数据2行,第一行是5人的勇猛值,第二行是5人的必杀技值。勇猛值和必杀值是整数哦(32位)

output

输出吕布的武术值。

sample_input

1 2 3 4 5

1 2 3 4 5

20 21 22 45 87

1 100 8 99000 23

sample_output

10

99087

hint

吕布的勇猛值和必杀技值都是第一的!

思考:这题就是要计算第1行5个数的最大值,再计算第2行5个数的最大值,然后相加输出就行。

参考代码:

#include

#include

int main()

{

int j,tmp,n=2;

int ym=0,bs=0;//勇猛 必杀 的缩写

while( scanf("%d",&tmp)!=EOF ) //先输入第1行第1个数

{

ym=0,bs=0; //这句太关键了,多组数据,每组开始时都初始化

if (ym

for(j=1;j<=4;j++) //然后读入第1行的后4个数,比大小

{

scanf("%d",&tmp);

if(ym

}

for(j=1;j<=5;j++) //直接读入第2行的5个数,找出最大值

{

scanf("%d",&tmp);

if(bs

}

printf("%d\n",bs+ym);

}

return 0;

}

为啥要在while里面加上这句:ym

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值