标题:[求助]请各位看看这条题只用WHILE和 IF行不...
只看楼主
Uruz7
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-5-5
 问题点数:0 回复次数:3 
[求助]请各位看看这条题只用WHILE和 IF行不...

题目大概是这样的:输入一些数字,输入0终止或者到输入一定数目既数字终止...PRINT最大和最小值出来.

#include <stdio.h>
#include <stdlib.h>
#define MAX 5

int maximum = 0,
minimum = 0,
ctr = 0,
number[MAX],
temp = 1;


int main()
{
ctr = 0;
while ( ctr < MAX && temp != 0 )
{
puts("Enter a number: (Quit = 0)");
scanf("%d", &number[ctr]);
maximum = number[0];
minimum = number[0];
temp = number[ctr];
if ( temp > maximum && temp !=0 )
{ maximum = temp; }
if ( temp < minimum && temp !=0 )
{ minimum = temp; }

ctr++;
}
if (number[0] == 0)
puts("No number is entered");
else
{printf("Largest number is %d\n",maximum);
printf("Smallest number is %d\n",minimum);}
system("PAUSE");

return 0;
}

我看了N小时都看不出来.....请各位来帮忙

搜索更多相关主题的帖子: WHILE 
2006-05-05 08:05
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
得分:0 
以下是引用Uruz7在2006-5-5 8:05:00的发言:

题目大概是这样的:输入一些数字,输入0终止或者到输入一定数目既数字终止...PRINT最大和最小值出来.

#include <stdio.h>
#include <stdlib.h>
#define MAX 5

int maximum = 0,
minimum = 0,
ctr = 0,
number[MAX],
temp = 1;


int main()
{
ctr = 0;
while ( ctr < MAX && temp != 0 )
{
puts("Enter a number: (Quit = 0)");
scanf("%d", &number[ctr]);
maximum = number[0];
minimum = number[0];
temp = number[ctr];
if ( temp > maximum && temp !=0 )
{ maximum = temp; }
if ( temp < minimum && temp !=0 )
{ minimum = temp; }

ctr++;
}
if (number[0] == 0)
puts("No number is entered");
else
{printf("Largest number is %d\n",maximum);
printf("Smallest number is %d\n",minimum);}
system("PAUSE");

return 0;
}

我看了N小时都看不出来.....请各位来帮忙

还用上数组了,您这是杀鸡用牛刀啊。稍后,给你个短小精悍的代码。


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-05 08:57
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
得分:0 
以下是引用Uruz7在2006-5-5 8:05:00的发言:

题目大概是这样的:输入一些数字,输入0终止或者到输入一定数目既数字终止...PRINT最大和最小值出来.

#include <stdio.h>
#include <stdlib.h>
#define MAX 5

int maximum = 0,
minimum = 0,
ctr = 0,
number[MAX],
temp = 1;


int main()
{
ctr = 0;
while ( ctr < MAX && temp != 0 ) //循环,当终止不等于0并且ctr<MAX就执行
{
puts("Enter a number: (Quit = 0)");
scanf("%d", &number[ctr]);
maximum = number[0]; //把number[0]作为maximum,minimum的初值
minimum = number[0];
temp = number[ctr]; //把当前数组元素的值给TEMP;
if ( temp > maximum && temp !=0 ) //当前数组元素的值大于maximum就重新给maximum赋值
{ maximum = temp; }
if ( temp < minimum && temp !=0 ) //和上面那句相反
{ minimum = temp; }

ctr++;
}
if (number[0] == 0)
puts("No number is entered");
else
{printf("Largest number is %d\n",maximum);
printf("Smallest number is %d\n",minimum);}
system("PAUSE"); //这句是DEV-CPP里面的,意思是"按任意键继续...."

return 0;
}

我看了N小时都看不出来.....请各位来帮忙

另外,代码效率比较低,没有必要使用全局变量.希望LZ好好领会.


我的原则很简单:不做不喜欢的事!
2006-05-05 09:21
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
得分:0 
//大奖赛上有N个评委(N>2),求去掉一个最高分、去掉
//一个最低分后的平均分。N个分数由键盘输入。
#include<stdio.h>
#define N 10
int main( )
{ int i=0;
float aver,max,min,score;
while(i<N){
printf("score %d: ",++i);
scanf("%f",&score);
if(i==1)aver=max=min=score;
else {
if(score>max)max=score;
if(score<min)min=score;
aver+=score; }
} aver=(aver-max-min)/(N-2);
printf("average score = %f\n",aver);
}

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-05 10:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-61926-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025114 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved