| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 724 人关注过本帖
标题:再问个简单问题,请达人解决,谢谢了
只看楼主 加入收藏
accbdbdada
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2008-10-4
结帖率:100%
收藏
 问题点数:0 回复次数:7 
再问个简单问题,请达人解决,谢谢了
经过了2个月学习C,我已经有了进步,现在我已经用分块的模式进行编写了,但是遇到了问题,问题是我输入的数组1运行后出不来,但是是SUSSESS的,我很郁闷请大家帮忙1下,注我写的着是分块的很容易阅读,请帮忙,谢谢了
问题是输入n个数的整数数列
      输出此数列
      以递增形式再输出此数列
      输出此数列最大值,最小值,平均值.  
#include<stdio.h>
#include<string.h>
void Input(int value[],int n);
void Output(int value[],int n);
void Sort(int value[],int n);
int MaxValue(int value[],int n);
int MinValue(int value[],int n);
double Average(int value[],int n);
main()
{   int n;
    int value[10];
    Input(value,n);
    Output(value,n);
    Sort(value,n);
    printf("%d,%d,%d\n",MaxValue(value,n),MinValue(value,n),Average(value,n));
return 0;
}
void Input(int value[],int n)
{   int i;
    printf("\nEnter 10 integers");

    for(i=0;i<n;i++)
    scanf("%d",&value[i]);
    }
void Output(int value[],int n)
{  int i ;
   printf("\n") ;
   for(i=0;i<n;i++)
   printf("%5d",value[i]);
   }
void Sort(int value[],int n)
{   int i,j,temp;
     for(i=n-1;i>=1;i--)
      for(j=0;j<i;j++)
       if(value[j]>value[j+1])
       {
       temp=value[j];
       value[j+1]=value[j];
       value[j]=temp; }
  }
int MaxValue(int value[],int n)
{   int i,MaxValue;
    MaxValue=value[0]  ;
    for(i=0;i<n;i++){
    if(MaxValue<value[i])
MaxValue=value[i];}
return MaxValue;
}
int MinValue(int value[],int n)
{   int i,MinValue;
    MinValue=value[0];
    for(i=0;i<n;i++){
    if(MinValue>value[i])
MinValue=value[i];}
return MinValue;
}
double Average(int value[],int n)
{   int i,sum=0;
    for(i=0;i<n;i++)
    sum=sum+value[i];
    return sum*1.0/n;
}
搜索更多相关主题的帖子: 简单问题 
2008-11-02 14:27
iamah
Rank: 1
等 级:新手上路
威 望:1
帖 子:69
专家分:0
注 册:2008-10-31
收藏
得分:0 
void Input(int value[],int n)??
都还没输入,哪来的形参
2008-11-02 16:28
cosixu
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2004-10-11
收藏
得分:0 
main()
{   int n;
    int value[10];
    Input(value,10);
    Output(value,10);
    Sort(value,10);
    printf("%d,%d,%d\n",MaxValue(value,n),MinValue(value,n),Average(value,n));
return 0;
}
给你改了一下!
2008-11-02 17:06
cosixu
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2004-10-11
收藏
得分:0 
1main()
2{   int n;
3    int value[10];
4    Input(value,n);
5}
6 void Input(int value[],int n)
程序是逐行读,所以程序一开始运行第一行,第二行,第三行,第四行,运行到第四行后,程序进入到第六行,但第六行n为多少,函数自己不知道,要main()函数把n传出来,但你的mian()函数里的那个n是多少,电脑是不知道的,只有你用实参把它传过来!
2008-11-02 17:11
iamah
Rank: 1
等 级:新手上路
威 望:1
帖 子:69
专家分:0
注 册:2008-10-31
收藏
得分:0 
仔细看了下,问题还不少

1.未输入,Input无形参

2.void sort();只排序不输出,缺少printf():而且排序也写错了,你注意看我给的程序有什么不同

3.MAX和MIN和AVG返回值时应为      return (返回值);      括号不能少。

4.既然sum();返回类型为double,则输出时应为   %f   

一般是将输入直接写在main();中,而不必另写一个printf();函数,如果一定要这样写的话,

那就得将valud[]和n设为全局变量。下面是我更改的代码。

#include<stdio.h>
#include<string.h>
void Input();
void Output();
void Sort();
int MaxValue();
int MinValue();
double Average();
#define n 10
int value[n];

main()
{   
    Input();
    Output();
    Sort();
    printf("\n%d \n%d  \n%4.2f\n",MaxValue(),MinValue(),Average());
return 0;
}
void Input()
{   int i;
    printf("\nEnter 10 integers\n");

    for(i=0;i<n;i++)
    scanf("%d",&value[i]);
    }
void Output()
{  int i;
   printf("\n");
   for(i=0;i<n;i++)
   printf("%5d",value[i]);
   printf("\n");
   }
void Sort()
{   int i,j,temp;
     for(i=n-1;i>=1;i--)
      for(j=0;j<i;j++)
       if(value[j]>value[j+1])
       {
           temp=value[j];
           value[j]=value[j+1];
           value[j+1]=temp;
       }
       for(i=0;i<n;i++)
          printf("%5d",value[i]);
}

int MaxValue()
{   int i,MaxValue;
    MaxValue=value[0]  ;
    for(i=0;i<n;i++){
    if(MaxValue<value[i])
MaxValue=value[i];}
return (MaxValue);
}

int MinValue()
{   int i,MinValue;
    MinValue=value[0];
    for(i=0;i<n;i++){
    if(MinValue>value[i])
MinValue=value[i];}
return (MinValue);
}

double Average()
{   int i;
    int sum=0;
    for(i=0;i<n;i++)
    sum=sum+value[i];
    return (sum/n);
}


不知道截图为什么上传不了,你自己运行一下吧!!
2008-11-02 17:20
accbdbdada
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2008-10-4
收藏
得分:0 
刚上,真是谢谢你们了!
2008-11-02 19:31
accbdbdada
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2008-10-4
收藏
得分:0 
真是太详细了,可是我还是有1个地方不明白,
如果题目让输入N个数的话,n应该是未知的,不一定是10.
如果输入的数字个数每次都不一样多怎摸办?
2008-11-02 19:43
mbstorm
Rank: 1
等 级:新手上路
帖 子:166
专家分:0
注 册:2008-10-31
收藏
得分:0 
太难了
2008-11-02 20:21
快速回复:再问个简单问题,请达人解决,谢谢了
数据加载中...
 
   



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

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