博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第一周作业
阅读量:6075 次
发布时间:2019-06-20

本文共 1720 字,大约阅读时间需要 5 分钟。

第一周作业1:查找整数

7-1 查找整数 (10 分)本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。

输入格式:

输入在第一行中给出两个正整数N(≤20)和X,第二行给出N个整数。数字均不超过长整型,其间以空格分隔。

输出格式:

在一行中输出X的位置,或者“Not Found”。

输入样例1:

5 7

3 5 7 1 9

输出样例1:

2

输入样例2:

5 7

3 5 8 1 9

输出样例2:

Not Found

1.实验代码:

#include
#define N 20 //宏定义N代表20int main(){ int i; long n, x; //定义长整型n,x int a[N]; scanf("%ld %ld", &n, &x); //注意长整型对应的格式符号ld% for(i=0; i

2.设计思路:

1581679-20190228165653986-106644914.png

3.本题调试过程碰到的问题级解决办法

问题1:下面有一个错误截图是第一次测试结果,遇到了【段错误】(错误截图1)

解决方案1:这里讲述一下我收集到的段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等等情况。这里想更了解的我可以推荐一篇博客()

问题2:开始以为是因为Break语句导致的错误

解决方案2:将break删掉,进行运行,得到的是错误的,根据错误可取推想原因出在了哪里,后来又将最后一个if语句的条件改了才运行正确,因为一开始并没有想到这种所以直接去掉了break语句用了return 0结束(正确截图2)

4.运行截图

正确截图

1581679-20190228181605405-934165260.png
1581679-20190228181647279-369495034.png

错误截图

1581679-20190228181719208-228638262.png
1581679-20190228181952066-1611754567.png

第一周作业2:求最大值及其下标


7-2 求最大值及其下标 (20 分)本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。

输入格式:

输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。

输出格式:

在一行中输出最大值及最大值的最小下标,中间用一个空格分开。

输入样例:

6

2 8 10 1 9 10

输出样例:

10 2

1.实验代码:

#include
# define N 10 //宏定义int main(){ int a[N]; int n, i, m, q=0; //注意q要赋初始值,考虑特殊情况 scanf("%d", &n); for(i = 0; i < n; i++) { scanf("%d", &a[i]); } m = a[0]; for(i = 0; i < n; i++) { if(a[i] > m) { m = a[i]; q = i; //注意题目要求c输出的是【最小下标】 } } printf("%d %d", m, q); return 0;}

2.设计思路:

1581679-20190228234415412-1450225628.png

3.本题调试过程碰到的问题级解决办法

问题1:没有给q赋初始值,后来看了其他人代码依旧不能理解

解决方案:付出是之后调试,询问得知需考虑特殊情况,若为给q赋初始值,当数组中的第一个数大于其他数字时,if语句不满足会直接输出一个随机的q值,所以必须给q赋初始值

问题2:错误截图2中我将第二个for循环写成i=1而不是i=0

解决方案:这也是一种忽略了会存在数组中第一个数会大于下一个数字的情况,这是后面改过来才发现自己忽略思考的地方,这种思考不周全实我经常会犯的错误,所以说我们要养成习惯,即使这个题已经完成了依旧要思考为什么是这样的而不是另一种写法

4.运行截图

PTA正确截图

1581679-20190301000005199-212873695.png
PTA错误截图
1581679-20190301000022139-911441708.png
1581679-20190301000047129-1875893082.png
1581679-20190301000102603-834571096.png

转载于:https://www.cnblogs.com/surenjiesu/p/10452194.html

你可能感兴趣的文章
MySQL数据库导入导出常用命令
查看>>
低版本Samba无法挂载
查看>>
Telegraf+Influxdb+Grafana构建监控平台
查看>>
使用excel 展现数据库内容
查看>>
C#方法拓展
查看>>
MySql.Data.dll的版本
查看>>
Linux系统磁盘管理
查看>>
hdu 2191 (多重背包+二进制优化)
查看>>
home.php
查看>>
neo4j---删除关系和节点
查看>>
redis分布式锁redisson
查看>>
什么样的企业可以称之为初创企业?
查看>>
Python爬虫之BeautifulSoup
查看>>
《HTML 5与CSS 3权威指南(第3版·下册)》——第20章 使用选择器在页面中插入内容...
查看>>
如何判断自己适不适合做程序员?这几个特点了解一下
查看>>
用 TClientDataSet 创建 XML 文件的过程 - 回复"丁永其"的问题
查看>>
newinstance()和new有什么区别
查看>>
android下载封装类
查看>>
[node] 用 node-webkit 开发桌面应用
查看>>
oracle 使用plsql 创建表空间,用户以及分配权限
查看>>