标题:帮忙:指针问题!
只看楼主
pd_519
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-9-30
 问题点数:0 回复次数:2 
帮忙:指针问题!

问题是:输入十个整数,将其中最小的数和第一个数对换,把最大的数与最后一个数对换。写三个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。

请高手指出哪里有错!偶多谢了!

#include <conio.h> /* 此头函数请不要删除 */ int max,min; maxandmin (int *a,int n) {int i; max=*a;min=*a; for (i=1;i<n;i++) {if (max<*(a+i)) max=*(a+i); else if (min>*(a+i)) min=*(a+i);} return;} swap (int *d,int m) { int temp,f; maxandmin (d,m); temp=*(d+m-1); *(d+m-1)=max; max=temp; f=*d; *d=min; min=f; return;} main() {int c[10]; int i; int *p=c; for (i=0;i<10;i++,p++) scanf ("%d",p); swap (p,10); for (p=c,i=0;i<10;p++,i++) printf ("%5d",*p); getch(); /* 此语句请不要删除*/ }

搜索更多相关主题的帖子: int 指针 max min temp 
2004-10-06 09:45
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
得分:0 
以下是引用pd_519在2004-10-06 09:45:54的发言:

问题是:输入十个整数,将其中最小的数和第一个数对换,把最大的数与最后一个数对换。写三个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。

请高手指出哪里有错!偶多谢了!

#include <conio.h> /* 此头函数请不要删除 */ int max,min; maxandmin (int *a,int n) {int i; max=*a;min=*a; for (i=1;i<n;i++) {if (max<*(a+i)) max=*(a+i); else if (min>*(a+i)) min=*(a+i);} return;} swap (int *d,int m) { int temp,f; maxandmin (d,m); temp=*(d+m-1); *(d+m-1)=max; max=temp; f=*d; *d=min; min=f; return;} main() {int c[10]; int i; int *p=c; for (i=0;i<10;i++,p++) scanf ("%d",p);

swap (p,10);《==经过上面的循环,p指向那里???

for (p=c,i=0;i<10;p++,i++) printf ("%5d",*p); getch(); /* 此语句请不要删除*/ }


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-10-06 14:41
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
得分:0 
以下是引用pd_519在2004-10-06 09:45:54的发言:

问题是:输入十个整数,将其中最小的数和第一个数对换,把最大的数与最后一个数对换。写三个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。

请高手指出哪里有错!偶多谢了!

#include <conio.h> /* 此头函数请不要删除 */ int max,min; maxandmin (int *a,int n) {int i; max=*a;min=*a; for (i=1;i<n;i++) {if (max<*(a+i)) max=*(a+i); else if (min>*(a+i)) min=*(a+i);} return;} swap (int *d,int m) { int temp,f; maxandmin (d,m); temp=*(d+m-1); *(d+m-1)=max; max=temp; f=*d; *d=min; min=f; return;} main() {int c[10]; int i; int *p=c; for (i=0;i<10;i++,p++) scanf ("%d",p); swap (c,10); for (p=c,i=0;i<10;p++,i++) printf ("%5d",*p); getch(); /* 此语句请不要删除*/ }


2004-10-06 17:24



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




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

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