C++初学者有些BUG看不出来,求大神解释

菜鸟方圆圆 2016-12-29 05:02:50
题目:
每个考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。

输入格式:

输入第一行给出一个正整数N(<=1000),随后N行,每行给出一个考生的信息:“准考证号 试机座位号 考试座位号”。其中准考证号由14位数字组成,座位从1到N编号。输入保证每个人的准考证号都不同,并且任何时候都不会把两个人分配到同一个座位上。

考生信息之后,给出一个正整数M(<=N),随后一行中给出M个待查询的试机座位号码,以空格分隔。

输出格式:

对应每个需要查询的试机座位号码,在一行中输出对应考生的准考证号和考试座位号码,中间用1个空格分隔。

输入样例:
4
10120150912233 2 4
10120150912119 4 1
10120150912126 1 3
10120150912002 3 2
2
3 4
输出样例:
10120150912002 2
10120150912119 1


我的代码是这样的:

引用
#include <iostream>
using namespace std;
typedef struct student
{
string s="";
int test_order=0;
int exam_order=0;
}student;
int main()
{

int N; //输入的值
int i=0; //初值为0
int inquire = 0;
cin >> N;
int k = N; //用来保存K的值
student *pstudent = new struct student[N];

while(N--)
{
cin >>pstudent[i].s;
cin >>pstudent[i].test_order;
cin >>pstudent[i].exam_order;
i++;
}
cin >> inquire;

int *p=new int[inquire];
for(int i=0;i<inquire;i++ )
cin >> p[i]; //输入的数存在p[0] p[1]....

for(int i=0;i<inquire;i++) //一共有inquire个数,所以查inquire 次
{
for(int j=0;j<k;j++)
{
if(p[i]==pstudent[j].test_order)
cout <<pstudent[j].s<<" "<<pstudent[j].exam_order;

}
if(i!=inquire-1)
cout <<endl;

}
delete pstudent;
delete p;
return 0;
}
[code=c][/code
本人是新手,这个程序运行出来 结果第一行可以打印,但是第二行打印不出来,显示段错误,不知道什么原因,还望各位大神帮忙看看
...全文
154 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜鸟方圆圆 2016-12-29
  • 打赏
  • 举报
回复
引用
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
大神,因为我的这道题在codeblocks中运行通过,在g++中没法通过,所以才纠结来这里问的
小灸舞 2016-12-29
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧