我正在为一个需要为课堂编写的程序而苦苦挣扎。我需要编写一个程序,从用户那里读取城市名称,然后要求用户输入月份,后跟逗号,然后输入该月的平均降雨量。这是手头的任务:
编写一个程序,从用户那里读取某个城市的季度降雨量数据并将其显示在屏幕上。您的程序必须提示用户以下信息:
城市名称。您可以假设它最多为 50 个字符。
每个月收到的月份和降雨量。您可以假设,对于每个月,用户将在一行中输入接收到的月份值和降雨量值,用逗号分隔,月份长度为三个字符。
以字段宽度和精度表示的输出格式。
然后,您的程序必须计算平均降雨量并产生符合以下规范的输出:
显示城市名称,后跟一个空行。
对于每个月降雨量值,在用户指定的字段宽度中显示左对齐的月份名称,然后在 15 个空格宽的字段中显示使用定点符号格式化的右对齐月份的降雨量,具有用户指定的精度.
最后用空行跟随上个月的降雨量,然后在单独的行上显示句子“平均降雨量:”在用户指定的字段宽度中左对齐,然后是平均降雨量,以用户指定的精度和固定点符号右对齐15 格宽的场地。
现在这是我的代码到目前为止,我正在努力让代码正确让用户输入他自己的逗号,代码编译并运行,但在输入第一个月后按回车后它不会打印下个月的行详细信息,它只留下一个空行:
int main ()
{
char cityName[50];
char monthName[3];
char comma;
float aveRain = 0;
int monthCount = 1;
float aveResult = 0;
int fieldWidth;
int outputPrecision;
puts("This program calculates the average quarterly rainfall for a given city.");
printf("Enter the name of the city: ");
scanf("%s" , &cityName[50]);
while( monthCount <= 3 )
{
printf( "Enter the month and average rainfall of month %d: " , monthCount);
scanf( "%s %s %f" , &monthName[3] , &comma , &aveRain);
monthCount = monthCount + 1;
}
}