| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1081 人关注过本帖
标题:错在那里///??
取消只看楼主 加入收藏
yeti3
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-2-21
收藏
 问题点数:0 回复次数:1 
错在那里///??

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

#include<stdio.h>
void shuru(int *p,int n) /*输入n个数字*/
{ int i;
printf("please input ten numbers");
for(i=0;i<n;i++,p++)
scanf("%d",*p);
}

void sort(int *p,int n) /*将其中最小的数与第一个数交换,把最大的数与最后一个交换*/
{int max,t1,t2,t,u,min,i;
t1=max=min=*p;
t2=*(p+n-1);p++;
for(i=1;i<n;i++,p++) /*找出最大值与最小值*/
if(*p>max) max=*p;
else if(*p<min) min=*p;

p=p-n;

for(i=0;i<n;i++,p++) /*最小的数与第一个数交换,把最大的数与最后一个交换*/
if(*p==max)
{t=t2;
t2=*p;
*p=t;
}
else if(*p==min)
{t=t1;
t1=*p;
*p=t;
}
}

void shuchu(int *p,int n) /*输出n个数*/
{int i;
for(i=0;i<n;i++,p++)
printf("%d\n",*p);
getch(); /*这个我不明白,乱加的,请求帮助*/
}

main()
{ int a[10]; int *q;
q=a;
shuru(q,10);
q=a;
sort(q,10);
q=a;
shuchu(q,10);
}

搜索更多相关主题的帖子: int void max min 
2006-03-07 07:03
yeti3
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-2-21
收藏
得分:0 
以下是引用yeti3在2006-3-7 7:03:00的发言:

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

#include<stdio.h>
void shuru(int *p,int n) /*输入n个数字*/
{ int i;
printf("please input ten numbers");
for(i=0;i<n;i++,p++)
scanf("%d",*p);
}

void sort(int *p,int n) /*将其中最小的数与第一个数交换,把最大的数与最后一个交换*/
{int max,t1,t2,t,u,min,i;
t1=max=min=*p;
t2=*(p+n-1);p++;
for(i=1;i<n;i++,p++) /*找出最大值与最小值*/
if(*p>max) max=*p;
else if(*p<min) min=*p;

p=p-n;

for(i=0;i<n;i++,p++) /*最小的数与第一个数交换,把最大的数与最后一个交换*/
if(*p==max)
{t=t2;
t2=*p;
*p=t;
}
else if(*p==min)
{t=t1;
t1=*p;
*p=t;
}
}

void shuchu(int *p,int n) /*输出n个数*/
{int i;
for(i=0;i<n;i++,p++)
printf("%d\n",*p);
getch(); /*这个我不明白,乱加的,请求帮助*/
}

main()
{ int a[10]; int *q;
q=a;
shuru(q,10);
q=a;
sort(q,10);
q=a;
shuchu(q,10);
}

我现在重新审查了边
#include<stdio.h>
void shuru(int *p,int n) /*输入n个数字*/
{ int i;
printf("please input ten numbers");
for(i=0;i<n;i++,p++)
scanf("%d",p); /*太粗心*/
}

void sort(int *p,int n) /*将其中最小的数与第一个数交换,把最大的数与最后一个交换*/
{int max,t,u,min,i;
max=min=*p;
p++;
for(i=1;i<n;i++,p++) /*找出最大值与最小值*/
if(*p>max) max=*p;
else if(*p<min) min=*p;

p=p-n;

for(i=0;i<n;i++,p++) /*最小的数与第一个数交换,把最大的数与最后一个交换*/
if(*p==max)
{t=*(p+n-1-i); /*原来我这里有错,没看出来,用指针应该小心滴~~~*/
*(p+n-1-i)=*p;
*p=t;
}
else if(*p==min) /*原来我这里有错,没看出来,用指针应该小心滴~~~*/
{t=*(p-i);
*(p-i)=*p;
*p=t;
}
}

void shuchu(int *p,int n) /*输出n个数*/
{int i;
for(i=0;i<n;i++,p++)
printf("%5d",*p);
printf("\n");
getch(); /*谢谢帮助*/
}

main()
{ int a[10]; int *q;
q=a;
shuru(q,10);
q=a;
sort(q,10);
q=a;
shuchu(q,10);
}

2006-03-07 18:26
快速回复:错在那里///??
数据加载中...
 
   



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

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