标题:请各位前辈看看指导,本人初学。
取消只看楼主
梦幻尘
Rank: 2
等 级:论坛游民
帖 子:33
专家分:34
注 册:2012-8-26
结帖率:87.5%
已结贴  问题点数:20 回复次数:3 
请各位前辈看看指导,本人初学。
题:请输入10个整数,要求最大的和最后一个数换,最小的和第一个数换。

#include <stdio.h>
void main()
{
  void s_port(int *q,int n);
  int a[10],i,*p=a;
  printf("请输入10个整数:\n");
  for(i=0;i<10;i++)
    scanf("%d",p++);
  s_port(p,10);
  printf("输出的整数为:\n");
  p=a;
  for(i=0;i<10;i++)
    printf("%d",p++);
  printf("\n");
}
void s_port(int *q,int n)
{
  int i,k,d,tem,max=min=*q;
  for(i=0;i<n;i++)
    if(max<*(q+i)) {max=*(q+i);k=j;}
    if(min>*(q+i)) {min=*(q+i);d=j;}
 tem=*(q+k);*(q+k)=*(q+n-1);*(q+n-1)=tem;
 tem=*(q+d);*(q+d)=*q;*q=tem;
}
运行结果是第一个数变成了0,其余愿样输出。

[ 本帖最后由 梦幻尘 于 2012-8-26 12:37 编辑 ]
搜索更多相关主题的帖子: void max include 最大的 
2012-08-26 12:32
梦幻尘
Rank: 2
等 级:论坛游民
帖 子:33
专家分:34
注 册:2012-8-26
得分:0 
回复 2楼 embed_xuel
明白,p=a,被我放错了位置。谢谢!
2012-08-27 08:29
梦幻尘
Rank: 2
等 级:论坛游民
帖 子:33
专家分:34
注 册:2012-8-26
得分:0 
回复 3楼 q13678986740
局部变量有范围,i不用换!谢谢。
2012-08-27 08:53
梦幻尘
Rank: 2
等 级:论坛游民
帖 子:33
专家分:34
注 册:2012-8-26
得分:0 
回复 2楼 embed_xuel
唉,q=a;从新赋值明白,重要是s_port这个函数的问题,刚学指针,还不透。
2012-08-27 08:57



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




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

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