c语言使用结构体的一道题?

结构体功能要求可以读取年月日,然后输出下一天的日期

第1个回答  2019-12-29
#include<stdio.h>
struct DATE {
int year;
int month;
int day;
};
void push(int d[12],int*year,int*month,int*day) {
if(*day<d[*month-1])
(*day)++;
else if(*day>d[(*month)-1])printf("error input!");
else if(*month<12)(*month)++,*day=1;
else (*year)++,*month=1,*day=1;
}
int main(void)
{
int d1[12]= {31,28,31,30,31,30,31,31,30,31,30,31},d2[12]= {31,29,31,30,31,30,31,31,30,31,30,31};
struct DATE before;
scanf("%d%d%d",&before.year,&before.month,&before.day);
if((before.year%4==0&&before.year%100!=0)||before.year%400==0)push(d2,&before.year,&before.month,&before.day);
else push(d1,&before.year,&before.month,&before.day);
printf("%d年%d月%d日",before.year,before.month,before.day);
return 0;
}追答

请及时采纳呦~

本回答被提问者和网友采纳

c语言使用结构体的一道题?
int d1[12]= {31,28,31,30,31,30,31,31,30,31,30,31},d2[12]= {31,29,31,30,31,30,31,31,30,31,30,31};struct DATE before;scanf("%d%d%d",&before.year,&before.month,&before.day);if((before.year%4==0&&before.year%100!=0)||before.year%400==0)push(d2,&bef...

c语言结构体问题想问一下a【i】.s什么意思?谢谢!
a是结构体数组,i是这个数组的第i个结构体;a[i]同一个类型数据的一个指针,这儿是判断s指向的这个结构里的成员s是否比a[i]里的s大;s是指向结构数组a的某一个值,这实际就是比较结构数组a里面的2个元素的s的值的大小。例:struct A { int s;}a[i];A *s;...

C语言,结构体题目,怎么做,求大神修改一下
int j;struct Student temp;for(i=n-1; i>0; i--){ for(j=0; j<i; j++){ if(stu[j].chinese<stu[j+1].chinese){ temp=stu[j];stu[j]=stu[j+1];stu[j+1]=temp;} } } for(i=0; i<n; i++)printf("%2d%10s%2c%4d%6.2f%6.2f%6.2f\\n",stu[i].num,stu[i...

C语言结构体编程题,求助大神啊
一、教师信息定义为结构体,其成员年月也为结构体(可直接定义成两个成员变量,本题没有强制要求),婚姻状态采用共用体类型。二、输入信息直接写在main函数,实际软件开发应单独写输入函数,输入验证我只写了性别和婚姻状态的验证,其余成员的输入验证需要自己添加。(实际开发,验证也应单独写函数调用)。

一道关于C语言结构体数组问题,
struct student { char id[20];char subject[20];char name[20];float score[3];float total;float average;} stud[100];int main(){ int i,max=0,n,m;printf("please input the number of student:\\n");scanf("%d",&n);printf("ID\\tsubject\\tname\\tMT\\tEN\\tPH\\n\\n"...

关于C语言的题目:用结构体定义一个复数,并实现复数的加法、减法和乘法...
int re;int im;};void add(struct complex a, struct complex b, struct complex *c){ c->re=a.re+b.re;c->im=a.im+b.im;} void minus(struct complex a, struct complex b, struct complex *c){ c->re=a.re-b.re;c->im=a.im-b.im;} int main(){ struct complex x...

c语言结构体问题,27,26求详解,程序如下
1,rec[10]代表的是建立1个结构体数组,数组的元素是结构体;2、*pr=rec,这语句是pr是结构体指针,指向数组第一个元素,也就是rec[0];所以,A选项就错在,它没有明确是数组的哪个结构体,应该跟D选项一样;BC都是利用的指针,没毛病。27题:student 只是结构体名称,而,stu1,*p是结构体变量...

c语言结构体问题
c语言结构体问题 strucrstd{intid;charname[];};stduser[100];intmain(){如何在100到500的id中间找到一个id并修改修改后的id不能和整个user[100]里所有的id重复重复提示重新录入按0取消}... strucr std{ int id; char name[];};std user[100];int main(){ 如何在100到500的id中间找到一个id并修改...

C语言结构体题目?
define N 3\/\/可以改为10表示10条图书信息 typedef struct ss{ int bianhao;char shu[80];char ren[20];double qian;} SHU;int main(){ SHU a[N];SHU m,t;int i,len,j;for (i = 0; i <N; i++){ printf("输入第%d本书的编号\\n",i+1);scanf("%d",&a[i].bianhao);...

一道简单的c语言结构体题
\/\/学生数据指针int num; \/\/学生数量} Table;\/*获取学生表中的学生指针*\/Member * getMember(Table* table, int n) {if (n <= table->num && n > 0)return table->men +n - 1;elsereturn 0;}int main() {Table table;\/\/结构体char i;Member * p;printf("请输入5个学生的学号...

相似回答