| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 742 人关注过本帖
标题:请教一下各位前辈,函数返回值的问题
只看楼主 加入收藏
luohaishan
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-1-23
收藏
 问题点数:0 回复次数:4 
请教一下各位前辈,函数返回值的问题
已知数据文件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
lingluoz
Rank: 2
来 自:苏州科技学院
等 级:新手上路
威 望:4
帖 子:749
专家分:0
注 册:2008-2-2
收藏
得分:0 
因为它用了全局变量
int a[300],cnt=0;
double pjz1=0.0,pjz2=0.0;
仔细观察你可以发现它在int main()外面定义的
它对所有函数都是可见的

Murphy's Law :
If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
2008-08-04 15:22
lingluoz
Rank: 2
来 自:苏州科技学院
等 级:新手上路
威 望:4
帖 子:749
专家分:0
注 册:2008-2-2
收藏
得分:0 
就是说所有的函数都可以使用并且修改它

Murphy's Law :
If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
2008-08-04 15:23
kissmahao
Rank: 1
来 自:山东聊城
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-5-20
收藏
得分:0 
main函数里 定义的那个i 是干什么的啊.

2008-08-04 15:49
陈豪俊
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-8-1
收藏
得分:0 
好似全国c语言的上机题
2008-08-04 15:58
快速回复:请教一下各位前辈,函数返回值的问题
数据加载中...
 
   



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

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