带你学C带你飞S1E17动动手0题
求问哪里出现问题?{:10_266:}#include<stdio.h>
int main()
{
int b,c,a,i;
printf("请输入一个年份:\n");
scanf("%d",b);
for(i=0;i<=11;i++)
{
a=i+1;
if(a==1||a==3||a==5||a==7||a==8||a==10||a==12)
{
printf("%d月份:31天\n",a);
}
else if(a=2)
{
if ((b % 4 == 0 && b % 100 != 0)||(b % 400 == 0))
{
c=29;
printf("%d月份:%d天\n",a,c);
}
else
{
c=28;
printf("%d月份:%d天\n",a,c);
}
}
else
{
printf("%d月份:30天\n",a);
}
}
return 0;
} 本帖最后由 jackz007 于 2022-4-29 22:11 编辑
#include <stdio.h>
int main(void)
{
int b[] = {31,28,31,30,31,30,31,31,30,31,30,31} , m , y ;
printf("请输入年份 : ") ;
scanf("%d" , & y) ;
if((! (y % 4) && (y % 100)) || ! (y % 400)) b ++ ;
for(m = 1 ; m < 13 ; m ++) printf("%2d 月份:%d 天\n" , m , b) ;
}
编译、运行实况:
D:\\>g++ -o x x.c
D:\\>x
请输入年份 : 2022
1 月份:31 天
2 月份:28 天
3 月份:31 天
4 月份:30 天
5 月份:31 天
6 月份:30 天
7 月份:31 天
8 月份:31 天
9 月份:30 天
10 月份:31 天
11 月份:30 天
12 月份:31 天
D:\\>x
请输入年份 : 2020
1 月份:31 天
2 月份:29 天
3 月份:31 天
4 月份:30 天
5 月份:31 天
6 月份:30 天
7 月份:31 天
8 月份:31 天
9 月份:30 天
10 月份:31 天
11 月份:30 天
12 月份:31 天
D:\\> scanf("%d",&b);此处错。
a数组不可 以这么用。a=i+1改成a,i不用+1,上面for循环i已经自增,而且a数组中要有值,不然没数值后面if判断如何比大小。
下面if判断数组改成这样a==1 || a==3 || a==5 || a ==7 || a==8 || a==10 || a==12
还有printf();中相应的数组都要加上下标比如写成如下格式:printf("%d月份:31天\n",a); 一眼就能看出的问题啊:
else if(a=2) hehex 发表于 2022-4-26 18:16
一眼就能看出的问题啊:
else if(a=2)
不是不是,这个贴子吞的 ,原来代码有a zyek00 发表于 2022-4-26 07:14
scanf("%d",&b);此处错。
a数组不可 以这么用。a=i+1改成a,i不用+1,上面for循环i已经自增,而且a数组中要 ...
好的我去试试看,最后那个问题是我不知道为什么我的帖子会吞【】i把i放进去就吞了 zyek00 发表于 2022-4-26 07:14
scanf("%d",&b);此处错。
a数组不可 以这么用。a=i+1改成a,i不用+1,上面for循环i已经自增,而且a数组中要 ...
第一个要怎么改呀?因为题目要求要输入年份呀 scanf("%d",&b); jackz007 发表于 2022-4-25 22:30
编译、运行实况:
谢谢大佬
页:
[1]