[英]having an issue about the output in c programming ..
我在輸入后運行輸出時遇到問題..在輸入變量后不顯示輸出,並且我不知道如何設置代碼..因此,如果你們可以幫助我,那將不勝感激..
#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 ();
}
}
return ;
您只是告訴您的函數停止執行。
它確實按照您的指示進行。
這實際上是一個很好的努力。 您已經完美地完成了代碼邏輯,只是它們的排列不正確。
您具有要從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
而且您不應該在函數main()中返回任何內容
您已使用return;
在函數結束之前。 這將創建無效代碼 ,因此功能將無法正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.