|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
0. 用户输入年份,打印该年每个月的天数。
注:2 月份以外,除了 1、3、5、7、8、10 和 12 月份有 31 天,其它月份均是 30 天;闰年的 2 月份是 29 天,非闰年是 28 天。
程序实现如下图(注意打印格式):
我写的:
#include <stdio.h>
int main(){
int years;
printf("请输入一个年份:");
scanf("%d", &years);
if(years % 4 == 0 && years % 100 != 0 || years % 400 == 0){
int run[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
for(int i = 0; i < 12; i++){
printf("%i月份:%d天\n", i + 1, run[i]);
}
}else{
int ping[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
for(int i = 0; i < 12; i++){
printf("%i月份:%d天\n", i + 1,ping[i]);
}
}
return 0;
}
问题出在了定义数组的地方。C语言中,定义数组时不能直接赋值,需要逐个元素赋值。
你可以改成这样:
#include <stdio.h>
int main(){
int years;
printf("请输入一个年份:");
scanf("%d", &years);
if(years % 4 == 0 && years % 100 != 0 || years % 400 == 0){
int run[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
for(int i = 0; i < 12; i++){
printf("%d月份:%d天\n", i + 1, run[i]);
}
}else{
int ping[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
for(int i = 0; i < 12; i++){
printf("%d月份:%d天\n", i + 1, ping[i]);
}
}
return 0;
}
这样就可以正确地打印出每个月的天数了。注意在循环中,使用 `run[i]` 和 `ping[i]` 分别获取对应月份的天数。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
|
|