Chinaunix
标题:
请大家帮忙解决一道C习题
[打印本页]
作者:
green0sky
时间:
2013-08-04 10:57
标题:
请大家帮忙解决一道C习题
编写程序,找出用户输入的一串数中的最大数。程序需要提示用户一个一个地输入数。当用户输入0或负数时,程序必须显示出已输入的最大非负数:
Enter a number: 60
Enter a number: 38.3
Enter a number: 4.89
Enter a number: 100.62
Enter a number: 75.2295
Enter a number: 0
The largest number entered was 100.62.
注意, 输入的数不一定是整数。
作者:
小牛开刀
时间:
2013-08-04 12:01
冒泡排序 可以实现你的要求
作者:
小牛开刀
时间:
2013-08-04 12:03
如果只是单纯的输入, 只求最大值, 连泡都不用冒.
作者:
ELAPSE13LINUX
时间:
2013-08-04 13:31
#include<stdio.h>
#define LENGTH 100
int main()
{
float f[LENGTH]={0};
float temp=0;
int i=0;
while(i<100){
puts("Enter a number:");
scanf("%f",&f[i]);
if(f[i]<=0)
break;
else{
if(f[i]>temp)
temp=f[i];
}
}
printf("The largest number entered was :%f",temp);
return 1;
}
没测试 仅供参考,要自己动手。我忘了puts需不需要别的头文件了。
作者:
cobras
时间:
2013-08-04 14:11
#include <stdio.h>
#include <float.h>
int main(void)
{
float num;
float max;
max = 0;
for (;;) {
printf("Enter a number: ");
scanf("%f", &num);
if (num > -FLT_EPSILON && num < FLT_EPSILON) {
printf("The largest number entered was %f.\n", max);
max = 0;
}else if (num > FLT_EPSILON && num > max + FLT_EPSILON) {
max = num;
}
}
return 0;
}
复制代码
作者:
green0sky
时间:
2013-08-04 14:44
多谢大家的热心回答,受益非浅!
作者:
djsxut
时间:
2013-08-06 08:36
输入时判断下就可以了。
作者:
GeBron
时间:
2013-08-15 16:26
#include <stdio.h>
int main(void)
{
float num;
float max = 0;
while (scanf("%f", &num) && num > 0)
{
if (num > max)
{
max = num;
}
}
printf("%f\n", max);
return 0;
}// 大概是这样
复制代码
作者:
green0sky
时间:
2013-09-10 09:41
多谢热心解答!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2