我在输入后运行输出时出现问题。 我输入变量后输出没有显示,我不知道如何设置代码.. 所以,如果你们可以帮助我,那将是非常感激的..
#include <stdio.h>
#include <conio.h>
int read_temps (float temps[]);
int hot_days (int numOfTemp, float temps[]);
int printf_temps (int numOfTemp, float temps[], int numOfHotDays);
int main (void) {
int index = 0;
float tempVal;
float temps[31];
int numOfTemp, numOfHotDays;
do {
printf ("Enter the temperature:");
scanf ("%f", &tempVal);
if (tempVal!=-500.0) {
temps[index] = tempVal;
index++;
}
} while (tempVal != -500.0);
return ;
{
int i;
int count = 0;
for (i = 0; i < numOfTemp; i++) {
if (temps[i] > 32.0)
count++;
}
return count;
}
{
float sum = 0.0;
int i;
printf ("\nInput Temperatures:");
printf ("\n-------------------------");
for (i = 0;i < numOfTemp; i++) {
printf ("\nDay %d : %.2fF", i+1, temps[i]);
sum = sum + temps[i];
}
printf ("\nNumber of Hot Days : %d", numOfHotDays);
printf ("\nAverage Temperature: %.2f", sum/numOfTemp);
}
{
clrscr ();
numOfTemp = read_temps (temps);
numOfHotDays = hot_days (numOfTemp, temps);
clrscr ();
printf_temps (numOfTemp, temps, numOfHotDays);
getch ();
}
}
答案 0 :(得分:3)
return ;
你刚刚告诉你的功能停止执行。
这正是你告诉它的。
答案 1 :(得分:2)
这实际上是一项很好的努力。你完美地完成了代码逻辑,只是它们没有正确排列。
您希望从main
嵌入自己范围中的main
调用子函数。这样做不会很好。
您需要做的是先将它们移到main
之外并添加其声明行。然后你需要从main
打电话给他们。换句话说,就像这样:
#include <stdio.h>
int read_temps (float temps[]);
int hot_days (int numOfTemp, float temps[]);
int printf_temps (int numOfTemp, float temps[], int numOfHotDays);
int main (void) {
int index = 0;
float temps[31];
int numOfTemp, numOfHotDays;
// The code to call them has been cleaned up.
numOfTemp = read_temps (temps);
numOfHotDays = hot_days (numOfTemp, temps);
printf_temps (numOfTemp, temps, numOfHotDays);
return 0;
}
// All the functions that were subsumed in main
// have been separated and properly defined here.
int hot_days (int numOfTemp, float temps[]) {
int i;
int count = 0;
for (i = 0; i < numOfTemp; i++) {
if (temps[i] > 32.0)
count++;
}
return count;
}
int printf_temps (int numOfTemp, float temps[], int numOfHotDays) {
float sum = 0.0;
int i;
printf ("\nInput Temperatures:");
printf ("\n-------------------------");
for (i = 0;i < numOfTemp; i++) {
printf ("\nDay %d : %.2fF", i+1, temps[i]);
sum = sum + temps[i];
}
printf ("\nNumber of Hot Days : %d", numOfHotDays);
printf ("\nAverage Temperature: %.2f\n", sum/numOfTemp);
}
int read_temps (float temps[]) {
int index = 0;
float tempVal;
do {
printf ("Enter the temperature:");
scanf ("%f", &tempVal);
if (tempVal!=-500.0) {
temps[index] = tempVal;
index++;
}
} while (tempVal != -500.0);
return index;
}
我基本上执行了以下步骤:
conio
等非标准内容。main
移动到它们所属的其他函数。下面的记录显示了一个样本运行:
Enter the temperature:3
Enter the temperature:4
Enter the temperature:5
Enter the temperature:6
Enter the temperature:50
Enter the temperature:-500
Input Temperatures:
-------------------------
Day 1 : 3.00F
Day 2 : 4.00F
Day 3 : 5.00F
Day 4 : 6.00F
Day 5 : 50.00F
Number of Hot Days : 1
Average Temperature: 13.60
答案 2 :(得分:1)
你不应该在函数main()
中返回任何内容答案 3 :(得分:0)
您在函数结束前使用过return;
。
这将创建死代码,因此函数将无法按预期工作。