| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 318 人关注过本帖
标题:用指针处理数组的问题。。。帮帮忙。
只看楼主 加入收藏
wwfdzh2012
Rank: 2
等 级:论坛游民
帖 子:88
专家分:27
注 册:2012-11-22
结帖率:94.12%
收藏
已结贴  问题点数:20 回复次数:4 
用指针处理数组的问题。。。帮帮忙。
题目:输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:1、输入十个整数,2、进行处理,3、输出10个数。
我写的程序运行后这十个整数的顺序还是不变。帮忙找出哪里错了
程序代码:
#include"stdio.h"
int a[10];
void input()
{
    int i;
    printf("请输入10个整数:");
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
}
void swap(int *p,int n)
{
    int i,t1,t2,temp,max,min;
    max=min=*p;

    for(i=0;i<n;i++)
    {
        if(*(p+i)>max){max=*(p+i);t1=i;}
        if(*(p+i)<min){min=*(p+i);t2=i;}
    }
    {temp=*(p+t2);*(p+t2)=*p;*p=temp;}
    {temp=*(p+t1);*(p+t1)=*(p+n-1);*(p+n-1)=temp;}
}
void printf(int *p,int n)
{
    int i;
    for(i=0;i<n;i++)
        printf("%5d",*(p+i));
}
void main()
{
    int n=10;
    input();
    printf("十个整数为:");
    printf(a,n);
    swap(a,n);
    printf("\n");
    printf("交换后十个整数为:");
    printf(a,n);
    printf("\n");
}


搜索更多相关主题的帖子: 最大的 
2013-02-22 19:10
a646698961
Rank: 2
等 级:论坛游民
威 望:1
帖 子:49
专家分:94
注 册:2012-12-19
收藏
得分:0 
太乱了。。。

欢迎来讨论和分享经验,QQ:646698961
2013-02-22 19:19
小xiong
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:388
专家分:1722
注 册:2013-2-8
收藏
得分:0 
你这个没有问题的啊
2013-02-22 19:29
wwfdzh2012
Rank: 2
等 级:论坛游民
帖 子:88
专家分:27
注 册:2012-11-22
收藏
得分:0 
回复 3楼 小xiong
你输入1到10或10到一试试。。。马上报错。。。但不知道为什么如果不输入连续的数字就不会这样,相反结果还是正确的。。
2013-02-23 00:12
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:20 
程序代码:
void swap(int *p,int n)
{
    int i,t1,t2,temp,max,min;
    max=min=*p;
    t1=t2=0;//没考虑最大值或者最小值正好落在0的位置 则下面的t1=i 或者t2=i 无初值
    for(i=0;i<n;i++)
    {
        if(*(p+i)>max){max=*(p+i);t1=i;}
        if(*(p+i)<min){min=*(p+i);t2=i;}
    }
    {temp=*(p+t2);*(p+t2)=*p;*p=temp;}---->①
    {temp=*(p+t1);*(p+t1)=*(p+n-1);*(p+n-1)=temp;}-----> ②
    //如果最大值恰好位于第一位 而最小值恰好位于最后一位,则①和②正好给调换2次 相当于没有调换
}

DO IT YOURSELF !
2013-02-23 06:44
快速回复:用指针处理数组的问题。。。帮帮忙。
数据加载中...
 
   



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

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