十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
代码如下:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、网络空间、营销软件、网站建设、汨罗网站维护、网站推广。
#include stdio.h
#include stdlib.h
int max(int a, int b)
{
return a b ? a : b;
}
int main()
{
int i, m, n;
scanf("%d", m);
for (i = 1; i 8; i++) {
scanf("%d", n);
m = max(m, n);
}
printf("最大数:%d\n", m);
system("pause");
return 0;
}
运行结果:
问题1:
函数类型是int,应该加上
return
表达式;
问题2:
用主函数中的a,b,c当然是可以的,他们都是局部变量,在不同函数里边同名是没关系的
void表示空类型,void型的函数没有返回值,当前的main函数不就没有返回值吗?所以用void
附加问题:
用数组存储,然后进行排序
你程序的问题是
scanf("%d",n);加gets(array[i]);混用,scanf时,输入缓冲中会留下一空行,你gets等到的第一行绐终是空行
所以要改
for(i=0;i=n;i++)
为
fflush(stdin);
//清输入缓冲
for(i=0;in;i++)
//0~n才是n行,或=n就是n+1行了
另外,你的几个puts(array[0]);...没意义
还有最后
char
maxstr....返回不对
你定义的是字符char,而实际返回的是字符数组char
[]
用大小写区分其实也算一种不错的做法。
在C\C++中都是区分大小写的。包括函数、标识符等等。
建议你看看匈牙利命名法,我想对你会有很大的帮助:
匈牙利命名法
匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。
据说这种命名法是一位叫
Charles
Simonyi
的匈牙利程序员发明的,后来他在微软呆了几年,于是这种命名法就通过微软的各种产品和文档资料向世界传播开了。现在,大部分程序员不管自己使用什么软件进行开发,或多或少都使用了这种命名法。这种命名法的出发点是把量名变按:属性+类型+对象描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性有直观的了解,下面是HN变量命名规范,其中也有一些是我个人的偏向:
属性部分
全局变量
g_
常量
c_
c++类成员变量
m_
静态变量
s_
类型部分
指针
p
函数
fn
无效
v
句柄
h
长整型
l
布尔
b
浮点型(有时也指文件)
f
双字
dw
字符串
sz
短整型
n
双精度浮点
d
计数
c(通常用cnt)
字符
ch(通常用c)
整型
i(通常用n)
字节
by
字
w
实型
r
无符号
u
描述部分
最大
Max
最小
Min
初始化
Init
临时变量
T(或Temp)
源对象
Src
目的对象
Dest
这里顺便写几个例子:
hwnd
:
h
是类型描述,表示句柄,
wnd
是变量对象描述,表示窗口,所以
hwnd
表示窗口句柄;
pfnEatApple
:
pfn
是类型描述,表示指向函数的指针,
EatApple
是变量对象描述,所以它表示
指向
EatApple
函数的函数指针变量。
g_cch
:
g_
是属性描述,表示全局变量,c
和
ch
分别是计数类型和字符类型,一起表示变量类
型,这里忽略了对象描述,所以它表示一个对字符进行计数的全局变量。
上面就是HN命名法的一般规则。
详细请见我的参考资料。