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

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

时间:2017-12-25 00:50:08      阅读:427      评论:0      收藏:0      [点我收藏+]

标签:info   结构体   访问   int   union   --   china   设计   不同的   

一、PTA实验作业

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

1. 本题PTA提交列表

技术分享图片

2. 设计思路

struct complex multiply(struct complex x, struct complex y){
     struct complex product;用于存放结果
     执行运算
        product.real=x.real*y.real-x.imag*y.imag;
    product.imag=x.imag*y.real+x.real*y.imag;以得出结果的实部和虚部
        返回product

3.代码截图

技术分享图片

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

技术分享图片

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

1. 本题PTA提交列表

技术分享图片

2. 设计思路

struct man{
    char name[10];
    float j,f,z;//分别为 基本工资 浮动工资 支出 实发工资
    float s;
};//该结构体表示人员,基本工资,浮动工资,支出,实发工资
     输入N表示N个人
    for i=0 to i=n-1{
  输入名字 基本工资 浮动工资 支出
  op[i].s执行运算op[i].j+op[i].f-op[i].z
}
   for i=0 to i=n-1{
  输出名字和实发工资
}

3.代码截图

技术分享图片

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

man op[]一开始写的100000无法运行,改小后可以运行;起初 基本工资 浮动工资 支出都定义为了int型,答案错误;输出的时候也没有循环多次输出。

题目3:7-5 有理数比较

1. 本题PTA提交列表

技术分享图片

2. 设计思路

struct fraction{
    int m,n;//m为分母,n为分子 
}; //该结构体表示分母和分子
  struct fraction a,b;定义两个数
  double x;//用于计算两分数相减 
  char ch;//用于输出符号
  输入ab两个数的分母和分子
  x执行运算a.n*1.0/a.m-b.n*1.0/b.m;
if x>0  则a>b
if x<0  则a<b
if x==0 则a=b
输出

3.代码截图

技术分享图片

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

x=a.n1.0/a.m-b.n1.0/b.m;起初没有*1.0结果一直输出“=”

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

技术分享图片

三、阅读代码

某习题

struct country 
{ 
int num; 
char name[10]; 
}x[5]={1,"China",2,"USA",3,"France",4, "England",5, "Spanish"}; 
struct country *p; 
p=x+2; 
printf("%d,%c",p->num,(*p).name[2]);

p是指向结构体的指针,p = x + 2 就相当于:p = x[0 + 2] = x[2];p->num中->是指针访问它的变量的运算符,(*p)就是相当于把p指向的内存取出里面的数据,“.”运算符访问它的变量name数组,x[2].name为"France",第一个F下标是0,那么下标为2的字母是a
某习题
技术分享图片
把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。

四、本周学习总结

1.总结本周学习内容

  • 1.结构体
    struct 结构体名
    {
    成员表列
    } 变量表列;
    例:

    struct data{
    int a;
    char b;
    double c;
    } s1;
  • 2.共用体
    union 共用体名
    {
    成员表列
    } 变量表列;
    列:

    union data
    {
    int i;
    char ch;
    float f;
    } a, b, c;
  • 3.结构体与共用体
    结构体:结构体和数组一样都是构造型数据类型,和数组不同的是,结构体可以处理不同类型的数据。
    共用体:共用体是一种多变量共享存储空间的构造类型,它允许几种不同的变量共用同一存储空间。
  • 4.函数的嵌套调用,在主函数main()中调用函数cal()

    2.罗列本周一些错题。

    技术分享图片
    答案d是错误的,因为调用函数中的实在参数为一个是整型变量n,一个是指针变量a[9]的地址,即为指针变量。因为函数的实在参数与形式参数应该类型相同,个数相同。而答案d中的两个参数均为整型变量,所以d是错误答案。答案a中的m为整型变量,x是一个数组类型的变量,而数组名代表数组的首地址,所以与形式参数类型相同。答案b与答案a原因相同。而答案c中的变量p为整型变量,变量s为指针类型的变量。
    技术分享图片
    变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。

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

标签:info   结构体   访问   int   union   --   china   设计   不同的   

原文地址:http://www.cnblogs.com/cuizhibin/p/8094927.html

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