HNU 的同学们都十分重视程序设计实训作业,相关内容在网上收获了极高的点击量与阅读量。以我自己为例,我和大家一样,常常带着明确需求与目标,一头扎进 CSDN,在海量博客中翻找,期望寻得解决问题的办法,将他人知识化为己用,如此一来,学习编程语言时遭遇的难题便能轻松、高效地解决。
此前我使用过诸多软件,而今日要为大家介绍的 INSCODE,在 IDE + AI 方面功能强大,效率超高 。接下来,我将运用它解答一道 HNU 的程序设计题,一步步详细展示操作过程。我会附上软件的下载链接,大家赶快动手体验一番吧!有时间,我会对InsCode解决程序设计题目进行完善,归纳成一个专栏,供大家浏览。
实训训练作业一1.众数
- 【问题描述】
一组数据中出现最多的数,称为众数。比如
1 2 3 3
众数为3。一组数据中也可能有多个众数,以最先出现的作为众数。比如
2 2 3 3
众数为2。
问题是一组按升序排好的数据,指出它的众数。
- 【输入形式】
有多组测试数据(不超过100组测试数据)。
每组测试数据占两行,第一行是正整数N:表示这组测试数据中数据项数。
第二行是N个用空格隔开的正整数,表示这组测试数据的数据元素。每个数据元素都不大于10000。
N=0,表示输入结束,并且不需要处理。
40%的测试数据N 1 ≤N≤ 10;
30%的测试数据N 10 < N≤ 100;
20%的测试数据N 100 < N≤ 1000;
10%的测试数据N 1000 < N≤ 10000;
- 【输出形式】
对于每组测试数据,输出一行包含一个正整数:对应的众数。
- 【样例输入】
- 4
1 2 3 3
4
2 2 3 3
0 -
【样例输出】 3 2
-
#include<iostream> #include<map> using namespace std; int main(){ int n; while(cin>>n){ if(n==0) break; map<int,int> m; for(int i=0;i<n;i++){ int temp; cin>>temp; m[temp]++; } int num,cnt=0; for(map<int,int>::iterator it=m.begin();it!=m.end();it++){ //cout<<it->first<<" "<<it->second<<endl; if(it->second>cnt){ num=it->first; cnt=it->second; } } cout<<num<<endl; } return 0; }
接下来我们用InsCode AI IDE做出这道程序设计题
下载安装 InsCode AI IDE | InsCode AI IDE(有Windows版本和Mac版本,附带简介和功能介绍,后续在实际运用中,我也会介绍到。) - 安装完成后,打开InsCode AI IDE,在欢迎界面中左侧点击新建工程。
- 接下来可以在左侧选择编程语言。
虽说这界面里找不到 C 语言工程选项,但别慌,办法总比困难多 。我们在电脑上随意创建一个文件夹,命名为 C。随后,点击 “打开工程”,选中文件夹 C,如此一来,便巧妙地将 C 变成了工程文件夹,轻松解决问题!
当然,若要使用 C 语言,就需要编译器,可搭配 MinGW 使用(下载 64 位 8.1.0 版即可)。下载完成后,需在系统的高级设置中为 PATH 变量添加路径,选择编译器的 bin 文件夹(这样就能通过命令行快速调用 gcc 编译)。操作完成后,显示图片,若呈现预期效果,即表示成功!
你也可以在终端里输入gcc -v,如果能够输出信息,就说明安装成功。若输入“gcc main.c -o main”后无报错且能正常执行,表明gcc可正常工作。接着输入“main.exe”并回车,若能看到“Hello,World!”的输出,则说明gcc已将c源文件编译生成了main.exe。
然后点击右上角的下拉菜单中的“编辑配置”选项。在弹出的运行/调试配置对话框中,点击+号,选择一个可以执行命令的配置项,例如JavaScript调试配置。在配置面板中,将Name项的值修改为我们的工程名称,并在Command项中输入“gcc .\main.c -g -o .\main | .\main.exe”。这样,当我们运行时,就会执行这个命令来编译并运行main.c。
但是还没完 ,我们需要接着再完成这几个工作:我们先进入.arts的launch.json中。然后点击"添加配置",这时会弹出一个下拉列表框,选择GDB:Launch Program这一项。
在生成的配置信息中,将target这一项,改为当前编译后的exe,并在下面的command中为gcc命令加上-g选项,让gcc编译出可以调试的exe。
在右侧我们点击拓展按钮,查找"C"(安装一下工程向导Cpp Project Wizard),接着再查找一下”Debug”(安装完成本地调试工具,就可以创建c语言工程)
接下来就开始正式使用啦!激动的心~颤抖的手~ 一切准备就绪!!!我们点击右侧的AI,勾选改写模式。
我们需要将需求发送给AI,我们直接复制前文众数这道题目的描述,点击发送按钮。 AI回复完问题之后,点击尾部的“全部接受”按钮,然后在终端里输入:".\main.exe"进行运行编译。
可以看到,运行完全正确,1 2 3 3 众数为3,2 2 3 3 众数为出现的第一个数字2
通过这样的方式,我们顺利攻克了这道题目。而 InsCode AI IDE除了给我们提供代码之外,还允许我们选中代码进行互动,无论是对话、解释还是注释,都不在话下,这使得我们能够更加细致地逐行理解代码,从而更高效地解决问题。
比如,我们可以选中某一段代码,对它进行多次提问,又或者对选中的代码进行注释,解释。
让我们头脑风暴一下,那是不是也可以用InsCode帮助我们量身定制学习计划呢?根据我们现有编程基础、学习目标和时间安排,让AI 为我们量身定制个性化的学习路径。比如,我想在 3 个月内掌握c语言基础并能够开发简单的桌面应用,要求AI 规划出每周的学习内容,包括书籍推荐、练习题等。能不能实现呢?让我们来试一试。
现在我给AI发送这样一段话:“我想在3个月内掌握c语言基础并能够通过CCF CSP认证考试,请你帮我规划出每周的学习内容,包括书籍推荐、练习题等。”
可以看到,AI立马生成了12周的学习计划,并且针对每一部分都推荐了相应的书籍,我们让AI把这些练习题目当作考题直接修改丢给我们去做“修改main.c,从上述的学习计划练习题出一道C语言考题,删除main.c中main函数中的逻辑代码只保留空函数内容让我手动编写。”
如此一来,我们不仅可以在InsCode上解决学习编程语言碰到的难题,还能让自己置身于更加贴近实际考试的学习环境中。通过将练习题转化为考题,我们可以更深入地检验自己对 C 语言基础知识的掌握程度,这种实战式的学习方法能够让我们在面对真实的编程任务时更加从容。而且,在我们完成考题后,AI 还可以为我们的代码进行详细的评估,指出其中的优缺点,给出改进的建议,帮助我们不断提升编程技能。
对于那些刚刚踏入大学校门、零基础开始学习程序语言的同学们而言,这无疑是一个绝佳的助力工具哦。越早地利用 AI 工具来解决学习中遇到的问题,就越能在编程学习的起跑线上占据优势,领先他人一大截呢,屏幕前的你,快来试一试吧~