C语言编程。

反复从键盘上输入一个年份,没输入年份,就输出该年是平年还是闰年,然后询问是否还需要判断其他年份(Y/N),用户选Y则要求用户输入其他年份并做判断,如此反复,指导用户输入N为止。要用while语句

第1个回答  2012-04-22

加好好友吧,代码已经写好了,在我的qq空间;

先上图:

补充回答: 

你刚学?也接触不到那么多啊?

还是好好打基础吧

追问

这学期开始学的

追答

学期xué qī (1)〖term;semester〗小学、中学或大学的每学年分出的若干学习阶段之一。 (2)〖half year〗学年之春季部分或秋季部分。,学期指学校教学年度的分期,或指 学年内所划分的若干阶段

第2个回答  2012-04-22
#include <stdio.h>
#include <conio.h>
main()
{
int year;
char choice;
clrscr();
do
{
printf("Input the year!");
scanf("%d",&year);
if(year%4==0&&year/100!=0||year/400==0)
printf("This year has 366 days.");
else
printf("This year has 365 days.");
fflush(stdin); /*这个是清除键盘缓冲区,因为你输入年份后要敲个回车,会有个回车符在缓冲区,后面的choice就会被跳过*/
printf("\nEnter the Y or y to continue.");
scanf("%c",&choice);
}while(choice=='y'||choice=='Y');
}
不过我建议,只要知道怎么判断闰年然后自己动手比较好。
第3个回答  2012-04-26
只是给你一些小问题,但也发生了变化,现在确定。
已编译运行确认足够的详细评论:)

#包括<stdio.h>
诠释的主要(无效)
{
INT I,J,K,M,周一,Y;
一个int天(N,INT米);/ /函数声明
INT(INT N,诠释y)月;
INT年(Y);
printf(“请请输入年份:”);
fflush(stdin)中;
的scanf(“%D”,&Y);
printf(“请请输入月份:”);
fflush(stdin)中;
的scanf(“%D”,及星期一);
(Y <1)/ /输入为0或者一个负的错误
printf的(“我不能告诉你,今年的^ _ ^ \ N”);
其他
{
我=年(Y);/ /处理程序,以确定它是否是一个闰年,这个函数的返回值是今年的一周的第一天
printf(“请这一年是%d,月,是为%d \ N”,Y,星期一);

J =月(周一,Y);/ /处理程序,这个函数返回每月扣除的天数。
K =日(I,J);/ /处理程序,要通过这一个月的参数,在一周的第一天,I,J,这个月需要扣除的天数。
I = K;
}
返回0;
}

年(Y)/ /判断是否是闰年
{
X,I,J = 0;
(I = 1; I <Y; I + +)/ /这里,今年第一年来推断
{
如果((I%4 == 0)&&(I%100 = 0))
J + +
否则,如果(I%400 == 0)
J + + ;/ /只要因为它是一个闰年,J 1,这是计算的天数时,填充上一个闰年日
}
X =((Y-1900)* 365 +1 + J)%7 ;/ /这是确定的查询年1月一周
返回x ;/ / X返回今年,在一周的第一天
}

月(N,诠释y)/ /此函数用来处理与一个月
{
输出(============%D%============= \ N。“,Y,N);
如果(N == 1 | | N == 3 | | N == 5 | | N == 7 | | N == 8 | | N == 10 | | N == 12)/ /设置个月31天,所以在过去的几个月需要返回的天数为0
返回0 ;/ /返回要扣除的天数,这几个月不需要扣除
否则,如果(N == 4 | | N == 6 | | | N | N == 9 == 11)
返回1 ;/ /这几个月需要扣除有一天
否则,如果(N == 2)/ /二月真的有麻烦了,你需要分开处理。如果是闰年扣除了两天,如果不扣除3天
{
如果((Y%4 == 0)&&(Y%100 = 0))
返回2;
否则,如果(Y%400 == 0)
返回2;
否则返回3;
}
}

一个int天(N,INT米)/ /这是处理程序
{
I,J,天[31],K;
(I = 0; I <31; I + +)
一天[I] = I +1;
输出(“周日周一周二周三周四周五周六\ N”);/ /打印出上述的周数
(N <7)
{
如果(N <0)N + = 7;
(I = 0; I <N,I + +)
{
(J = 0; J <3; J +)printf(“请”);
printf的(“”);
}

(I = 0; I <31米; I + +)
{
输出(“%3D”,一天[I]);
((I +1 + N)%7 == 0)/ /每7天换一个行重新启动输出
printf的(“\ N”);
}
}
printf的(“\ N”);
K =(31-M + N)的7%;
返回K-
}
第4个回答  2012-04-22
是VB程序吧追问

是VC,计算机作业,刚学C语言

追答

哦,明天让我同事帮你。先前学过忘记了。

追问

非常感谢,但是作业明天要交的。。。

相似回答