C语言第十一章习题答案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

11.1

#include

struct date

{

int year;

int month;

int day;

}date;

void main()

{

static int day_table[]={31,28,31,30,31,30,31,31,30,31,30,31};

int i,day_sum;

printf("输入年,月,日\n\n");

scanf("%d%d%d",&date.year,&date.month,&date.day);

day_sum=0;

for(i=0;i

day_sum+=day_table[i];

day_sum+=date.day;

if((date.year%4==0)&&(date.year%100!=0)||(date.year%400==0)&&(date.m onth>2))

day_sum+=1;

printf("\n\n该日在本年中是第%d天\n\n",day_sum);

}

11.2

#include

struct date

{

int year;

int month;

}date;

void main()

{

int days(int y,int m,int d);

printf("输入年,月,日\n\n");

scanf("%d%d%d",&date.year,&date.month,&date.day);

printf("\n\n该日在本年中是第%d天

\n\n",days(date.year,date.month,date.day));

}

int days(int y,int m,int d)

{

static int day_table[]={31,28,31,30,31,30,31,31,30,31,30,31}; int i,day_sum;

day_sum=0;

for(i=0;i

day_sum+=day_table[i];

day_sum+=date.day;

if((y%4==0)&&(y%100!=0)||(y%400==0)&&(m>2))

day_sum+=1;

return day_sum;

}

11.3

#include

#define N 2

struct stu

{

int num;

char name[10];

float score[3];

}stu[N];

void main()

{

void print(struct stu *p);

int i,j;

struct stu *p;

p=stu;

for(i=0;i

{

printf("\n\n输入第%d个学生的成绩\n\n",i+1);

printf("输入学号:");

scanf("%d",&((p+i)->num));

printf("\n输入姓名:");

scanf("%s",(p+i)->name);

for(j=0;j<3;j++)

{

printf("\n输入成绩%d:",j+1);

scanf("%f",&((p+i)->score[j]));

}

}

print(stu);

}

void print(struct stu *p)

{

int i,j;

printf("学号姓名成绩1 成绩2 成绩3\n\n"); for(i=0;i

{

printf("%-8d%-8s",(p+i)->num,(p+i)->name);

for(j=0;j<3;j++)

{

printf("%-8f",(p+i)->score[j]);

}

printf("\n\n");

}

}

11.4

#include

#define N 2

struct stu

{

int num;

char name[10];

float score[3];

}stu[N];

void main()

{

void input(struct stu *p);

void print(struct stu *p);

struct stu *p;

p=stu;

input(p);

print(p);

}

void input(struct stu *p)

{

int i,j;

for(i=0;i

{

printf("\n\n输入第%d个学生的成绩\n\n",i+1);

printf("输入学号:");

scanf("%d",&((p+i)->num));

printf("\n输入姓名:");

scanf("%s",(p+i)->name);

for(j=0;j<3;j++)

{

printf("\n输入成绩%d:",j+1);

scanf("%f",&((p+i)->score[j]));

}

}

}

void print(struct stu *p)

{

int i,j;

printf("学号姓名成绩1 成绩2 成绩3\n\n"); for(i=0;i

{

printf("%-7d%-7s",(p+i)->num,(p+i)->name);

for(j=0;j<3;j++)

{

printf("%-9.2f",(p+i)->score[j]);

}

相关文档
最新文档