| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 318 人关注过本帖
标题:用指针处理数组的问题。。。帮帮忙。
取消只看楼主 加入收藏
wwfdzh2012
Rank: 2
等 级:论坛游民
帖 子:88
专家分:27
注 册:2012-11-22
结帖率:94.12%
收藏
已结贴  问题点数:20 回复次数:1 
用指针处理数组的问题。。。帮帮忙。
题目:输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写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
wwfdzh2012
Rank: 2
等 级:论坛游民
帖 子:88
专家分:27
注 册:2012-11-22
收藏
得分:0 
回复 3楼 小xiong
你输入1到10或10到一试试。。。马上报错。。。但不知道为什么如果不输入连续的数字就不会这样,相反结果还是正确的。。
2013-02-23 00:12
快速回复:用指针处理数组的问题。。。帮帮忙。
数据加载中...
 
   



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

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