| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 916 人关注过本帖
标题:[求助]请教程序中一句话的意思
取消只看楼主 加入收藏
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
 问题点数:0 回复次数:7 
[求助]请教程序中一句话的意思
程序要求输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.编写3个函数:(1)输入10个数;(2)进行处理;(3)输出10个数.
答案是这样的:
#include<stdio.h>
void main()
{void input(int *);
void max_min_value(int *);
void output(int *);
int number[10];
input(number);
max_min_value(number);
output(number);
}

void input(int number)
{int i;
printf("input 10 numbers:");
for(i=0;i<10;i++)
scanf("%d",&number[i]);
}

void max_min_value(int number)
{int *max,*min,*p,temp;
max=min=number;
for(p=number+1;p<number+10;p++)
if(*p>*max)max=p;
else if(*p<*min)min=p;
temp=number[0];number[0]=*min;*min=temp;
temp=number[9];number[9]=*max;*min=temp;
}

void output(int number)
{int *p;
printf(Now,they are: ");
for(p=number;p<number+10;p++)
printf("%d",*p);
printf("\n");
}


max=min=number;
这一步按我的理解是先把数组的第一个数给min,然后把min再把max,等于说把一个数先赋给min(一个最小的数),然后再把这个最小的数赋给max(最大的数),这样最大的数又变成最小的数了,搞糊涂了.高手能解释一下这不什么意思吗?和后面有什么联系吗?谢谢!

[此贴子已经被作者于2006-8-7 20:12:57编辑过]

搜索更多相关主题的帖子: 的意思 
2006-08-07 20:12
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
得分:0 
for(p=number+1;p<number+10;p++)
if(*p>*max)max=p;
else if(*p<*min)min=p;
那这三句话是什么意思?尤其是for(p=number+1;p<number+10;p++),我觉得是多余的,有if(*p>*max)max=p;
else if(*p<*min)min=p;
就够了,请指教!
2006-08-07 23:37
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
得分:0 
我是初学者,对遍历循环这个概念不是很懂,楼上的高手能不能结合这个程序解释一下?谢谢!
2006-08-08 14:58
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
得分:0 

有没有高手能解释一下啊?谢谢!

2006-08-08 22:52
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
得分:0 
我知道这句话的意思是要执行10次循环,我是这样理解的:把数组的每个数都与max比,如果有比max大的就把那个值赋值给max,但我不明白的是,max不是一个确定值,说不定数组中不止一个数比max大怎么办?难道定义max是就已经默认它无穷大,请高手指教菜鸟,先谢谢各位高手了!
2006-08-09 18:54
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
得分:0 
多谢soft_wind和nuciewth的指点,这下完全搞明白了,对于学文科的我来说,如果没有两位高人的指点,c语言自学是不会学出什么结果的,再次表示感谢!

[此贴子已经被作者于2006-8-10 21:16:48编辑过]


2006-08-10 21:15
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
得分:0 
对了,我又发现了一个我没搞懂的地方void input(int *);
这里对void input函数的声明用的参数是指针,而void input(int number)
定义函数时参数变数组了,这样把指针传递给了数组number,但指针传给数组这种传递方式好象不对吧!应该指针传给指针才对,好象应该配对才行的.请指教!


2006-08-10 21:26
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
得分:0 
多谢!
2006-08-11 23:32
快速回复:[求助]请教程序中一句话的意思
数据加载中...
 
   



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

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