-2
我有這樣的代碼:問題與C程序
#include <stdio.h>
#include<conio.h>
main(){
float promAnual=0.0;
int numMeses, numToneladas,i, suma = 0, mesTon = 0;
float toneladas[12];
for(i = 1; i < 13; i++){
printf("Ingrese la cantidad de toneladas del mes #%d->", i);
scanf("%f", &toneladas[i]);
}
for(i = 1; i < 13; i++){
suma = suma + toneladas [i];
}
promAnual = suma/12.0;
for(i = 1; i < 13; i++){
if(toneladas[i]>promAnual){
numMeses = numMeses + 1;
}
}
numToneladas = 0;
mesTon = 0;
for(i = 1; i < 13; i++){
if(toneladas[i]>toneladas[i+1]){
mesTon = i;
numToneladas = toneladas[i];
}
}
printf("El promedio anual es: %0.2f, %d mes(es) tuvieron mayor cosecha que el promedio anual, y el mayor numero de toneladas se produjo en el mes #%d con %0.2f", promAnual,numMeses,mesTon, numToneladas);
}
的問題是,在最後的printf的最後2個變量都出現了錯誤的價值觀,我知道爲什麼,但我不知道如何解決它,這是因爲最後的「for」是分配最後一個「我」的值,但我不知道如何解決它。
你的編譯器警告你什麼?也許你應該問一個關於*的問題,首先! – Sebivor
問題是錯誤的。它應該包含以下細節:a)代碼應該做什麼,b)**期望的輸出是什麼**,c)**實際輸出是什麼**。這些信息都不在您的問題中。 –
編譯所有警告和調試信息(例如,如果使用[GCC](http://gcc.gnu.org/)...),則使用'gcc -Wall -g'。改善你的(錯誤的)代碼以獲得沒有警告。然後**使用調試器**('gdb') –