2022-2023-1 20221408《计算机基础与程序设计》第十三周学习总结

第十三周学习总结

作业信息

  • 这个作业属于哪个课程:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
  • 这个作业的要求在哪里:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK13
  • 这个作业的目标:总结本周学习内容
  • 作业正文:https://www.cnblogs.com/liudi20221408/p/16919793.html

教材学习内容总结

C语言程序设计

  • 结构体由struct和其后的结构体名组成
  • 结构体的名字称为结构体标签
  • 结构体应进行初始化
  • 当结构体中出现另一个结构体时成为结构体的嵌套
  • 不能直接使用结构体的成员变量名访问结构体变量的成员
  • 结构内可以包含多种数据类型
  • 指针做函数参数实现数组中值的调换
    • 整数指针做参数
      • 函数:
      • temp=*x;
        *x=*y;
        *y=temp;
      • 主函数:

      • for(i=0;i<n;i++)
        {
             swap(&a[i],&b[i]);
        }
    • 字符指针做函数参数
      • void Swap(char *pa, char *pb)
        {
            char temp;
            temp = *pa;
            *pa = *pb;
            *pb = temp;
        }

代码运行中遇到的问题及解决方法

  • 问题一:同样的代码在code::blocks中能够正常运行,而在哈工大系统中运行出来的结果却是随机数

 

  •  问题一解决过程:在网上查找资料,发现是因为编译器不同导致了不同的结果,我找到的例子是因为越界访问,目前不知道我的问题出现在哪里,以下是我的源代码
 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 int  DayofYear(int year, int month, int day);
 4 void  MonthDay(int year, int yearDay, int *pMonth, int *pDay);
 5 int main()
 6 {
 7     int choose,month,year,day,yearDay,pMonth,pDay;
 8     printf("1. year/month/day -> yearDay\n2. yearDay -> year/month/day\n3. Exit\nPlease enter your choice:");
 9     scanf("%d",&choose);
10     switch(choose)
11     {
12         case 1:
13             printf("Please enter year, month, day:");
14             scanf("%d,%d,%d",&year,&month,&day);
15             yearDay=DayofYear(year,month,day);
16             printf("yearDay = %d",yearDay);
17             break;
18         case 2:
19             printf("Please enter year, yearDay:");
20             scanf("%d,%d",&year,&yearDay);
21             MonthDay(year,yearDay,&pMonth,&pDay);
22             printf("month = %d, day = %d\n",pMonth,pDay);
23             break;
24         case 3:
25             exit(0);
26     }
27 }
28 int  DayofYear(int year, int month, int day)
29 {
30     int i,j,yearDay;
31     int monthday[2][12]= {{31,29,31,30,31,30,31,31,30,31,30,31},{31,28,31,30,31,30,31,31,30,31,30,31}};
32     if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
33     {
34         i=0;
35     }
36     else
37     {
38         i=1;
39     }
40     for(j=0; j<(month-1); j++)
41     {
42         yearDay+=monthday[i][j];
43     }
44     yearDay+=day;
45     return yearDay;
46 }
47 void  MonthDay(int year, int yearDay, int *pMonth, int *pDay)
48 {
49     int i,j;
50     int monthday[2][12]={{31,29,31,30,31,30,31,31,30,31,30,31},{31,28,31,30,31,30,31,31,30,31,30,31}};
51     if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
52     {
53         i=0;
54     }
55     else
56     {
57         i=1;
58     }
59     for(j=0;j<12;j++)
60     {
61         yearDay-=monthday[i][j];
62         if(yearDay<0)
63             break;
64     }
65     *pMonth=j+1;
66     *pDay=yearDay+monthday[i][j];
67 }

 

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)
第一周 150/150 2/2 17/17
第二周 100/250 1/3 15/32
第三周 200/450 2/5 16/48
第四周 230/680 2/7 17/65
第五周 200/880 2/9 20/85
第六周 350/1230 5/14 14/99
第七周 470/1700 1/15 15/114
第八周 530/2230 2/17 14/128
第九周 480/2710 1/18 14/142
第十周 570/3280 1/19 13/155
第十一周 670/3950 1/20 15/170
第十二周 580/4530 1/21 16/186
第十三周 710/5240 1/21 13/199
posted @ 2022-11-27 18:30  20221408柳笛  阅读(24)  评论(0编辑  收藏  举报