| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 244 人关注过本帖
标题:请教一下各位前辈,函数返回值的问题
收藏  订阅  推荐  打印
luohaishan
Rank: 1
等级:新手上路
帖子:3
积分:130
注册:2007-1-23
请教一下各位前辈,函数返回值的问题

已知数据文件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()函数,直接调用后,下面就能用上他里面的值了

[ 本帖最后由 luohaishan 于 2008-8-4 15:04 编辑 ]
2008-8-4 14:57
lingluoz
Rank: 4
来自:苏州科技学院
等级:高级会员
威望:3
帖子:616
积分:6610
注册:2008-2-2

因为它用了全局变量
int a[300],cnt=0;
double pjz1=0.0,pjz2=0.0;
仔细观察你可以发现它在int main()外面定义的
它对所有函数都是可见的

MAY 1, 1964 -- The Birth of BASIC
Over 40 years later, it still enables ANYONE to write their own programs.
P.S. 革命尚未成功 同志仍需努力
2008-8-4 15:22
lingluoz
Rank: 4
来自:苏州科技学院
等级:高级会员
威望:3
帖子:616
积分:6610
注册:2008-2-2

就是说所有的函数都可以使用并且修改它

MAY 1, 1964 -- The Birth of BASIC
Over 40 years later, it still enables ANYONE to write their own programs.
P.S. 革命尚未成功 同志仍需努力
2008-8-4 15:23
kissmahao
Rank: 1
来自:山东聊城
等级:新手上路
帖子:6
积分:162
注册:2007-5-20

main函数里 定义的那个i 是干什么的啊.

2008-8-4 15:49
陈豪俊
Rank: 1
等级:新手上路
帖子:7
积分:204
注册:2008-8-1

好似全国c语言的上机题
2008-8-4 15:58
共有 243 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.050573 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved