
char *name[] = { "Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
}
typedef struct date
{
int year
int month
int day
enum WeekDay weekday
}date
int main()
{
date d
printf("Day: ")fflush(stdout)
scanf("%d",&d.day)
printf("Month: ")fflush(stdout)
scanf("%d",&d.month)
printf("液塌Year: ")fflush(stdout)
scanf("%d",&d.year)
if ((d.month == 1) || (d.month == 2)){
d.month += 12
d.year--
}
d.weekday = (WeekDay)((d.day + 2*d.month + 3*(d.month+1)/5 + d.year + d.year/4 - d.year/橘卖100 + d.year/400) % 7)
printf("%d-%d-%d is %s.\n",d.year, d.month, d.day, name[d.weekday])
return 0
}
其中的公式参考:
http://www.cppblog.com/qywyh/articles/14021.html
希望能解决圆埋逗你的问题
正好有个现成的:#include"stdio.h"#define yes 1
#define no 0typedef struct date
{
int year
int month
int day
}DATE
long timedef(DATE d1,DATE d2)
int leap(int year)
int main()
{
DATE date1,date2
date1.year=2008
date1.month=11
date1.day=1
date2.year=2009
date2.month=12
date2.day=1 printf("%ld\n",timedef(date1,date2))}
int leap(int year)
{
if(year%400==0 ||(year%4==0&&year%100!=0))
return yes
else
return no
}
long timedef(DATE d1,DATE d2)
{
int i
long day=0,dayt1=0,dayt2=0
int d[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}}
for(i=d1.yeari<d2.yeari++)
if(leap(i)==no) day+=365
else day+=366 for(i=1i<d1.month++i) dayt1+=d[leap(d1.year)][i]
dayt1+=d1.day for(i=1i<d2.month++i) dayt2+=d[leap(d2.year)][i]
dayt2+=d2.day return day+dayt2-dayt1
}
#include "stdio.h"
void main(){
struct Student{
char id[10]
char name[10]
int score
}
stu = {"001", "Sam", 80}
printf("%s\t%s\t%d", stu.id, stu.name, stu.score)
}
扩展资料在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型缓嫌(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
C++提供了许多种基本的数据类型(如int、float、double、char等)供用户使用。但是由于程序需要处理的问题往往比较复杂,而且呈多样化,已有的数据类型显得不能满足使用要求。
因此C++允许用户根据需要自己声明一些类型,用户可以自己声明的类型还有结构体升裤类型(structure)、共用体类型(union)、枚举类型(enumeration)、类类型(class )等,吵哪简这些统称为用户自定义类型(user-defined type,UDT)。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)