基本上我这周的作业是:
写三个函数: 一个在提供两个整数时返回较低的整数。 另一个返回两个提供的整数中的较高者。 第三个返回两个提供的整数的平均值 为了测试你的函数,写一个程序提示输入两个整数,然后 打印出较低的,然后是较高的,然后是平均值。 您的程序应包含函数原型(prototype)。
无论如何,正如我之前提到的,我似乎对这个模块有真正的困难 - 尽管它是我的最爱。
到目前为止,这是我的代码(令人尴尬)。我不知道我的逻辑应该在 int 主线之上还是之下。总的来说真的很困惑。我一直在努力使用这个模块(远远超过所有其他模块),但仍然觉得自己像个迷路的 child 。
#include <stdio.h>
#include <stdlib.h>
int getLow(int num1 int num2);
int getHigh(int num1 int num2);
int getAvg(int num1 int num2);
int main()
{
int lores, hires, avres;
printf("Enter two integers:\n");
scanf("%i %i", &num1, &num2);
int getLow(int num1, int num2){
if (num1 < num2){
printf("%i is the lowest\n", num1);}
if (num1 > num2){
printf("%i is the lowest\n", num2);}}
int getLow(int num1, int num2){
if (num1 > num2){
printf("%i is the highest\n", num1);}
if (num1 < num2){
printf("%i is the highest\n", num2);}}
int getAvg(int num1, int num2)
getAvg = (num1 + num2) / 2;
printf("%i is the average of the two integers\n", getAvg);
return 0;
}
最佳答案
#include <stdio.h>
#include <stdlib.h>
int getLow(int num1, int num2);
int getHigh(int num1, int num2);
float getAvg(int num1, int num2);
int main()
{
int num1, num2, avres;
printf("Enter two integers:\n");
scanf("%i %i", &num1, &num2);
float avg = getAvg(num1, num2);
printf("The smallest number is %d", getLow(num1, num2));
printf("The largest number is %d", getHigh(num1, num2));
printf("%f is the average of the two integers\n", avg);
return 0;
}
float getAvg(int num1, int num2)
{
return (num1 + num2) / 2.;
}
int getLow(int num1, int num2)
{
if (num1 < num2)
{
return num1;
}
else
{
return num2;
}
}
int getHigh(int num1, int num2)
{
if (num1 > num2)
{
return num1;
}
else
{
return num2;
}
}
关于c - 功能和程序分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40506092/