标题:已知一个整型数组a[10],要求定义2个整型变量的指针变量max,min。使得他们分 ...
只看楼主
iqyuankong
Rank: 2
等 级:论坛游民
帖 子:68
专家分:10
注 册:2009-10-23
结帖率:92.86%
已结贴  问题点数:1 回复次数:5 
已知一个整型数组a[10],要求定义2个整型变量的指针变量max,min。使得他们分别指向数组中最大和最小数。 我的想法是其值从键盘输入,然后用选择法比较
已知一个整型数组a[10],要求定义2个整型变量的指针变量max,min。使得他们分别指向数组中最大和最小数。    我的想法是其值从键盘输入,然后用选择法比较。  可是思路理不清,请高手赐教
搜索更多相关主题的帖子: 小数 变量 整型 min max 
2010-01-15 20:35
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
得分:0 
max=min=a[0];
for i  <-  1 to 10
    if  max<a[i]
        then  max=a[i];
    if  min>a[i]
        then  min=a[i];

printf   max min ;


正常的思路应该是这样的,祝您学 C 愉快.
2010-01-15 21:26
iqyuankong
Rank: 2
等 级:论坛游民
帖 子:68
专家分:10
注 册:2009-10-23
得分:0 
回复 2楼 广陵绝唱
#include"stdio.h"
void main()
{
    int a[5]={11,15,99,24,35},i;
    int *max,*min;
    max=min=&a[0];
    for(i=1;i<5;i++)
    {
        if(*max<a[i])
            *max=a[i];
        if(*min>a[i])
            *min=a[i];
    }
    printf("max=%d,min=%d\n",*max,*min);
}
我自己试了一下可是结果就是不对啊!怎么回事了?
2010-01-16 21:53
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
得分:1 
程序代码:
#include<stdio.h>
int main()
{
    int a[5]={11,15,99,24,35},i;
    int *max,*min;
    max=min=&a[0];
    for(i=1;i<5;i++)
    {
        if(*max<a[i])
            max=&a[i];
        if(*min>a[i])
            min=&a[i]; 
    }
    printf("max=%d,min=%d\n",*max,*min);
}


你的max min一直指向a[0]

所以你以后的操作都是在修改a[0]

不晓得你还听的懂我在说什么..

[ 本帖最后由 Devil_W 于 2010-1-16 22:01 编辑 ]
2010-01-16 21:59
iqyuankong
Rank: 2
等 级:论坛游民
帖 子:68
专家分:10
注 册:2009-10-23
得分:0 
回复 4楼 Devil_W
谢谢你我明白你的意思,,就是我的max指针指向的地址一直都是数组a[0]而且从未改变
2010-01-19 19:45
瞿小凯
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2022-5-30
得分:0 
学习了,谢谢分享

[此贴子已经被作者于2022-8-13 14:47编辑过]

2022-08-13 14:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-295823-1-1.html




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

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