标题:这题用 while 怎么做.?
只看楼主
xiaohoo
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-11-14
结帖率:75%
已结贴  问题点数:10 回复次数:1 
这题用 while 怎么做.?
#include <stdlib.h>
#include <stdio.h>
main()
{
 int a,*p,sum=0;
 float t=0;
 if((p=(int*)malloc(10*sizeof(int)))==NULL) /*请求一个10个连续存储空间的内存*/
 {
   printf("......");
    return 1;                               /*返回若是0,提示空间不足*/
 }
  for(a=0;a<10;a++)

   {
       scanf("%d",&p[a]);                       /*把值赋给*p指针*/

         sum+=p[a];                         /*计算和*/
             }

          t=sum/10;                         /*平均值*/


         printf("t=%5.2f sum=%d",t,sum);          /*输出结果*/

           free(p);                      /*释放内存*/

             p=NULL;


        getch();

         return 0;
}                     意思就是我输入的数字不一定是10个..而且要求平均值..
搜索更多相关主题的帖子: 空间 include return 平均值 
2009-11-17 00:00
xy4919961
Rank: 5Rank: 5
等 级:职业侠客
帖 子:199
专家分:362
注 册:2009-10-24
得分:10 
#include <stdlib.h>
#include <stdio.h>
#defeine M 100
main()
{
 int a=0,*p,s,sum=0;
 float t=0;
 if((p=(int*)malloc(M*sizeof(int)))==NULL) /*请求一个100个连续存储空间的内存*/
 {
   printf("......");                      /*返回若是1,提示空间不足*/

      return 1;                              
    }
do
  {
      a++;
   if(scanf("%d",&p[a])!=EOF)

          {sum+=p[a];s=1;}

        else s=0;
               }while(s);

          t=(float)sum/(a-1);

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

      free(p);                            /*释放内存*/

            p=NULL;                      /* p的首地址指向NULL */

      getch();

         return 0;
}                       不知道是不是你要的..是有错的话。专家帮改下..

[ 本帖最后由 xy4919961 于 2009-11-17 00:33 编辑 ]

QQ群:96348241
2009-11-17 00:24



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




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

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