你微笑时很美丶 发表于 2015-3-9 10:06:58

新手求解一个简单的程序问题

题目是这样的,设计一个C程序,输入是a,b,c,输出为三者中的最大值。我写的程序如下

你微笑时很美丶 发表于 2015-3-9 10:07:30

#include<stdio.h>
int main()
{
        int max(int x,int y,int z);
        int a,b,c,d;
        scanf("%d,%d,%d",&a,&b,&c);
        d=max(a,b,c);
        printf("max=%d\n",d);
   return 0;
}
int max(int x,int y,int z)
{
        int m;
        if(x>y&&x>z) m=x;
        else
        if(y>z) m=y;
        else m=z;
        return(m);
}

你微笑时很美丶 发表于 2015-3-9 10:08:37

但是我的程序编译后 我输入 4,5,6时输出 max=4输入6,5,4时 输出max=6 也就是输出总是第一个值,请问我的程序哪里错了

ANDES 发表于 2015-3-9 12:10:40

你代码抄归抄,但是你要看懂代码,出问题要多看几次代码,理解下。代码在scanf("%d,%d,%d"...)里面要求以逗号来分隔开输入的每个数,而不是以空格来分隔。你在输入的时候,用逗号隔开就好,或者把scanf("%d %d %d"...)里面的逗号去掉。

不要叫我小六 发表于 2015-3-9 13:11:36

逗号隔开了,后面就无效了

你微笑时很美丶 发表于 2015-3-9 13:12:25

ANDES 发表于 2015-3-9 12:10
你代码抄归抄,但是你要看懂代码,出问题要多看几次代码,理解下。代码在scanf("%d,%d,%d"...)里面要求以 ...

这个不是抄的,是我自己写的,刚开始学习,所以很多还不会

你微笑时很美丶 发表于 2015-3-9 13:14:07

ANDES 发表于 2015-3-9 12:10
你代码抄归抄,但是你要看懂代码,出问题要多看几次代码,理解下。代码在scanf("%d,%d,%d"...)里面要求以 ...

我那个里面是用,分隔开的呀,但是结果输出不对

你微笑时很美丶 发表于 2015-3-9 13:18:44

我知道为什么了。在编译后,输入4,5,6的时候,也要是英文格式的
页: [1]
查看完整版本: 新手求解一个简单的程序问题