满意答案
h0p2znym
推荐于 2017.09.26
采纳率:56% 等级:9
已帮助:513人
根据闰年定义,能被400整除的年,或者能被4整除且不是100的倍数的,是闰年。于是C中判断year是否为闰年的方法可以写作
if(year % 400 ==0 || year %4 ==0 && year %100 != 0)
算法设计如下:
1 遍历1990到2000;
2 对每个年份,进行判断,如果是闰年,按照要求输出。
代码:
int main(){ int n,c; for(n = 1990; n <= 2000; n ++) { if((n % 400 ==0 || n %4 ==0 && n %100 != 0)) { printf(&qu乏龚催夹诎蝗挫伟旦连ot;%d,",n); c ++; if(c%3==2)printf("\n"); } }}
2016-07-08 00:12c语言中没有退行的操作,你自己设计好了在输出才行
2016-07-08 00:15%-4d是用于C语言输出的格式字符串,可以用于printf类函数,包括printf, sprintf, fprintf,vfprintf,vprintf,vsprintf,snprintf,vsnprintf,vasprintf等等。
各种函数中的含义是相同的,都是按照10进制形式输出整数值,输出值范围如果不足4列宽度,那么按4列宽度输出,否则按实际宽度输出。 输出结果数值在左侧,右侧用空格补足。
%-4d的四个字符每个都有各自的功能,具体如下:
1 %:格式字符串的引导标识,每个格式字符串必须以%开头。
2 -: 输出的内容左侧为有效数据,右侧为补足字符。
3 4:输出占4列宽度,不足用空格补齐,超出按实际长度输出。
4 d: 按照10进制整型输出。
下面这个例子输出两行数据,每行五个数值:
#include int main(){printf("%-4d%-4d%-4d%-4d%-4d\n",1,12,123,123412,12345);printf("%-4d%-4d%-4d%-4d%-4d\n",23,123,2341,1,123456);return 0;}输出结果为
1 12 123 1234121234523 123 23411 123456从中可以看到其作用及缺陷。
对于低于4位的整数,可以很好的实现输出及对齐效果,比如例子中的第一列和第二列。
如果输出位数为4位,那么输出值和下一个输出间不会有分隔符,比如第二行的3 4两列,本来是2341和1,但输出的效果是一个数23411。
当数值超过4位时对齐效果会被打乱,同时与下一个输出见没有间隔。
比如第一行的第四列,输出数值为123412,与下一个12345没有分隔,同时第五列的12345本应与第二行的123456左对齐,但由于123412侵占了该位置,导致二者无法达成对齐效果。追问: 中间是不是少了一段?那个判断每个月第一天是星期几的在哪里
追答:首先肯定没有少哟
得到了该年的元旦是周几
然后根据每月的天数递推的出来的
追问: 是函数“int year firstday”吗?
追答:这个是一年的第一天是星期几 具体到月应该是在输入每个月的第一行的时候就判断了
追问: 现在的问题就是不知道怎么按季度输出了T_T
00分享举报