1、(2) Define structure variable, and initialize the variable.(3) sum all the number of days in the year stored in the variable sum, if meeting a leap year, sum=sum+1;#include stdio.hstruct date int year; int month; int day;void main() struct date d; int sum=0; printf(n input the date:n); scanf(%d%d%d,
2、&d.year,&d.month,&d.day); switch(d.month) case 1:sum=0;break; case 2:sum=31; case 3:sum=31+28; case 4:sum=31+28+31; case 5:sum=31+28+31+30; case 6:sum=31+28+31+30+31; case 7:sum=31+28+31+30+31+30; case 8:sum=31+28+31+30+31+30+31; case 9:sum=31+28+31+30+31+30+31+31; case 10:sum=31+28+31+30+31+30+31+3
3、1+30; case 11:sum=31+28+31+30+31+30+31+31+30+31; case 12:sum=31+28+31+30+31+30+31+31+30+31+30; sum+=d.day; /* 天数累加 */ if(d.month2) /* 闰年处理 */ if(d.year%400=0|d.year%100!=0&d.year%4=0) sum+=1;Total: %dn,sum);Run the program :(1) Input a legal(合理的) date, Print Screen of Result:(2) Input a date with an
4、 illegal(不合理的) month, Print Screen of Result:(3) Input a date with an illegal day, Print Screen of Result:(4) Rewrite the program, so it can give the right result under any condition.重编,满足所有情况Print Screen of code: if(d.month=12) else printf(“error”);PART3 Input and output of the structure.Fill in th
5、e blank . Write a program to initialize初始化 an array of structures through 来自keyboard键盘, and then output the value of the array.输出值#include string.hmain() struct date int year; ;struct stu char num12; char name20; char sex; int age; struct date birthday; ;typedef struct stu STU;STU student3;int i;/*p
6、rogram*/*using for loop to input the three elements*/*end*/ for(i=0;i3;i+) printf(nstudent%d num:%s;name:sex:%c;age:%d;birthday:%d.%d.%d,i,studenti.num,studenti.name,studenti.sex,studenti.age,studenti.birthday.year,studenti.birthday.month,studenti.birthday.day); getch();PART4 Passing Arrays of struc
7、tures.What does the following program print?struct infochar item20;double cost; ;void someFunction(struct info );int main(void)struct info data4 = nut, 0.50, bolt, 0.75 ;someFunction(data);for(i = 0; i 0.60 )strcpy( valuesi+2.item, washer );valuesi+2.cost = 0.40;elsehammervaluesi+2.cost = 12.00;PART
8、5 Type Conversions.(1) Automatic conversionsmain( ) int a,b=550; char c=7; float f1=3.142,f2; a=b/c; /* integer divided by a character */ printf(“a=%dn”,a); a=f1; /* float to integer conversion */ f1=%fa=%dn,f1,a); f1=b; /* integer to float conversion */ b=%df1=%fnb,f1); f2=b/50.0;/* integer divided by a float */ b=%d,f2=%fn,b,f2);(2) Type casting float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1