一、PTA实验作业
题目1:6-3查找指定人员
1. 本题PTA提交列表(要提交列表,不是结果)
2. 设计思路(伪代码或流程图)
while(std++)
如果 std->num==num
返回 *std
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
(1)只会输出第一个人的信息
因为大意,在if语句后多了分号
题目2:7-1计算职工工资
1. 本题PTA提交列表
2. 设计思路(伪代码或流程图)
struct worker //结构体
{
char name[10];//姓名
float basic;//基本工资
float floating;//浮动工资
float expend;//支出
float sum;//求和
};该结构体表示职员的姓名,职员的基本工资,职员的浮动工资,职员的支出,职员的最后工资
定义整型变量N表示职员数量,定义循环变量i
输入 N
定义结构体类型work[N]储存职员信息
for i=0 to i=N
输入 name,basic,floating,expend
sum 等于 basic 加 floating 减 支出
end
for i=0 to i=N
输出 name ,sum;
end
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
错误一:work[i]不是指针,我用work[i]->name的方式表示;
题目2:7-2 时间换算
1. 本题PTA提交列表
2. 设计思路
struct time{
int hour;
int minute;
int second;
};该结构体表示时间中的小时,分钟,秒
定义结构类型 time1
整型 second2表示增加的秒数
输入时间
输入增加的秒数
将增加的秒数加到原来的秒time1->second上
如果 second 大于等于 60
second 减 60
minute 加 1
end
如果 minute 大于等于 60
minute 减 60
hour 加 1
end
如果 hour 大于等于 24
hour 减 24
end
按 输出两位十进制整数,不足往左边补零的格式 输出
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
错误一:运用指针的方法使用结构体导致程序崩溃
错误二:没有定义结构体变量,直接用结构体类型进行
错误三:关于输出格式,%02d,输出两位十进制整数,左边补零
二、截图本周题目集的PTA最后排名。
三、阅读代码
- 军霖同学关于删除子串的代码
#include<stdio.h>
#include<string.h>
void del(char s[],char sub[]){
char *p;
if( ( p=strstr(s,sub) )!=NULL ){
char *mark=p+strlen(sub);
while( (*p++=*mark++) );
del(s,sub);
}
}
int main(){
char s[81],sub[81];
gets(s);
gets(sub);
del(s,sub);
puts(s);
return 0;
}
- (2)军霖同学tokenizor
#include<stdio.h>
#include<string.h>
int main(){
char s[44];
gets(s);
for(int i=0;s[i];i++){
if(s[i]==‘-‘||s[i]==‘+‘) {
if(!i) printf("%c",s[0]);
else {
if(s[i-1]>=‘0‘&&s[i-1]<=‘9‘) printf("\n%c\n",s[i]);
else if(s[i-1]==‘(‘) printf("%c",s[i]);
else printf("%c\n",s[i]);
}
}
else if(s[i]>=‘0‘&&s[i]<=‘9‘||s[i]==‘.‘) printf("%c",s[i]);
else{
if(s[i-1]>=‘0‘&&s[i-1]<=‘9‘) printf("\n%c\n",s[i]);
else printf("%c\n",s[i]);
}
}
return 0;
}
四、本周学习总结
12.18,周一
一,课堂派
(1)预习作业--结构体
- 1,关于取名
可以通过下划线来表示相关变量
例如
struct book{
int book_number;
};
中用下划线表示number与book的关系,但注意变量名的长度
- 3.关于结构体赋值
不可以直接赋值,错误赋值代码:
*(p+2)={102030,“数据结构”,40}
- 正确赋值方法一:
(*(p+2))=(struct book){102030,“数据结构”,40};
- 正确的赋值方法二:(一个个赋值)
p=p+2;
p->book_number=102030;
strcpy(p->book_name,"数据类型");
- 正确的赋值方法三:
p=&book_num[2]
然后一一赋值
注意:
(2)C语言复习作业--结构体
4,输入要有&号
5.改错
(1)结构体的定义
(2)字符数据的读取
(3),(4)字符的读取及输入格式
(5)注意输出格式%7.2f;
- 7,读结构体
二。课堂笔记
1.总结本周学习内容。
(1)验证各类指针分配空间大小的方式
sizeof(int*);
(2)常见的数值转换函数
#include<stdlib.h>
- 1.字符串s转换为双精度浮点型
double atof(char *s)
- 2.字符串s转换为整型数
int atoi(char *s)
- 3.字符串s转换为长整型数
long atol(char*s)
- 4.以seed为种子(初始值)计算产生一个无符号的随机整数
srand(unsigned int seed)
(3)给固定数或者结构变量取名
- 1.给固定数名称
#define MAXN 20
- 2.给结构体名称
typedef struct sqlist
{
int data[N];
int last;
}LIST;
及后来结构体类型变量的定义
int main()
{
LIST list;
}
(4)共用体
(5)枚举类型
2.罗列本周一些错题。
这周事有点多。。还未完成