1. 编写一个c语言程序,输入一个年月日,输出这个日期是这一年的第几天。(考虑闰年)
#include <stdio.h>
void main()
{
int year=0,month=0,day=0,i=0,sum=0;
while(1)
{
printf("请输入年份:");
scanf("%d",&year);
printf("请输入月份:");
scanf("%d",&month);
printf("请输入日期:");
scanf("%d",&day);
i=0;//i变量是为了控制月和日的格式是否输入正确;
switch(month)//判断每个月的日期是否输入正确;
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(day>0&&day<=31)
{
i=1;
}
break;
case 4:
case 6:
case 9:
case 11:
if(day>0&&day<=30)
{
i=1;
}
break;
case 2://2月闰年可以输入29日;
if((year%4==0&&year%100!=0)||year%400==0)
{
if(day>0&&day<=29)
{
i=1;
}
}
else
{
if(day>0&&day<=28)
{
i=1;
}
}
break;
default://如果输入不是1-12月份,那么月份输入有误;
i=0;
break;
}
if(i)//如果i变量为1,那么输入正确,否则重新输入;
{
break;
}
else
{
printf("请输入正确的年月日!!! ");
}
}
i=0;
switch(month)//把每个月的日期累加;
{
case 12:
i=i+30;
case 11:
i=i+31;
case 10:
i=i+30;
case 9:
i=i+31;
case 8:
i=i+31;
case 7:
i=i+30;
case 6:
i=i+31;
case 5:
i=i+30;
case 4:
i=i+31;
case 3:
if((year%4==0&&year%100!=0)||year%400==0)
{
i=i+29;
}
else
{
i=i+28;
}
case 2:
i=i+31;
case 1:
;
}
sum=i+day;
printf("%d年%d月%d日是%d年的第%d天 !",year,month,day,year,sum);
}
拓展资料
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
2. c语言输入一个天数,输出对应的年月天
#include<stdio.h>
intmain()
{
inti,n=0,year=0,month=0,day=0;
printf("请输入天数<输入-1退出测试>:");
scanf("%d",&n);
while(n!=-1)
{
while(n>=360)
{
n-=360;
year++;
}
while(n>=30)
{
n-=30;
month++;
}
while(n>0)
{
n--;
day++;
}
printf("%d年%d月%d日 ",year,month,day);
year=month=day=0;
printf("请输入天数<输入-1退出测试>:");
scanf("%d",&n);
}
return0;
}
3. C语言中如何把月日年输出为年月日
这要看原来的程序中,月日年是怎么组织的?如果分别存放在三个变量中,那么只要把这三个变量的输出顺序交换一下就可以了。
例如,
int y,m,dm,d;
printf("请输入月 日 年:");
scanf("%d%d%d",&m,&d,&y);
printf("%d年%d月%d日",y,m,d);
4. C语言,求年月日
首先判定年份是不是闰年,其次你使用各数组把年份的月存储下来(分闰年和平年),然后用一个循环来叠加和你输入的第二个数做笔记如果小了继续叠加,在叠加的过程中使用一个计数器,那个就是月份,当叠加的数大于那个天数了,再做差计算式那个月的第几天!
5. C语言:输入身份证号,输出出生年月日
C语言,数字不能和字符串运算。
如果仅为了这样输出,可以全部用字符数组变量。
char year[5],month[3],day[3];
...
charyears[5],month[3],day[3];
...
while(i>=6&&i<10)
{
years[i-6]=str[i];
i++;
}
while(i>=10&&i<12)
{
month[i-10]=str[i];
i++;
}
while(i>=12&&i<14)
{
day[i-12]=str[i];
i++;
}
printf("你是%s年%s月%s日出生的人 ",years,month,day);
这是没有使用字符串操作函数也没有使用指针的方法。
6. c语言输出年月日
下面是这段代码,配合注释体会一下吧
#include <stdio.h>
void MonthDay(int year,int yearDay,int *pMonth,int *pDay);
int main()
{
int year,yearDay,month,day;
scanf("%d%d",&year,&yearDay);//输入年份和天数
MonthDay(year,yearDay,&month,&day);
printf("%d-%d-%d",year,month,day);
return 0;
}
void MonthDay(int year,int yearDay,int *pMonth,int *pDay)
{
int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};//这个数组保存每月的天数
if(year%4==0&&year%100!=0||year%400==0)//判断是否为闰年
days[1]=29;//闰年的二月有29天
*pMonth=1;//从一月开始看
while(yearDay>days[*pMonth-1])//如果哪一天超出这个月
{
yearDay-=days[*pMonth-1];//求出超出此月的天数
(*pMonth)++;//继续考虑下一月
}
*pDay=yearDay;
}
7. C语言输入年份和天数输出对应的年月日
C语言输入年份和天数输出对应的年月日的源代码如下:
#include<iostream>
intday(int&year,int&month);
intmain()
{
intyear{};
intmonth{};
std::cout<<"请输入年和月(空格隔开):";
std::cin>>year>>month;
std::cout<<"该月天数:"<<day(year,month)<<' ';
return0;
}
(7)c语言中输出年月日的例子扩展阅读
1、C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime> 头文件。
2、有四个与时间相关的类型:clock_t、time_t、size_t和tm。类型 clock_t、size_t 和 time_t 能够把系统时间和日期表示为某种整数。