注册 登录
编程论坛 C++教室

求大神帮忙,给我的程序提一个建议(初学者,很简单的小程序)

牧童不知道 发布于 2014-04-08 17:32, 457 次点击
题目:
小红为了提高自己的编程水平,她每日都会刷一定量的水题,并且每日的AC数目记下来。

N日过去了,数学没学好的小红想要知道自己平均每天AC了几道题,于是她找上了聪明的你,你能帮小红这个忙吗?Input输入包含多组测试数据。
每组数据占一行,首先是天数(1 <= n <= 1,000,000),随后跟有n个整数Ni,代表第i天的AC数目。保证总 AC 数目小于 2^31 -1(= =)。Output对于每组数据,你只需要输出一个数Average,表示史老师平均每天的AC数目,结果保留两位小数,每组数据占一行。
Sample Input
4 3 5 6 2
3 1 0 1
Sample Output
4.00
0.67
我的程序:
#include"stdio.h"
main()
{
int i=0,n,j;
double m,k=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{scanf("%d",&j);
k=k+j;
}
m=k/n;
printf("%.2f\n",m);
}
2 回复
#2
rjsp2014-04-09 08:36
你这到底是要C语言还是C++语言的代码?

如果是C语言,且你用的编译器是符合C语言标准的
程序代码:
#include <stdio.h>

int main()
{
    for( unsigned n; scanf("%u",&n)==1; )
    {
        unsigned sum = 0;
        for( unsigned i=0; i!=n; ++i )
        {
            unsigned item;
            scanf( "%u", &item );

            sum += item;
        }

        printf( "%.2f\n", sum*1.0/n );
    }

    return 0;
}

如果你要的是C++语言,将上面代码中的 #include <stdio.h> 改为 #include <cstdio> 就行

如果你要的是C语言,但不是标准C语言,而是被废弃的古老C89
程序代码:
#include <stdio.h>

int main()
{
    unsigned n;
    for( ; scanf("%u",&n)==1; )
    {
        unsigned sum = 0;

        unsigned i;
        for( i=0; i!=n; ++i )
        {
            unsigned item;
            scanf( "%u", &item );

            sum += item;
        }

        printf( "%.2f\n", sum*1.0/n );
    }

    return 0;
}

#3
牧童不知道2014-04-09 17:04
回复 2楼 rjsp
谢谢您了,这次终于通过了,不过您能帮忙看一下我的程序的问题在哪儿吗
1