C程序设计(第五版)第9章课后习题答案

1.用c语言编程 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。

第2题也是这个


#include<stdio.h>
int data(struct days d); 
struct days{
    int year;
    int month;
    int day;
}d;
int main()
{
    int n;
    printf("请输入年,月,日:\n");
    scanf("%d%d%d",&d.year,&d.month,&d.day);
    n=data(d);
    printf("%d年%d月%d日是%d年的第%d天\n",d.year,d.month,d.day,d.year,n);
}
int data(struct days d)
{
    int smonth[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    int i,sum=0;
    for(i=0;i<d.month;i++)
       sum+=smonth[i];
    sum+=d.day;
    if(d.month>2&&((d.year%4==0&&d.year%100!=0)||d.year%400==0)) 
        sum++;
    return sum;
}


3.编写一个函数print,打印一个学生的成绩数组


#include<stdio.h>
struct student{
       int num;
       char name[];
       int score[3]; 
}s[5];
int print(struct student s[])
{
    int i,j;
     for(i=0;i<5;i++)
     { printf("%5d%10s\t",s[i].num,s[i].name);    
          for(j=0;j<3;j++)
              printf("%d\t",s[i].score[j]);
            printf("\n");     
     }


}
int main()
{
    /*struct student s[5]={ {"1","zhaoda","90","90","90"},{"2","wanger","90","90","90"},
                          {"3","zhangsan","90","90","90"},{"4","lisi","90","90","90"},{"5","sunwu","90","90","90"}};*/
    printf("请输入学号,姓名,三个成绩:\n");
    int i,j;
    for(i=0;i<5;i++)
    {    printf("请输入第%d学生的学号:\n",i+1);
         scanf("%d",&s[i].num);    
         printf("请输入第%d学生的姓名:\n",i+1);
         scanf("%s",s[i].name);    
         printf("请输入第%d学生的三个成绩:\n",i+1);
          for(j=0;j<3;j++)
              scanf("%d",&s[i].score[j]);     
    }
    print(s);
     

}
 


4.编写一个函数print,打印一个学生的成绩数组,写一个函数input,用来输入5个学生的数据的记录


#include<stdio.h>
struct student{
       int num;
       char name[];
       int score[3]; 
}s[5];
int input(struct student s[])
{    
    int i,j;
    for(i=0;i<5;i++)
    {    printf("请输入第%d学生的学号:\n",i+1);
         scanf("%d",&s[i].num);    
         printf("请输入第%d学生的姓名:\n",i+1);
         scanf("%s",s[i].name);    
         printf("请输入第%d学生的三个成绩:\n",i+1);
          for(j=0;j<3;j++)
              scanf("%d",&s[i].score[j]);     
    }
}
int print(struct student s[])
{
    int i,j;
     for(i=0;i<5;i++)
     { printf("%5d%10s\t",s[i].num,s[i].name);    
          for(j=0;j<3;j++)
              printf("%d\t",s[i].score[j]);
            printf("\n");     
     }


}
int main()
{
    /*struct student s[5]={ {"1","z

  • 9
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值