| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 366 人关注过本帖
标题:大家帮我看一下,到低哪里出错了!!!!
只看楼主 加入收藏
x6988312
Rank: 1
等 级:新手上路
帖 子:46
专家分:5
注 册:2012-3-26
结帖率:100%
收藏
已结贴  问题点数:4 回复次数:6 
大家帮我看一下,到低哪里出错了!!!!
输入10个数,将其中最大的数与第一个数对换,把最小的数与最后一个数对换。要求:输入,处理和输出分别用一个函数实现
我写这个段代吗,但不知道为什么运行出错,找一天了,还是找不出来,请大神帮助啊!!!!!!!!!!!
# include <stdio.h>
# include <stdlib.h>
void input(int g[10],int h[10]);
void output(int g[10]);
void deal(int g[10],int h[10]);
void input(int g[10],int h[10])
{int i,*p;
p=&g[0];
for(i=0;i<10;i++)
 {scanf("%d",*p+i);
 p=&g[0];}
for(i=0;i<10;i++)
  {h[i]=g[i];}
}
void output(int g[10])
{int i,*p;
for(i=0;i<10;i++)
 {p=&g[0];
  printf("%d ",*p+i);
  }
}
void deal(int g[10],int h[10])
{int i,*p,a;
p=&g[0];
for(i=0;i<9;i++)
{if(g[i]<g[i+1])
 {p=&g[i+1];}
  }
a=g[0];
g[0]=*p;
*p=a;
output(g);
p=&h[0];
for(i=0;i<9;i++)
 {if(h[i]>h[i+1])
  {p=&h[i+1];}
   }
a=h[9];
h[9]=*p;
*p=a;
output(h);
}
main()
{int g[10]={0},h[10]={0};
input(g,h);
 deal(g,g);
}
搜索更多相关主题的帖子: void include 最大的 
2012-05-23 15:25
七叶草
Rank: 2
等 级:论坛游民
帖 子:19
专家分:30
注 册:2012-2-7
收藏
得分:0 
第一个错误就是输入数据那地方,可以不用指针,直接给数组就行了。用g[10]。
2012-05-23 18:08
love24114
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:223
专家分:399
注 册:2011-7-11
收藏
得分:0 
#include <stdio.h>
struct T{
    int index;
    int num;
}max,min;
void swap(int &a,int &b)
{
    int c=a;
    a=b;
    b=c;
}
int main()
{
    int a[10];
    for(int i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]>max.num)
        {
            max.num=a[i];
            max.index=i;
        }
        if(a[i]<min.num)
        {
            min.num=a[i];
            min.index=i;
        }
    }
    swap(a[max.index],a[0]);
    swap(a[min.index],a[9]);
    return 0;
}
2012-05-23 18:30
x6988312
Rank: 1
等 级:新手上路
帖 子:46
专家分:5
注 册:2012-3-26
收藏
得分:0 
回复 2楼 七叶草
我按你的思想改一了一下,但还是不能决解问题
2012-05-23 20:09
x6988312
Rank: 1
等 级:新手上路
帖 子:46
专家分:5
注 册:2012-3-26
收藏
得分:0 
回复 3楼 love24114
不知道是不是我编译器的问题,你的程序在我这里运行有一个错误
2012-05-23 20:10
乐酷科技
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-5-23
收藏
得分:0 
#include <iostream>
#include <cstdlib>
void input(int g[10],int h[10]);
void output(int g[10]);
void deal(int g[10],int h[10]);
void input(int g[10],int h[10])
{int i,*p;
p=&g[0];
for(i=0;i<10;i++)
{scanf("%d",*p+i);
p=&g[0];}
for(i=0;i<10;i++)
  {h[i]=g[i];}
}
void output(int g[10])
{int i,*p;
for(i=0;i<10;i++)
{p=&g[0];
  printf("%d ",*p+i);
  }
}
void deal(int g[10],int h[10])
{int i,*p,a;
p=&g[0];
for(i=0;i<9;i++)
{if(g[i]<g[i+1])
{p=&g[i+1];}
  }
a=g[0];
g[0]=*p;
*p=a;
output(g);
p=&h[0];
for(i=0;i<9;i++)
{if(h[i]>h[i+1])
  {p=&h[i+1];}
   }
a=h[9];
h[9]=*p;
*p=a;
output(h);
}
main()
{int g[10]={0},h[10]={0};
input(g,h);
deal(g,g);
} 建议显示输出 不然运行不显示
2012-05-23 22:15
千年小妖
Rank: 2
等 级:论坛游民
帖 子:11
专家分:17
注 册:2012-5-18
收藏
得分:4 
兄弟,看看这个行不?
#include <stdio.h>
#include <stdlib.h>

void input(int g[10]);
void output(int g[10]);
void deal(int g[10]);

void input(int g[10])
{
    int i,*p;
    p=g;
    for(i=0;i<10;i++)
        scanf("%d",p++);
}

void output(int g[10])
{
    int i,*p;
    p=g;
    for(i=0;i<10;i++)
        printf("%d\n",*p++);
}

void deal(int g[10])
{
    int i,*p,a;
    p=g;
    for(i=0;i<9;i++)
    {
        if((g[i]<g[i+1])&&(*p<g[i+1]))
            p=&g[i+1];
    }
    a=g[0];
    g[0]=*p;
    *p=a;

    p=g;
    for(i=0;i<9;i++)
    {
        if((g[i]>g[i+1])&&(*p>g[i+1]))
            p=&g[i+1];
    }
    a=g[9];
    g[9]=*p;
    *p=a;
}

void main()
{
    int g[10]={0},h[10]={0};
    input(g);
    deal(g);
    output(g);
}
2012-05-23 23:28
快速回复:大家帮我看一下,到低哪里出错了!!!!
数据加载中...
 
   



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

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