标题:个位大侠帮帮忙.
只看楼主
xiaohoo
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-11-14
结帖率:75%
已结贴  问题点数:10 回复次数:1 
个位大侠帮帮忙.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define M 20
main()
{
  float sp[M];
  float *ps[M]={NULL},t;
  int i,j,sum;
    while(scanf("%f",&sp)=='\n')
     {
       ps[i]=(float *)malloc(sizeof(float));/*请求空间*/

        if(ps==NULL)
       {

           printf("Sorry,the lack of space ");/*空间不足提示*/

             return 1;
         }
           *(ps[i])=sp[i];/*输入的数给ps[i]*/

             sum+=*(ps[i]);

              j=i++;
                   }
               t=sum/j;/*求平均值*/

            printf("%5.2f %d",t,sum);

           getch();

             return 0;
}
          这段程序肯定是有错。个位大侠帮帮忙.错误很多阿。.会的帮改下..而且错很多。

[ 本帖最后由 xiaohoo 于 2009-11-15 23:02 编辑 ]
搜索更多相关主题的帖子: 空间 include return 
2009-11-15 22:54
zhangxf1989
Rank: 6Rank: 6
等 级:侠之大者
帖 子:96
专家分:419
注 册:2009-9-5
得分:10 
程序代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define M 20
main()
{
    float sp[M];       /*在TC2.0中使用float类型的数组可能会出错,这是一个TC2.0的BUG*/
    float *ps[M]={NULL},t;
    int i=0,j=0,sum=0;    /*注意数据初使化*/
    while (i<20&&(scanf("%f",&sp[i])==1))/*注意检查数组下标是否越界,scanf函数返回1表示输入成功,返回0表示输入错误*/
    {
        ps[i]=(float *)malloc(sizeof(float));/*请求空间*/

        if (ps[i]==NULL)   /*搞不懂你分配的内存的作用*/
        {

            printf("Sorry,the lack of space ");/*空间不足提示*/

            return 1;
        }
        *(ps[i])=sp[i];        /*输入的数给ps[i]*/

        sum+=*(ps[i]);

        i++;
        j++;
    }
    if(j>0)        /*小心除零*/
    {
        t=sum/j;/*求平均值*/
        printf("%5.2f %d",t,sum);
    }
    getch();
    return 0;
}

最后动态分配的内存记得要释放!
2009-11-22 11:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-292419-1-1.html




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

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