| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 856 人关注过本帖
标题:求三个整数的最大值和最小值,编译时没有发现错误,可是执行的
只看楼主 加入收藏
明月流光
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-17
收藏
 问题点数:0 回复次数:7 
求三个整数的最大值和最小值,编译时没有发现错误,可是执行的
求三个整数的最大值和最小值,编译时没有发现错误,可是执行的时候无论输入什么数据都显示
max=    min=  这是怎么回事啊?     

#include<stdio.h>
int max(int i1,int i2,int i3)
{int m1;
if((i1>i2)&&(i1>i3)) m1=i1;
if((i2>i1)&&(i2>i3)) m1=i2;
if((i3>i1)&&(i3>i2)) m1=i3;
return (m1);
}
int min(int i1,int i2, int i3)
{int m1;
if(i1<i2)
   if(i1<i3) m1=i1;
   else m1=i3;
else if(i2<i3) m1=i2;
else m1=i3;
return(m1);
}
void main()
{int x,y,z,a;
scanf("%d,%d,%d",&x,&y,&z);
a=max(x,y,z);
printf("max=\n",a);
a=min(x,y,z);
printf("min=\n",]a);
}
搜索更多相关主题的帖子: 最大值 整数 编译 
2008-10-19 04:10
个人爱好
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-9-27
收藏
得分:0 
max=后要有%d才可
2008-10-19 07:48
xxwpk007
Rank: 4
等 级:业余侠客
帖 子:166
专家分:289
注 册:2007-7-29
收藏
得分:0 
程序代码:
#include <stdio.h>
int main(void)
{
    int num1,num2,num3,min,max;
    scanf("%d%d%d",&num1,&num2,&num3);
    if(num1>num2)
    {
        max=num1;
        min=num2;
    }
    else 
    {
        max=num2;
        min=num1;
    }
    if(max<num3)
         max=num3;
    if(min>num3)
         min=num3;

    printf("max = %d  min = %d\n",max,min);
    return 0;
}

搞得那么麻烦干啥,这样不是简单吗.
2008-10-19 08:38
yeguohua55
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2008-8-29
收藏
得分:0 
#include <stdio.h>
main(){
int a,b,c,max,min;
printf("\n input three  numbers: ");
scanf("%d%d%d",&a,&b,&c);
max=a;
if (max<b) max=b;
if (max<c) max=c;
min=a;
if (min>b) min=b;
if (min>c) min=c;
printf("min=%d\nmax=%d\n",min,max);
}
2008-10-19 09:18
个人爱好
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-9-27
收藏
得分:0 
三楼和四楼的朋友我想问一下,
如果在楼主的函数基础上改动能不能不也实现同样的功能呢?
先谢谢你们的指教了。
2008-10-19 10:54
lipeng0307
Rank: 1
来 自:辽宁
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-9-14
收藏
得分:0 
我新手,自己写的看看对不。。。。。
#include <stdio.h>
int max(int x,int y,int z);
int min(int x1,int y1,int z1);
void main()
{
    int a,b,c,d,e;
    printf("input three  numbers:\n");
    scanf("%d %d %d",&a,&b,&c);
    d=max(a,b,c);

    e=min(a,b,c);

    printf("max=%d\nmin=%d\n",d,e);
}
int max(int x,int y,int z)
{
    int n;
    n=x;
    if (n<y) n=y;
    if (n<z) n=z;
    return n;
}
int min(int x1,int y1,int z1)
{
    int n;
    n=x1;
    if (n>y1) n=y1;
    if (n>z1) n=z1;
    return n;
}
楼主的程序后三行修改成
printf("max=%d\n",a);
b=min(x,y,z);
printf("min=%d\n",b);
应该可以了~

[[it] 本帖最后由 lipeng0307 于 2008-10-19 13:05 编辑 [/it]]

计算机是我的最爱,游戏是我的天赋,编程是我的挑战
2008-10-19 12:15
欧阳君雅
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2008-9-29
收藏
得分:0 
默认是三个不同的数吧?
#include"stdio.h"
void main()
{
    float data[3],mid,max,min;
    int i;
    printf("please input three different data:");
    scanf("%f%f%f",&data[0],&data[1],&data[2]);
    mid=(data[0]+data[1]+data[2])/3.0;
    for(i=0;i<3;i++)
    {
        if(data[i]<mid)
            min=data[i];
        else
            max=data[i];
    }
    printf("\nThe max data is:%.1f",max);
    printf("\nThe min data is:%.1f\n",min);
}
2008-10-19 12:42
lipeng0307
Rank: 1
来 自:辽宁
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-9-14
收藏
得分:0 
#include <stdio.h>
int n(int x,int y,int z);
void main()
{
    int a,b,c;
    printf("input three  numbers:\n");
    scanf("%d %d %d",&a,&b,&c);
    n(a,b,c);
}
int n(int x,int y,int z)
{
    int max,min;
    max=x;
    if (max<y) max=y;
    if (max<z) max=z;
    printf("max=%d\n",max);
    min=x;
    if (min>y) min=y;
    if (min>z) min=z;
    printf("min=%d\n",min);
    return 0;
}
用一个函数完成的呵呵。。。。。。。虽然不太好,但是也可以用~

计算机是我的最爱,游戏是我的天赋,编程是我的挑战
2008-10-19 12:48
快速回复:求三个整数的最大值和最小值,编译时没有发现错误,可是执行的
数据加载中...
 
   



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

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