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]了
换行符也没有考虑到,