用指针方式编写程序:从键盘输入10个整型数据并存入数组,要求用函数实现将10个数中最大的数与第一个

用指针方式编写程序:从键盘输入10个整型数据并存入数组,要求用函数实现将10个数中最大的数与第一个输入的数交换,将十个数中最小的数与最后一个输入的数交换。哪位大神能用指针... 用指针方式编写程序:从键盘输入10个整型数据并存入数组,要求用函数实现将10个数中最大的数与第一个输入的数交换,将十个数中最小的数与最后一个输入的数交换。
哪位大神能用指针解决?帮个忙
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
albumin
2018-03-07 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2375万
展开全部
#include <stdio.h>
void swap(int *a,int *b)
{
    int tmp;
    tmp=*b;*b=*a;*a=tmp;
}
void swapmaxmin(int *a,int n)
{
    int i;
    int *max,*min;
    max=min=a;
    for(i=0;i<n;i++)
    {
        if(*(a+i)>*max) max=a+i;
        if(*(a+i)<*min) min=a+i;
    }
    swap(max,a+n-1);
    swap(min,a);
}
int main()
{
    int i,a[10];
    for(i=0;i<10;i++)
        scanf("%d",a+i);
    swapmaxmin(a,10);
    for(i=0;i<10;i++)
        printf("%d\t",*(a+i));
    printf("\n");
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沧海雄风2009
2018-03-07 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2833万
展开全部
#include <stdio.h>

void changePos(int *a)
{
int i=0,Maxa=0,Mxp=0,tmp=0;
for (i=0;i<10;i++)
{
if (i==0)
{
Maxa = *a;
Mxp = i;
}else
{
if (Maxa<*a+i)
{
Maxa = *a+i;
Mxp = i;
}
}
}
tmp=*a;
*a = *(a+Mxp);
*(a+Mxp)= tmp;
}

main()
{
int i=0,a[10]={0};
for (i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
changePos(&a);
for (i=0;i<10;i++)
{
printf("%d ",a[i]);
}
}
1 2 3 4 5 6 7 8 9 10
10 2 3 4 5 6 7 8 9 1 Press any key to continue
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式