富海集团罗冰什么实力:C语言高手来帮忙啊~~~

来源:百度文库 编辑:中科新闻网 时间:2024/05/05 03:43:52
小弟刚学C# 在做作业的时候有一道题:编写一个C程序,输入a,b,c3个数值,输出其中最大者。小弟是这么编的,请高手指点错误:

#include "stdio.h"
main()
{
int max(int a,int b,int c);
int e,f,g,l;
scanf("%d,%d,%d\n",&e,&f,&g);
l=max(e,f,g);
printf("max=%d\n",l);

}
int max(int a,int b,int c)
{
int z;
if (a>b>c) z=a;
else z=b,z=c;
return(z);

}

刚学就调用自定义函数,不简单了.
看我的
main()
{
int a[2];d;i;
printf("请输入三个数值:");
scanf("%d%d%d",&a[0],&a[1],&a[2]);
d=a[0];
for(i=0;i<=2;i++)
if (d<a[i])
d=a[i];
printf("输出最大数为:");
printf("%d",d);
}
不过要在C语言中输入汉字,就一定要运行Ucdos,且记!!!

int max(int a,int b,int c)
{
int z;
if (a>b) z=a;
else z=b;
if (z>c) return(z);
else
return(c);

}

if (a>b>c) z=a;
else z=b,z=c;
看来楼主是刚学编程吧,你这个程序想表达的意思是如果a最大就把a赋值给Z,如果小的话就有可能是b或c最大,你的else后没有确定出来是b大还是c大呀??
不妨这样写(伪代码:)
if(b<c)
b和c交换 // 保证b和c之间的大的值存在b中
if(a<b)
a和b交换 // 保证a和b之间的大的值存在a中
这样的话三个数最大的一定存在a中了。
其实求三个最大的方法有很多,请楼主慢慢积累吧。

既然有人回答,我就不搀和了!
反正学C 就得多上机.
多学对你自己很有好处的!

这明明是C嘛,哪里是C#呀。两个不同的。
可以用三元运算符?:
int max(int a,int b,int c)
{
int z;
z=(a>b)?a:b; //找ab中最大者赋z
z=z>c?z:c; //z和c中最大都赋z
return(z); //z为最大数
}
自己看书,发解一下三元运算符的用法

子函数错了