| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 497 人关注过本帖
标题:求最大数的问题
只看楼主 加入收藏
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
结帖率:100%
收藏
 问题点数:0 回复次数:7 
求最大数的问题

#include<stdio.h>

#define max 10

int count,array[max];

largest(int num_array[],int lengh);
/* compare numder 这是对的 */

int main(void)

{
for(count=0;count<max;count++)
{
printf("input number: ");
scanf("%d",&array[count]);
}
printf("%d",largest(array,max));
return 0;
}


largest(int num_array[],int lengh)
{
int count,biggest=-1200;
for(count=0;count<lengh;count++)                   
{
if(biggest<num_array[count])
biggest=num_array[count];
}
return biggest;
}
==============================================
#include<stdio.h>

#define MAX 10

int count,array[MAX];

largest(int num_array[]);

int main(void)
{
for(count=0;count<MAX;count++)
{
printf("input number for comparing size");
scanf("%d",&array[count]);
}
printf("The biggest number is %d",largest(num_array[]));
return 0;
}

/* ===============未声明num_array[]变量=================================*/

largest(int num_array[])
{
int biggest=-888888 ;
for(count=0;count<MAX;count++)
{
if(biggest<num_array[count])
biggest=num_array[count];
}
return biggest;
}
================================
拒我观察,这两个不都在LARGEST函数中声明了吗?为什么后边那个就不行

搜索更多相关主题的帖子: 大数 
2007-08-10 08:42
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
收藏
得分:0 
你的第二个程序中,
printf("The biggest number is %d",largest(num_array[]));
应该是:printf("The biggest number is %d",largest(array));

另外,第二个程序中的largest函数中
int biggest=-888888 ;它等价于:biggest=28616

[此贴子已经被作者于2007-8-10 8:49:43编辑过]


2007-08-10 08:46
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
收藏
得分:0 
以下是引用cordier在2007-8-10 8:46:53的发言:
你的第二个程序中,
printf("The biggest number is %d",largest(num_array[]));
应该是:printf("The biggest number is %d",largest(array));

另外,第二个程序中的largest函数中
int biggest=-888888 ;它等价于:biggest=28616

不对吧,INT的范围是从-20亿到+20亿,应该不会益出吧


用C打破禁锢的世界
2007-08-10 08:52
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
收藏
得分:0 
以下是引用cordier在2007-8-10 8:46:53的发言:
你的第二个程序中,
printf("The biggest number is %d",largest(num_array[]));
应该是:printf("The biggest number is %d",largest(array));

另外,第二个程序中的largest函数中
int biggest=-888888 ;它等价于:biggest=28616

果然都如你所说 int biggest=-888888 ;它等价于:biggest=28616的疑问在上!
对于一个函数体,()中的是应该是参数,这个参数也必须要声明?在函数体中声明不行?


用C打破禁锢的世界
2007-08-10 08:57
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
收藏
得分:0 

在主调函数(本例中为main函数)中,那个参数肯定是要求存在的一个变量,
而在被调函数(本例中为largest函数)中,这个参数相当你声明了这个变量,在被调函数体内可以用这个变量的。当然在被调函数中也可以在函数体声明。
比如您的largest函数也可以这样子写啊。

largest(num_array)

int num_array[]; /*这个要在下面的大括号前面,不能在大括号中*/

{
int biggest=-888888 ;
for(count=0;count<MAX;count++)
{
if(biggest<num_array[count])
biggest=num_array[count];
}
return biggest;
}


2007-08-10 09:14
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:0 
以下是引用寻乐的狼在2007-8-10 8:57:36的发言:

果然都如你所说 int biggest=-888888 ;它等价于:biggest=28616的疑问在上!
对于一个函数体,()中的是应该是参数,这个参数也必须要声明?在函数体中声明不行?

当然不行!!形参要在()声明!!int的数值那要看具体的机器!!算法就是:一个字节8位,如一般的int是2个字节(也有4个字节的机器),那么就是16位,范围就是-2^16~~~~~2^16-1;


要练习算法就来http:///!!有挑战哦!!
2007-08-10 09:16
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
收藏
得分:0 
以下是引用viky2003在2007-8-10 9:16:36的发言:

当然不行!!形参要在()声明!!int的数值那要看具体的机器!!算法就是:一个字节8位,如一般的int是2个字节(也有4个字节的机器),那么就是16位,范围就是-2^16~~~~~2^16-1;

的确如你所说,一个字节为什么是8位?什么样的机器是4个字节?
我所理解你的算法是:INT占两个内存地址*一个内存占八个字节,那后面为什么是2^16呢


用C打破禁锢的世界
2007-08-10 09:35
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
收藏
得分:0 
以下是引用cordier在2007-8-10 9:14:57的发言:

在主调函数(本例中为main函数)中,那个参数肯定是要求存在的一个变量,
而在被调函数(本例中为largest函数)中,这个参数相当你声明了这个变量,在被调函数体内可以用这个变量的。当然在被调函数中也可以在函数体声明。
比如您的largest函数也可以这样子写啊。

largest(num_array)

int num_array[]; /*这个要在下面的大括号前面,不能在大括号中*/

{
int biggest=-888888 ;
for(count=0;count<MAX;count++)
{
if(biggest<num_array[count])
biggest=num_array[count];
}
return biggest;
}

谢谢,明白了


用C打破禁锢的世界
2007-08-10 09:37
快速回复:求最大数的问题
数据加载中...
 
   



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

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