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

一、PTA实验作业

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

1. 本题PTA提交列表

2. 设计思路

struct complex{
    int real;
    int imag;
};//该结构体表示复数的实部和虚部
  定义变量z表示结构变量
  计算实部;
  计算虚部;
  返回z;

3.代码截图

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

  • 一开始只是简单做复数实部与实部之间的运算,后来才明白要把式子拆开,做相应的运算。

题目2:计算职工工资

1. 本题PTA提交列表

2. 设计思路

struct p{
    char name[10];
    float moneyj,moneyf,moneyz,moneys;
};//该结构体表示职工的名字,基本工资,浮动工资,支出和实发工资
  定义变量i,z;
  输入n;
  定义结构变量a[n];
  for i=0 to i<n
    输入n位职员姓名,基本工资,浮动工资,支出;
    实发工资=基本工资+浮动工资-支出;
  for i=0 to i<n
    输出每位职员姓名,实发工资;

3.代码截图

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

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

1. 本题PTA提交列表

2. 设计思路

struct f{
    char name[11];
    char birthday[11];
    cahr sex;
    char gh[17],sj[17];
};//该结构体表示朋友的名字,生日,性别,固话,手机
  定义变量i,k,m,n;
  定义结构变量a[11];
  输入n;
  for i=0 to i<n
    输入n位朋友姓名,生日,性别,固话,手机;
  输入k
  定义b[k];
  for i=0 to i<k
    输入b[i];
  for i=0 to i<k
    如果b[i]>=0并且b[i]<n
            m=b[i];
            输出a[m]的姓名,固话,手机,性别,生日;
    否则输出Not Found

3.代码截图

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

  • 单个字符输入时要空格。

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

三、阅读代码

  • 藏头诗
#include <stdio.h>
char *ch(char s[][2000],char t[]);
int main()
{
	char s[100][2000],t[1000],*p=NULL;
	int i;
	for(i=0;i<4;i++)
		scanf("%s",&s[i][2000]);
	p=ch(s,t);
	printf("%s\n",p);
	return 0;
}
char *ch(char s[][2000],char t[]){
	int j;
	for(j=0;j<4;j++){
		t[2*j]=s[j+1][0];
		t[2*j+1]=s[j+1][1];
	}
	t[2*j]='\0';
	return t;
} 
  • 代码功能就是取出每句第一个汉字组成字符串输出,优点是用指针传地址,效率更高。
  • BCD解密
#include <stdio.h>
int mian(){
	int x;
	int n,a;
	scanf("%d",&x);
	a=x%16;
	n=((n/16)%16*10+a);
	printf("%d\n",n);
	return 0;
}
  • 短短几行代码就完成十进制转十六进制,代码简洁明了。

四、本周学习总结

1.总结本周学习内容。

  • 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合,定义格式为struct 结构名{ 类型名 结构成员1;类型名 结构成员2;···类型名 结构成员n; };
  • 共用体是指将不同类型的数据项存放于同一段内存单元的一种构造数据类型,可以节省很大的内存空间。
  • 枚举型是一个集合,集合中的元素是一些命名的常量,并且第一个枚举成员的默认值为0,后续枚举成员的值在前一个成员上加1,也可以自己对枚举成员赋值。
  • 递归函数的基础是是递归出口和递归式子,通过一系列的调用然后一一返回结果。

2.罗列本周一些错题

  • 对递归函数的预习还不够理解透,原理没弄清楚
posted @ 2017-12-24 20:56  做人要有疯度  阅读(277)  评论(1编辑  收藏  举报