所以我的程序读取数字直到值 0 然后它计算数字的总和。然后我必须编写一个显示总和的函数。另外,我的程序从键盘读取了一个数字“y”,我需要找到 sum/y 的结果。例如,如果和的结果是 10 并且我输入 y=3,则函数结果应该返回 10 的结果/3。
所以在程序显示总和的结果后,它要求我再次输入值直到 0 值然后它关闭。
#include <stdio.h>
// Shows a message with what the program is doing.
void ShowIntroduction(void)
{
printf("My program finds a sum etc");
}
// find the sum of the numbers enter until 0 value
int sum(void)
{
int s=0,n;
do
{
scanf("%d",&n);
if (n > 0)
s=s+n;
}
while(n != 0);
return s;
}
// show the result
void sumResult(int a)
{
printf("The sum is %d", a);
}
// find the result of sum/y
double result(int s,int y)
{
double res;
res=s/(double)(y);
return res;
}
int main()
{
int y;
scanf("%d",&y);
ShowIntroduction();
sumResult(sum());
result(sum(),y);
return 0;
}
我很确定我没有以正确的方式调用函数。
程序显示总和但不显示总和的结果 / y
您调用了sum()
两次,一次用于显示总和,另一次用于显示平均结果。但是因为你让用户在里面输入他们的价值观,所以sum()
你会看到你描述的行为。
只需按原样运行您的程序并输入两次相同的数字序列。然后你应该看到总和和平均值。这只是为了让您了解您的程序。
解决方案是将 返回的总和存储sum()
在一个变量中,并将其值赋给sumResult()
和result()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句