码迷,mamicode.com
首页 > 编程语言 > 详细

C语言博客作业--结构体

时间:2017-12-25 00:55:03      阅读:407      评论:0      收藏:0      [点我收藏+]

标签:答案   lis   调用   --   学习总结   统计   main   floating   src   

PTA实验作业

题目1:6-1 计算两个复数之积

1. 本题PTA提交列表(要提交列表,不是结果)

技术分享图片

2. 设计思路

struct complex{
    int real;
    int imag;
};//该结构体表示复数的实部和虚部
struct complex w,定义结构变量w
w的实部=x的实部*y的实部-x的虚部*y的虚部
w的虚部=x的实部*y的虚部+x的虚部*y的实部
返回 w

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

技术分享图片

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

  • 本题没遇到问题

    题目2:7-1 计算职工工资

    1.本题PTA提交列表(要提交列表,不是结果)

    技术分享图片

    2. 设计思路

    #include<stdio.h>
    struct people{
    char name[11];
    float money;
    float floating;
    float spend;
    float Realwages;
    };//该结构表示员工的姓名,基本工资,浮动工资,支出和实发工资
    定义N表示要统计员工的个数,i用来控制循环
    输入N
    定义一个结构数组struct people s[N]存放员工信息
    for I=0   to  I<N
     输入对应员工的姓名、基本工资、浮动工资和支出
       并统计该员工的实发工资
    end for
    for I=0   to  I<N
    输出员工的姓名和实发工资
    end for

    3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

    技术分享图片

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

  • 本题没有遇到问题

    题目3:7-6 通讯录的录入与显示

    1.本题PTA提交列表(要提交列表,不是结果)

    技术分享图片

    2.设计思路

    struct prople{
    char name[11];
    char birthday[11]; 
    char sex;
    char fixedline[20];
    char Mobilephone[20];
    };//该结构表示朋友的姓名 生日 性别 固话 手机
    定义I,j控制循环,n表示多少个朋友的记录,m表示要查询的朋友个数,k表示要查询朋友信息的编号
    输入n,定义结构数组是s [n];
    for I=0 to  I<n 
    输入对应编号朋友的姓名 生日 性别 固话 手机
    end for
    输入m
    for j=0 to  j<m
       输入要查询信息的朋友的编号
      if(k>=0&&k<n)//表明查询的记录存在
      输出该朋友的姓名,固话,手机,性别,生日
      else//查询记录不存在
      输出Not Found
    end for

    3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

    技术分享图片

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

  • 这道题之前错的时候没有截图,之前这道题朋友的生日我用的是整形变量。但是用整形变量最后一个测试题(最大N,反复查询同一记录)一直是答案错误,也不知道怎么改,然后问同学,他叫我用字符型数组定义生日,然后我改了就对了,但是现在还不知道为什么,虽然整形变量是麻烦了点,但好像也是对的啊

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

    技术分享图片

    三、阅读代码。

    代码一

    线性表用顺序实现。请填空写一个求线性表L 中所有奇数之和的算法。
    例如:
    L=(1,2,3,4,5) 其和为 9(本题结构体定义很不错。)

    #include <stdio.h>
    #define N 10
    typedef struct sqlist
     {
       int data[N];
       int last;
       }LIST;
     int Total(LIST list)
     {int sum=0;
    for(int i=0;i<=list.last;i++)
       if(list.data[i]%2)
      sum+=list.data[i];
     return sum;  
     }
     void Show(LIST list)
     {
       int i;
       for(i=0;i<=list.last;i++)
      printf("%3d", list.data[i]);
       printf("\n");
     }
    int main()
     {
    LIST list;
    int i,sum;
    for(i=0;i<=5;i++)
     list.data[i]=i;
    list.last=5;
    Show(list);
    sum=Total(list);
    printf("sum=%3d\n",sum);
    return 0;
    }
  • 结构定义真的很不错,易懂快捷,代码 list.last=5很巧妙,如果是我肯定想不到

    代码二

    四、本周学习总结

    1.总结本周学习内容

    结构体、共用体、枚举这种构造数据类型特点。

    结构体:1.结构体像数组和指针一样,也是一种构造结构类型,它于数组的区别是,在结构中各成员数据类型可以不同
    共用体:1.共用体是一种多变量共享存储空间的构造类型,它允许几种不同的变量共用同一存储空间。共用体和结构体的区别:1.结构体每一位成员都用来表示一种具体事务的属性,共用体成员可以表示多种属性(同一存储空间可以存储不同类型的数据)。
    2.结构体总空间大小,等于各成员总长度,共用体空间等于最大成员占据的空间。
    3.共用体不能赋初值。
    枚举法:枚举类型是指变量的值可以全部列出,定义一个枚举变量后,变量的值确定在定义之中。它和结构体、共用体的区别在于,枚举元素是常量,只能在定义阶段赋值。

    递归函数原理

    1.递归(recursion)就是子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,是一种描述问题和解决问题的基本方法。
    2.(1)边界条件:确定递归到何时终止,也称为递归出口。
     
        (2)递归模式:大问题是如何分解为小问题的,也称为递归体。递归函数只有具备了这两个要素,才能在有限次计算后得出结果
     
    在递归函数中,调用函数和被调用函数是同一个函数,需要注意的是递归函数的调用层次,如果把调用递归函数的主函数称为第0层,进入函数后,首次递归调用自身称为第1层调用;从第i层递归调用自身称为第i+1层。反之,退出第i+1层调用应该返回第i层。

    2.2.罗列本周一些错题。

    技术分享图片
    技术分享图片
  • 忘记定义结构数组emp[10]了
  • 换行符也没有考虑到,

C语言博客作业--结构体

标签:答案   lis   调用   --   学习总结   统计   main   floating   src   

原文地址:http://www.cnblogs.com/peng075078/p/8084387.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!