作业的debug反思(求亚军)
来源:互联网 发布:2017网络玩什么最赚钱 编辑:程序博客网 时间:2024/06/10 17:13
先写上两个错误的代码
第一个
#include <stdio.h>int main (void){ int n; int a[n]; //** n未输入就用来创造数组,未初始化的n是一个很大的数,会导致爆栈,所以程序直接终止** int i,t; scanf("%d",&n); for (i = 0; i < n; ++i) { scanf("%d",&a[i]); } for (i = 0; i < n - 1; ++i) { if (a[0] < a[i + 1]) { t = a[i + 1]; a[i + 1] = a[0]; a[0] = t; } } for (i = 1; i < n - 1; ++i) { if (a[1] < a[i + 1]) { t = a[i + 1]; a[i + 1] = a[1]; a[1] = t; } } printf("%d\n",a[1]); return 0;}
第二个
#include <stdio.h>int main (void){ int n,T; scanf("%d",&T);//此处的错误,在于逗号输入为中文的QAQ,改为英文的就行了 while(T){ scanf("%d",&n); int a[n]; int i,t; for (i = 0; i < n; ++i) { scanf("%d",&a[i]); } for (i = 0; i < n - 1; ++i) { if (a[0] < a[i + 1]) { t = a[i + 1]; a[i + 1] = a[0]; a[0] = t; } } for (i = 1; i < n - 1; ++i) { if (a[1] < a[i + 1]) { t = a[i + 1]; a[i + 1] = a[1]; a[1] = t; } } printf("%d\n",a[1]); --T;} return 0;}
问题要求
输入的第一行为一个数T,表示测试用例的个数。 每组测试用例包括两行,第一行为一个数N(2<=N<=10000),表示该组测试用例的数据个数。 第二行为N个整数,表示这一组测试数据。
Output
对于每组测试用例,输出一个数,为这组数据中第二大的数。
Sample Input
2
2
1 2
5
2 3 1 4 4
Sample Output
1
4
思考
这个程序的算法能否优化
是否能用函数
0 0
- 作业的debug反思(求亚军)
- 反思--Coursera作业(魔兽世界终极版)
- 求两个数的最大公约数(作业)
- 【神のDebug】C++作业,10小时debug的结果
- 求100以内全部的素数(作业)
- 求改错(大一作业)
- 值得反思的一看:)
- 我的反思(一)
- 我的反思(二)
- 亚军进化史---去深圳之前的大学最后狂欢
- 作业:c++作业2-求两点之间的距离
- 后台作业DEBUG
- 作业debug思考
- 第八周作业---求函数的值
- 求1!+2!+...+10!的和。(作业)
- 求1000以内的完数(作业)
- Elastic-Job dump作业运行信息(便于开发者debug)
- 《算法概论》第一次作业回顾与反思
- 跟着Innost理解下数据更新、数据同步
- tcp协议之我理解
- C语言中可变参数函数实现原理
- Java访问数据库
- linux平台mysql root用户密码修复
- 作业的debug反思(求亚军)
- HTML第六章上机题3-------聚美优品美容热点列表
- Python+django开发(一)
- 李航《统计学习方法》第五章——用Python实现决策树(MNIST数据集)
- GDB简洁及常用指令
- NGUI支持TexturePacker导出有旋转的Sprite,无需Transform旋转版本
- ubuntu14.04下docker安装方法
- android悬浮窗口的实现
- 只需四个步骤几行代码,即可快速实现直播弹幕功能