| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 744 人关注过本帖
标题:请教一下各位前辈,函数返回值的问题
取消只看楼主 加入收藏
luohaishan
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-1-23
收藏
 问题点数:0 回复次数:0 
请教一下各位前辈,函数返回值的问题
已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。
   例如:9123,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。9812,9-8-1-2<0,则该数不满足条件计算平均值pjz2。
    部分源程序存在文件prog1.c中。
    程序中已定义数组:a[300],已定义变量:cnt,pjz1,pjz2。
    请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
#include <stdio.h>
int a[300],cnt=0;
double pjz1=0.0,pjz2=0.0;

jsValue()
{int i,qw,bw,sw,gw,n=0;
 for(i=0;i<300;i++)
   {qw=a[i]/1000;    bw=a[i]%1000/100;
    sw=a[i]%100/10;  gw=a[i]%10;
    if(qw-bw-sw-gw>0) {cnt++;pjz1+=a[i];}
    else {n++;pjz2+=a[i];}
   }
 if(cnt==0) pjz1=0;
 else pjz1/=cnt;
 if(n==0) pjz2=0;
 else pjz2/=n;
}

main()
{
 int i;

 readDat();
 jsValue();
 writeDat();
 printf("cnt=%d\n满足条件的平均值pzj1=%7.2f\n不满足条件的平均值pzj2=%7.2f\n",cnt,pjz1,pjz2);
}

readDat()
{
 FILE *fp;
 int i;
 fp=fopen("in.dat","r");
 for(i=0;i<300;i++)fscanf(fp,"%d,",&a[i]);
 fclose(fp);
}

writeDat()
{
 FILE *fp;
 int i;
 fp=fopen("out.dat","w");
 fprintf(fp,"%d\n%7.2f\n%7.2f\n",cnt,pjz1,pjz2);
 fclose(fp);
}


请问函数不是只有一个返回值吗,如果要使用到里面的几个值,不是得用指针,那位什么上面那个jsValue()函数,直接调用后,下面就能用上他里面的值了

[[it] 本帖最后由 luohaishan 于 2008-8-4 15:04 编辑 [/it]]
搜索更多相关主题的帖子: cnt 前辈 位数 平均值 函数 
2008-08-04 14:57
快速回复:请教一下各位前辈,函数返回值的问题
数据加载中...
 
   



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

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