C语言程序设计作业06:第十五周作业
这个作业属于哪个课程 | C语言程序设计II |
---|
我在这个课程的目标是 | 了解并精通C语言 |
这个作业在那个具体方面帮助我实现目标 | 了解函数的编译和构造,认识有些已有的库函数 |
参考文献 | C语言程序设计教程 百度 cpp.com MSDN |
1.PTA作业
1.PTA实验作业
![在这里插入图片描述](https://img-blog.csdnimg.cn/48c7e0fb003343e199f410093560956e.png)
1.1二级指针
内容:分析下面代码,理解二级指针。
1.1.1数据处理
**数据表达:定义 n *p **pp,
**数据处理:
赋值n=10; n的地址赋给p,p的地址赋给pp;
输出n,*p,**pp的值;
输出n,p,pp的地址;
输出n的地址和p的地址;
输出p所指示的地址以及pp的地址;
1.1.2实验代码截图
#include<stdio.h>
int main(){
int n,*p,**pp;
n=0; p=&n; pp=&p;
printf("%d",n);
return 0;
}
1.1.3造测试数据
输出: | |
---|
n=10,n=10,n=10 | n ,*p,**pp |
28febc,28feb8,28feb4 | &n,&p,&pp |
28febc,28febc | &n,p |
28feb8,28feb8 | &p,pp |
1.1.4PTA提交列表及说明
![在这里插入图片描述](https://img-blog.csdnimg.cn/24fe3487a10c4c2e9b623620b95d39f0.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/dccec65c9e58423eb047631646829cd4.png)
提交列表说明:
1.编译错误:答案与输出要求规范不一致。
1.2 组织星期信息
内容:输入一个正整数repeat (0<repeat<10),做repeat次下列运算:定义一个指针数组将下面的星期信息组织起来,输入一个字符串,在表中查找,若存在,输出该字符串在表中的序号,否则输出-1。Sunday Monday Tuesday Wednesday Thursday Friday Saturday输入输出示例:括号内为说明,无需输入输出
**数据类型:定义 i repeat flag 静态定义二维字符指针*p[7] 并录入字符,定义取字符数组str[repeat][100] ,定义j;
**数据表达:
输入repeat表示循环次数;
进行一次for循环输入str字符数组的值;
再次循环,内嵌套另一个for循环查找所对应的星期;
如果flag不为0,输出flag,如果为0,则输出-1
最后flag归0;跳回循环;
1.2.2实验代码截图
#include <stdio.h>
#include <string.h>
int main()
{
int i,repeat,flag=0;
scanf("%d",&repeat);
const char *p[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
char str[repeat][100];
for(i=0;i<repeat;i++)
{
scanf("%s",str[i]);
}
for(i=0;i<repeat;i++)
{
for(int j=0;j<7;j++)
{
if(strcmp(str[i],p[j])==0)
{
flag=j+1;
}
}
if(flag!=0)
{
printf("%d\n",flag);
}
else
{
printf("-1\n");
}
flag=0;
}
return 0;
}
1.2.3造测试数据
输入数据 | 输出数据 |
---|
3 Tuesday Wednesday year | 3 4 -1 |
![在这里插入图片描述](https://img-blog.csdnimg.cn/063c9004c155441b9ad0d4a205da9962.png)
提交列表说明:
1.答案错误:输出的结果与答案不相符;在dev c++中运行发现是输出错误,现已解决。
2.答案错误:结果错误,未能实现查找任务,经调试后无误# 2.代码互评
同学的代码
![请添加图片描述](https://img-blog.csdnimg.cn/cef5cc9d565d4376b6ed3b6307177e33.png)
同学的代码
![请添加图片描述](https://img-blog.csdnimg.cn/2337d646ee89418f8c2cf06d0af36873.jpeg)
自己的代码
![在这里插入图片描述](https://img-blog.csdnimg.cn/499d71e0999d4ccb8c96b2186240dcf8.png)
不同的点:
1.同学的代码很简洁,但是没有注意换行和缩进;
2.同学的代码利用了strcmp函数相同时为0的结果,得出的答案,方便处理flag。
3.学习总结
3.1学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|
第六周 | 50h | 200 | 数据类型 | 补码,反码的与、或运算 |
第七周 | 30h | 150 | 输入输出 | 无太大问题 |
第八周 | 20h | 130 | 选择语句 | 嵌套式逻辑不太清楚 |
第九周 | 20h | 150 | 循环语句 | 循环语句和选择语句的嵌套还是没搞清 |
第十周 | 25h | 180 | 数组 | 数组使用后对其作用不太清除 |
第十一周 | 30h | 200 | 函数 | 基本了解,链式逻辑难以理清 |
第十五周 | 50h | 500 | 指针 | 难度大,需要一段时间消化 |
3.2学习内容总结和感悟
3.2.1学习内容总结
![在这里插入图片描述](https://img-blog.csdnimg.cn/36db7925d47848509cd73084e725f519.png)
3.2.2学习体会
1.听课和做实验的过程中,我理解到了函数的作用以及其使用方法;并学会了如何构造自己所需要的指针;
2.在做题上还是有些细节把控不到位输出容易漏,或者是格式错误;
3.在做题时虽然知道怎么下手,但写出来的逻辑依然混乱。