| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 592 人关注过本帖
标题:求大神帮我看一下这个程序出错在哪?
只看楼主 加入收藏
狐飞
Rank: 1
等 级:新手上路
帖 子:18
专家分:8
注 册:2014-7-18
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
求大神帮我看一下这个程序出错在哪?
设计一个程序 随意输入6个数据再按从小到大的顺序排列出来:

我是这么写的,请各位大侠帮忙看看问题所在:

#include<stdio.h>
void main()
{
  void minivalue(int n,int *f);
  int a[6];
  for(int i=0;i<6;i++)
   scanf("%d",&a[i]);
 int *p=a;
 for(i=6;i>0;i--)
  minivalue(i,p);
}

void minivalue(int n,int *f)
{
  int m,j;
 for(j=0;j<n-1;j++)
  {
    if(*(f+j)<*(f+j+1))
     m=*(f+j);
    *(f+j)=*(f+j+1);
    *(f+j+1)=m;
}
printf("%d",*(f+j));
}

这个程序的思路是这样:主程序中输入6个数字,函数minivalue从第一个数字开始进行比对,将最小值存放于最后一个位置,以此类推循环计算并按从小到大排列出。但是程序运行后没有得到预期效果,请大侠们帮忙看看问题出在了哪里
搜索更多相关主题的帖子: include 主程序 
2014-09-02 17:46
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:15 
if(*(f+j)<*(f+j+1))
{
     m=*(f+j);
    *(f+j)=*(f+j+1);
    *(f+j+1)=m;
}

总有那身价贱的人给作业贴回复完整的代码
2014-09-02 18:00
罗明豪
Rank: 2
等 级:论坛游民
帖 子:33
专家分:26
注 册:2014-5-25
收藏
得分:0 
你没定义I,没有对i初始化,还有一些错误
2014-09-02 18:13
ct461679466
Rank: 2
等 级:论坛游民
帖 子:2
专家分:10
注 册:2014-9-2
收藏
得分:5 
#include<stdio.h>
void main()
{
  void minivalue(int n,int *f);
  int a[6];
  for(int i=0;i<6;i++)
   scanf("%d",&a[i]);
int *p=a;
for(i=6;i>0;i--)
  minivalue(i,p);
}

void minivalue(int n,int *f)
{
  int m,j;
for(j=0;j<n-1;j++)
  {
    if(*(f+j)>*(f+j+1))
     {m=*(f+j);
    *(f+j)=*(f+j+1);
    *(f+j+1)=m;}
}
printf("%d",*(f+j));
}
2014-09-02 21:13
狐飞
Rank: 1
等 级:新手上路
帖 子:18
专家分:8
注 册:2014-7-18
收藏
得分:0 
回复 2 楼 embed_xuel
!点醒了!if判断体加括号,谢谢!!!
2014-09-02 23:06
快速回复:求大神帮我看一下这个程序出错在哪?
数据加载中...
 
   



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

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