| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 826 人关注过本帖
标题:请大家帮忙看一下这个程序有什么错误,因为指针不太懂
只看楼主 加入收藏
zxjbc
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2010-11-29
结帖率:90.91%
收藏
已结贴  问题点数:12 回复次数:3 
请大家帮忙看一下这个程序有什么错误,因为指针不太懂
这个是用指针变量作为函数参数,得到最大值和最小值在数组中的位置
从键盘任意输入10个整数,用函数编程实现计算最大值和最小值,并返回他们所在数组中的位置




#include<stdio.h>
#define ARR_SIZE  10
void  Findmax_min(int num[],int *pMaxnum,int *pMinnum,int m,int n)
{
    int i,temp;
    *pMaxnum=num[0];
    *pMinnum=num[0];
    m=0;
    n=0;
    for(i=1;i<n;i++)
    {
        if(num[i]>*pMaxnum)
        {
           *pMaxnum=num[i];
           m=i;
        }
        if(num[i]<*pMinnum)
        {
           *pMinnum=num[i];
           n=i;
        }
    }
    printf("%d%d",*pMaxnum,*pMinnum);
    return m,n;
}
main()
{
   int num[ARR_SIZE},maxnum,minnum;
   int n,i;
   int p,q;

   printf("please enter total number:");
   sacnf("%d",&n);
   printf("please enter 10 number:");
   for(i=0;i<n;i++)
   {
       scanf("%d",&num[i]);
   }
   Findmax_min( num,&maxnum,&minnum.m,n);


   printf("%d%d%d%d",maxnum,minnum,p,q)
搜索更多相关主题的帖子: 指针 
2010-12-12 15:26
ml232528
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:367
专家分:879
注 册:2007-7-23
收藏
得分:4 
已改好

#include<stdio.h>
#define ARR_SIZE  10
void  Findmax_min(int num[],int *pMaxnum,int *pMinnum,int *m,int *n,int len)
{
    int i,temp;
    *pMaxnum=num[0];
    *pMinnum=num[0];
    *m=0;
    *n=0;
    for(i=1;i<len;i++)
    {
        if(num[i]>*pMaxnum)
        {
           *pMaxnum=num[i];
           *m=i;
        }
        if(num[i]<*pMinnum)
        {
           *pMinnum=num[i];
           *n=i;
        }
    }
    printf("%d %d ",*pMaxnum,*pMinnum);
}
int main()
{
   int num[ARR_SIZE],maxnum,minnum;
   int m,n,i;
//   int p,q;

   printf("please enter total number:");
   scanf("%d",&n);
   printf("\nplease enter 10 number:");
   for(i=0;i<n;i++)
   {
       scanf("%d",&num[i]);
   }
   Findmax_min(num,&maxnum,&minnum,&m,&n,n);


   printf("\n%d %d %d %d",maxnum,minnum,m,n);
   while('\n'!=getchar()){};
   getchar();
   return 0;
}

-︻┻┳═一 ☆ 悲伤的代价就是让自己明白什么是最重要的和应该珍惜的
2010-12-12 15:50
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:4 
# include <stdio.h>

#define SIZE 10

void findmax_min(int *n , int *maxnum , int *minnum , int *maxqty , int *minqty) ;

int main()
{
    int n[SIZE] ;
    int i ;
    int maxnum , minnum , maxqty , minqty ;
    printf("请输入十个数:\n") ;
    for(i = 0 ; i < SIZE ; i++)
        scanf("%d" , n + i) ;
    findmax_min(n , &maxnum , &minnum , &maxqty , &minqty) ;
    printf("最大数:%d,其位置:%d\n最小数:%d,其位置:%d\n" , maxnum , maxqty , minnum , minqty) ;
    return 0 ;
}

void findmax_min(int *n , int *maxnum , int *minnum , int *maxqty , int *minqty)
{
    int i ;
    *maxnum = n[0] ;
    *minnum = n[0] ;
    *maxqty = 0 ;
    *minqty = 0 ;
    for(i = 0 ; i < SIZE ; i++)
    {
        if(*maxnum < n[i])
        {
            *maxnum = n[i] ;
            *maxqty = i ;
        }
        if(*minnum > n[i])
        {
            *minnum = n[i] ;
            *minqty = i ;
        }
    }
}

愿用余生致力编程
2010-12-12 16:08
mengcong3959
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:41
专家分:113
注 册:2010-12-6
收藏
得分:4 
ls既然已经修改了,,我说下我的看法,,首先你写的这个程序main函数中并没有定义m,实际上m也没必要作为一个实参,然后你自己定义的那个函数实际上也不需要有返回值,只需在该函数里面输出即可,这样返回两个值并不好在main函数中表示,很好修改的,,自己修改下吧,,你写的思路还是很清晰的。
2010-12-12 22:02
快速回复:请大家帮忙看一下这个程序有什么错误,因为指针不太懂
数据加载中...
 
   



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

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