一、PTA实验作业

6-2 按等级统计学生成绩

1. 本题PTA提交列表

2. 设计思路

  1. 定义icount存放不及格人数
  2. for i=0 to n-1{
  3. 判断 score的值的范围
  4. if 100>=score>=85 p->grade='A'
  5. if else 84>=score>=70 p->grade='B'
  6. if else 69>=score>=60 p->grade='C'
  7. else p->grade='D' count自增
  8. }
  9. 返回 count }

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明。

这题较简单 没有问题

6-4 结构体数组按总分排序

1. 本题PTA提交列表

2. 设计思路

  1. 第一个函数{
  2. 定义ij
  3. for i=0 to n-1 循环一次p下移{
  4. for j=0 to 2 {
  5. 访问sumsum+=score算出sum
  6. }end for
  7. }end for
  8. }
  9. 第二个函数{
  10. 定义ij
  11. 定义结构变量temp
  12. 选择排序法排序
  13. }

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明。



发现了几个问题,一是没有把所以数据输出,而且没有排序



一调试就发现if后面没有{} 导致if 后面只执行一句

7-2 时间换算

1. 本题PTA提交列表

2. 设计思路

  1. 定义time结构{hour,minute,second}
  2. 定义结构变量nowjust
  3. 输入 just.hour,just.minute,just.second
  4. 输入n
  5. just赋值给now
  6. now.second=now.second+n
  7. if second 超过60 second-60 minute+1{
  8. if minute 超过60 minute-60 hour+1{
  9. if hour 超过24 hour-24
  10. }
  11. }
  12. 输出 过了n秒后的时间

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明。



发现还没输入n,结果就输出来了,仔细看输入发现:是中文的,然后用英文的输入



随便用个时间发现可以,但是pta提交只有1分



发现输出格式出现问题

二、截图本周题目集的PTA最后排名

三、阅读代码

  1. 求线性表中所有奇数之和的算法
  2. #include <stdio.h>
  3. #define N 10
  4. typedef struct sqlist
  5.  {
  6.    int data[N];
  7.    int last;
  8.    }LIST; // 自定义数据类型,这样LIST可以代替结构变量出现在变量定义和参数声明的地方了
  9.  int Total(List list)
  10.  {
  11. int sum=0;
  12. for(int i=0;i<=list.last;i++){
  13.     if(list.data[i]%2); // 非0为奇数,sum加权求和
  14.        sum+=list.data[i];}
  15.   return sum;  
  16.  }
  17.  void Show(LIST list)
  18.  {
  19.    int i;
  20.    for(i=0;i<=list.last;i++)
  21.       printf("%3d", list.data[i]);
  22.    printf("\n");
  23.  }
  24. int main() //主函数只充当输入输出功能
  25.  {
  26.     LIST list;
  27.     int i,sum;
  28.     for(i=0;i<=5;i++)
  29.      list.data[i]=i;
  30.     list.last=5;
  31.     Show(list);
  32.     sum=Total(list);
  33.     printf("sum=%3d\n",sum);
  34.     return 0;
  35. }
  1. /*字符串部分复制*/
  2. include <stdio.h>  
  3. #include<string.h>  
  4. #define MAXN 20  
  5.   
  6. void strmcpy( charchar *t, int m, charchar *);  
  7.   
  8. int main()  
  9. {  
  10.     char t[MAXN]="happy new year", s[MAXN];   //主函数只充当输入输出功能
  11.     int m;  
  12.   
  13.     scanf("%d", &m);  
  14.     strmcpy( t, m, s );  
  15.     printf("%s\n", s);  
  16.   
  17.     return 0;  
  18. }  
  19.   void strmcpy( charchar *t, int m, charchar *){  
  20.     int i,j,len;  
  21.   
  22.     strcpy(s, t);   //字符串赋值的方式
  23.     len = strlen(s);  
  24.     printf("s = %s, len = %d\n", s, len);  
  25.     for(i=m-1;i>0;i--){   // 实现部分字符串复制
  26.         for(j=i;j<len;j++){  
  27.             *(s+j-1)=*(s+j);  
  28.         }  
  29.     }  
  30.     *(s+len-m+1)='\0';  
  31. }  

四、本周学习总结

1.你学会了什么?

结构体

  • 结构体实际上是c编译没有提供的数据类型,可以由程序员根据实际情况来自己构造的一种新的数据类型。

  • 结构体定义的一般格式为

  • struct 结构体名{

    数据类型 成员名 1;

    数据类型 成员名2;

    ……

    1. 数据类型 成员名n;

};

其中;struct是用来说明类型是结构体的关键字,结构体的定义描述了该结构体的组织形式。在程序执行时,结构体说明并不引起系统为该结构体分配空间。真正占用储存空间的是具有相应结构类型的变量。

共用体

  • 共用体是C语言中的一种数据类型,是指将不同类型的数据项存放于同一段内存单元的一种构造数据类型。特点:节省空间。
  • 定义格式为union 共用体类型名 {类型名 成员1; 类型名 成员2;···类型名 成员n;;} 共用体变量名表 ;与结构体一样,公用体变量的定义可以跟在结构体定义的后面,也可以在main函数中定义,格式为union 公用体名 共用体变量名

枚举

递归函数原理

  • 递归就是子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,是一种描述问题和解决问题的基本方法
  • 实际上,递归是把一个不能或不好解决的大问题转化为一个或几个小问题,再把这些小问题进一步分解成更小的问题, 直至每个小问题都可以直接解决。因此,递归有两个基本要素:

        (1)边界条件:确定递归到何时终止,也称为递归出口。

        (2)递归模式:大问题是如何分解为小问题的,也称为递归体。递归函数只有具备了这两个要素,才能在有限次计算后得出结果

2.罗列本周一些错题。



  • 结构变量之间相互赋值,应该是结构变量1=结构变量2


  • 当时对结构体预习不充分 ,第三步不懂

C语言博客作业-结构体的更多相关文章

  1. C语言博客作业--结构体,文件

    1.本章学习总结(2分) 1.1 学习内容总结 (1)结构体如何定义.成员如何赋值 结构体的一般形式为:      struct  结构体名     {      数据类型 成员名1:      数据 ...

  2. C语言博客作业—结构体

    一.PTA实验作业 题目1:结构体数组按总分排序 1. 本题PTA提交列表 2. 设计思路 void calc //函数calc求出p指针所指的结构体数组中 n 名学生各自的总分 { 定义循环变量i: ...

  3. c语言博客作业--结构体&文件

    1.本章学习总结 1.1思维导图 1.2.本章学习体会 本章学到了结构体如何构建,用typedef进行重定义结构体,结构指针,访问结构体的方式等. 文件:文件的读取,文件读写的几个函数,基本了解了文本 ...

  4. C语言第十次博客作业--结构体

    一.PTA实验作业 题目1: 结构体数组按总分排序 1. 本题PTA提交列表 2. 设计思路 求出每名学生的总分 定义i,j循环变量 for i=0 to n for j=0 to 3 p[i].su ...

  5. C语言博客作业06——结构体&文件

    C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...

  6. C语言博客作业6---结构体&文件

    C语言博客作业6---结构体&文件 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容.如下图所示: 1.2.学习体会 描述本周学习感受,也可以在这里提出你不理解地方.对 ...

  7. C语言|博客作业10

    问题 回答 C语言 博客作业10 这个作业要求在哪里 作业要求 我在这个课程的目标是 熟练循环语句的用法 这个作业在哪个具体方面帮助我实现目标 pta作业 参考文献 <C语言程序设计> 1 ...

  8. C语言博客作业5--指针

    C语言博客作业5--指针 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里 ...

  9. C语言博客作业4--数组

    C语言博客作业4--数组 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...

随机推荐

  1. iOS - EaseMob 环信的使用

    1.环信 环信使用的是 XMPP 协议,它是在 XMPP 的基础上进行的二次开发,对服务器 Openfire 和客户端进行功能模型的添加和客户端 SDK 的封装.环信的本质还是使用 XMPP,基于 S ...

  2. WPF自学入门(二)WPF-XAML布局控件

    上一篇介绍了xaml基本知识,我们已经知道了WPF简单的语法.那么接下来,我们要认识一下WPF的布局容器.布局容器可以使控件按照分类显示,我们一起来看看WPF里面可以使用哪些布局容器用来布局. 在WP ...

  3. 异常-----springmvc + ajaxfileupload解决ajax不能异步上传图片的问题。java.lang.ClassCastException: org.apache.catalina.connector.RequestFacade cannot be cast to org.springframework.web.multipart.

    说明这个问题产生的原因主要是form表单上传图片的时候必须是Content-Type:"multipart/form-data,这种格式的,但是ajax在页面不刷新的情况下去加载的时候只会把 ...

  4. JVM 调优系列之图解垃圾回收

    摘要: jvm必知系列,总结一些常见jvm回收机制,方便查阅 对于调优之前,我们必须要了解其运行原理,java 的垃圾收集Garbage Collection 通常被称为"GC", ...

  5. CASE WHEN用法

    问题:假如说这个条件有一条数据不满足,那么那条数据就不会读出来,,那么,我怎么才能把它读出并且赋值为空呢 方法: SELECT `s`.*, ( CASE THEN SUM(a.total_numbe ...

  6. 严格次小生成树(Bzoj1977:[Beijing2010组队]次小生成树)

    非严格次小生成树 很简单,先做最小生成树 然后枚举没加入的边加入,替换掉这个环内最大的边 最后取\(min\) 严格次小生成树 还是一样的 可以考虑维护一个严格次大值 最大值和枚举的边相同就替换次大值 ...

  7. sql注入之一次艰难的绕过-三层防护(oracle)

    打开:www.xxxx.com/news/detail.jsp?id=2862 我们经过测试知道此处含有sql注入.我们尝试下: http://www.xxxxxx.com/news/detail.j ...

  8. react入门(一)

    JSX语法: HTML 语言直接写在 JavaScript 语言之中,不加任何引号 , JSX语法中不能使用js中的关键字,例如:class 需要改为className JSX语法中要写表达式的话,需 ...

  9. [转]svn diff 替代工具

    svn diff 替代工具 http://blog.csdn.net/fudesign2008/article/details/8168811 一. 使用vimdiff替换svn diff: 对于多数 ...

  10. [转]SVN使用log,list,cat,diff查看所有及特定文件版本信息

    [转]SVN使用log,list,cat,diff查看所有及特定文件版本信息 http://onefishum.blog.163.com/blog/static/5184730520113153402 ...