| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1133 人关注过本帖
标题:帮我看看我写的程序,麻烦帮我修改修改,谢谢!!
只看楼主 加入收藏
firstbee
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-5-30
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:11 
帮我看看我写的程序,麻烦帮我修改修改,谢谢!!
1.从键盘上接收10个整数,保存到一个int数组中。
2.编写一个函数用于从键盘上接收数据。
3.编写一个函数用于输出数组中所有的元素。
4.编写一个函数返回这10个整数的平均值。
5.编写一个函数将数组中的元素倒序存放。
要求:
要求每个功能都有一个具体的函数来完成。
要求主函数中只有一些变量、数组定义以及函数调用的语句。

#include<stdio.h>
void Input(int arr[],int n);
void Output(int arr[],int n);
float Average(int arr[],int n);
void ReverseOrder(int arr[],int n);

int main(int argc, char *argv[])
{
int arr[10];
Input(&arr);
int aver=Average(arr);;
Output(arr);
return 0;
}
void Input(int arr[],int n)
{
    int i;
    for(i=0;i<n;++i)
    {
        printf("请输入第%d个整数:  "i+1);
        scanf("%d",&arr[i]);
    }
    return arr[i];
}
void Output(int arr[],int n)
{
    int i;
    printf("逆序输出的结果是: ");
    for(i=n-1;i>=0;i--)
    {
        printf("%d",arr[i]);
        
    }
    return arr[i];
}
float Average(int arr[],int n)
{
    int i;
    float aver;
    int sum=arr[0];
    for(i=1;i<n;++i)
    {
        sum=sum+arr[i];
        aver=sum/n;
        return(aver);
    }
}
void ReverseOrder(int arr[],int n)
{
    int i=0;
    int j=n-1;
    while(i<j)
    {
        int t=arr[i];
        arr[i]=arr[j];
        arr[j]=t;
        i++,j--;
    }
   
}
收到的鲜花
  • 林月儿2015-06-05 22:16 送鲜花  49朵   附言:good good study,day day up.
搜索更多相关主题的帖子: include 平均值 键盘 元素 
2015-06-05 21:55
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
程序代码:
#include<stdio.h>
void Input(int arr[],int n);
void Output(int arr[],int n);
float Average(int arr[],int n);
void ReverseOrder(int arr[],int n);

int main(int argc, char *argv[]){
  int arr[10];
  Input(arr,10);
  float aver=Average(arr,10);
  printf("平均值:%.2f\n",aver);
  Output(arr,10);
  return 0;
}
void Input(int arr[],int n){
    int i;
    for(i=0;i<n;++i){
        printf("请输入第%d个整数:  \n",i+1);
//        scanf("%d",&arr[i]);
        arr[i]=i+1;
    } 
}
void Output(int arr[],int n){
    int i;
    printf("逆序输出的结果是: "); 
    for(i=n-1;i>=0;i--){
        printf("%d",arr[i]);
        
    }
}
float Average(int arr[],int n){
    int i;
    float aver;
    int sum=arr[0];
    for(i=1;i<n;++i){
        sum=sum+arr[i];
        aver=1.0*sum/n;
        return(aver);
    }
}
void ReverseOrder(int arr[],int n){
    int i=0;
    int j=n-1;
    while(i<j){
        int t=arr[i];
        arr[i]=arr[j];
        arr[j]=t;
        i++,j--;
    }
    
}

剑栈风樯各苦辛,别时冰雪到时春
2015-06-05 22:15
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 
程序代码:
#include<stdio.h>
void Input(int arr[],int n);
void Show(const int arr[], int n);
void Output(int arr[],int n);
float Average(int arr[],int n);
int main(int argc, char *argv[])
{
    int arr[10];   

    Input(arr,10);
    Show(arr,10);
    Output(arr,10);
    printf("这10个数的平均值是:%.2f\n",Average(arr,10));

    return 0;
}
void Input(int arr[],int n)
{
    int i;
    for(i=0;i<n;++i)
    {
        printf("请输入第%d个整数:  ",i+1);
        scanf("%d",&arr[i]);
    }
}
void Show(const int arr[], int n)
{
    int i;   

    printf("你输入的%d个数分别是:\n",n);
    for(i=0;i<n;i++)
    {
        printf("%d\t",arr[i]);
    }
    printf("\n");
}
void Output(int arr[],int n)
{
    int i;
    printf("逆序输出的结果是: \n");
    for(i=n-1;i>=0;i--)
    {
        printf("%d\t",arr[i]);     

    }
}
float Average(int arr[],int n)
{
    int i;
    int sum=0.0;
    for(i=1;i<n;++i)
    {
        sum+=arr[i];
    }
    return sum/n; 

}
//void ReverseOrder(int arr[],int n)
//{
//    int i=0;
//    int j=n-1;
//    while(i<j)
//    {
//        int t=arr[i];
//        arr[i]=arr[j];
//        arr[j]=t;
//        i++,j--;
//    }
//  

//} 
收到的鲜花
  • 林月儿2015-06-05 22:36 送鲜花  5朵   附言:我很赞同
2015-06-05 22:28
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
回复 3楼 hjx1120
很好,我自愧不如。

剑栈风樯各苦辛,别时冰雪到时春
2015-06-05 22:36
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 
去掉了一个小BUG,从发一次
程序代码:
#include<stdio.h>
void Input(int arr[],int n);
void Show(const int arr[], int n);
void Output(const int arr[],int n);
float Average(int arr[],int n);
int main(int argc, char *argv[])
{
    int arr[10];   

    Input(arr,10);
    Show(arr,10);
    Output(arr,10);
    printf("这10个数的平均值是:%g\n",Average(arr,10));

    return 0;
}
void Input(int arr[],int n)
{
    int i;
    for(i=0;i<n;++i)
    {
        printf("请输入第%d个整数:  ",i+1);
        scanf("%d",&arr[i]);
    }
}
void Show(const int arr[], int n)
{
    int i;   

    printf("你输入的%d个数分别是:\n",n);
    for(i=0;i<n;i++)
    {
        printf("%d\t",arr[i]);
    }
    printf("\n");
}
void Output(const int arr[],int n)
{
    int i;
    printf("逆序输出的结果是: \n");
    for(i=n-1;i>=0;i--)
    {
        printf("%d\t",arr[i]);     

    }
}
float Average(int arr[],int n)
{
    int i;
    int sum=0.0;
    for(i=1;i<n;++i)
    {
        sum+=arr[i];
    }
    return sum/n; 

}

2015-06-05 22:36
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
程序代码:
#include<stdio.h>
void Input(int arr[],int n);
void Show(const int arr[], int n);
void Output(const int arr[],int n);
float Average(int arr[],int n);
int main(int argc, char *argv[]){
    int arr[10];   
    Input(arr,10);
    Show(arr,10);
    Output(arr,10);
    printf("这10个数的平均值是:%g\n",Average(arr,10));
    return 0;
}
void Input(int arr[],int n){
    int i;
    for(i=0;i<n;++i){
        printf("请输入第%d个整数:  ",i+1);
         scanf("%d",&arr[i]); 
    }
}
void Show(const int arr[], int n){
    int i;    
    printf("你输入的%d个数分别是:\n",n);
    for(i=0;i<n;i++)
        printf("%d\t",arr[i]);
    printf("\n");
}
void Output(const int arr[],int n){
    int i;
    printf("逆序输出的结果是: \n");
    for(i=n-1;i>=0;i--)
        printf("%d\t",arr[i]);     
}
float Average(int arr[],int n){
    int i;
    int sum=0;
    for(i=0;i<n;++i)
        sum+=arr[i];
    return 1.0*sum/n; 
}

就这样吧

剑栈风樯各苦辛,别时冰雪到时春
2015-06-05 22:44
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 
为了自定义定函数的整齐,我又改了下下,不过,我觉得,代码还得重写,
因为有除法,精确考虑,用double 数据类型会更好一点~!
程序代码:
#include<stdio.h>
void Input(int arr[],int n);
void Show(const int arr[], int n);
void Output(const int arr[],int n);
float Average(int arr[],int n);
int main(int argc, char *argv[])
{
    int arr[10];   

    Input(arr,10);
    Show(arr,10);
    Output(arr,10);
    Average(arr,10);

    return 0;
}
void Input(int arr[],int n)
{
    int i;
    for(i=0;i<n;++i)
    {
        printf("请输入第%d个整数:  ",i+1);
        scanf("%d",&arr[i]);
    }
}
void Show(const int arr[], int n)
{
    int i;   

    printf("你输入的%d个数分别是:\n",n);
    for(i=0;i<n;i++)
    {
        printf("%d\t",arr[i]);
    }
    printf("\n");
}
void Output(const int arr[],int n)
{
    int i;
    printf("逆序输出的结果是: \n");
    for(i=n-1;i>=0;i--)
    {
        printf("%d\t",arr[i]);     

    }
}
float Average(int arr[],int n)
{
    int i;
    float sum=0.0;
    float aver;
    for(i=1;i<n;++i)
    {
        sum+=arr[i];
    }
    aver=sum/n;
    printf("这%d个数的平均值是:%g\n",n,aver);

}

收到的鲜花
  • 林月儿2015-06-05 22:51 送鲜花  3朵   附言:真的累了,你继续改吧
2015-06-05 22:46
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
for(i=1;i<n;++i)      //这为啥下标从1开始
    {
        sum+=arr[i];
    }
    aver=sum/n;      //sum为float也行,之前的话乘以1.0就好        
    printf("这%d个数的平均值是:%g\n",n,aver);

剑栈风樯各苦辛,别时冰雪到时春
2015-06-05 22:50
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 
回复 8楼 林月儿
输入的时候可能把0输入成1了,太粗心了
2015-06-05 22:52
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 
回复 8楼 林月儿
那个1好像好像是楼主大人的代码,我们俩好像都忘了改了,哎呀呀~~
2015-06-05 22:55
快速回复:帮我看看我写的程序,麻烦帮我修改修改,谢谢!!
数据加载中...
 
   



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

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