C program 问题
时间:2013-11-25
来源:互联网
总共 loop 3次就得, thanks
e.g.
enter a float: 0.1
cumulative sum is <0.1>
enter a float: 1.2
cumulative sum is <1.3>
作者: simonlau 发布时间: 2013-11-25
作者: Susan﹏汪汪 发布时间: 2013-11-25
个function系用黎update 个cumulative sum (pass by reference)
[ 本帖最后由 simonlau 於 2013-10-25 08:12 AM 编辑 ]
作者: simonlau 发布时间: 2013-11-25
楼主有没有写了的code看
#include <stdio.h>
int main ()
{
void getNumSum(float);
float fSum;
int count;
for (count = 1; count <= 3; count++)
{
printf("Enter a float number: "

scanf("%f", &fSum);
printf("The current accumulative sum is <%f>", fSum);
getNumSum(fSum);
}
return 0;
}
void getNumSum(float aSum)
{
aSum = aSum + aSum;
}
作者: simonlau 发布时间: 2013-11-25
作者: fitcat 发布时间: 2013-11-25
有
#include
int main ()
{
void getNumSum(float);
float fSum;
int count;
for (count = 1; count
int main ()
{
void getNumSum(float); //function宣告不可以放在function(main)内
float fSum; //最好先初始化 float fSum = 0;
int count;
for (count = 1; count <= 3; count++)
{
printf("Enter a float number: ");
scanf("%f", &fSum);
printf("The current accumulative sum is <%f>", fSum);
getNumSum(fSum);
}
return 0;
}
void getNumSum(float aSum) //呢到只系pass by value...请再查下pass by reference的做法
{
aSum = aSum + aSum; //呢到只是输入的数字乘2...并不是楼主题目的累加数字
}
作者: Susan﹏汪汪 发布时间: 2013-11-25

作者: simonlau 发布时间: 2013-11-25
但要将by 黎既reference 既value 累加既式应该系点?

void getNumSum(float &aSum); //pass by reference
void getNumSum(float *aSum); //pass by pointer
作者: Susan﹏汪汪 发布时间: 2013-11-25
个loop如果每一次都将输入store 系fSum
就算我将个fsum pass 去 getNumSum() 既aSum到store
第2次loop时佢点样可以将个再pass过黎既fSum 同第1次pass既 相加??

[ 本帖最后由 simonlau 於 2013-10-27 12:20 AM 编辑 ]
作者: simonlau 发布时间: 2013-11-25
其实我系唔明点样
个loop如果每一次都将输入store 系fSum
就算我将个fsum pass 去 getNumSum() 既aSum到store
第2次loop时佢点样可以将个再pass过黎既fSum 同第1次pass既 相加??

作者: Susan﹏汪汪 发布时间: 2013-11-25

void getNumSum(float *);
float ref;
int main ()
{
float fSum;
fSum = 1;
int count;
for (count = 1; count <= 3; count++)
{
printf("Enter a float number: "

scanf("%f", &fSum);
if (count == 1)
printf("The current accumulative sum is <%f>\n", fSum);
else
if (count >= 2)
printf("The current accumulative sum is <%f>\n", fSum + ref);
getNumSum(&fSum);
}
return 0;
}
void getNumSum(float *aSum)
{
ref = *aSum;
}
作者: simonlau 发布时间: 2013-11-25
如果咁样既话我第1次同第2次loop得, 但第3次又唔得

void getNumSum(float *);
float ref;
int main ()
{
float fSum;
fSum = 1;
int count;
for (count = 1; count = 2)
printf("The ...
作者: Susan﹏汪汪 发布时间: 2013-11-25

系咪static? 同埋要点用 thanks
作者: simonlau 发布时间: 2013-11-25
但我唔识咩reserved word 可以 将ref 收到既value 累加

系咪static? 同埋要点用 thanks
void getNumSum(float &, float);
int main ()
{
float fSum = 0, temp; //fSum用来记录累加...temp用来保存当前的输入
int count;
for (count = 1; count <= 3; count++)
{
printf("Enter a float number: ");
scanf("%f", &temp); //当前的输入
getNumSum(fSum, temp); //加起来并保存在fSum
printf("The current accumulative sum is <%f>", fSum); //输出fSum
}
return 0;
}
void getNumSum(float &fSum, float buffer)
{
fSum += buffer; //把输入加在fSum
}
作者: Susan﹏汪汪 发布时间: 2013-11-25

我明白啦, thanks
作者: simonlau 发布时间: 2013-11-25
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28