摘要
本文记录了修复C语言程序"168 三位数的完全平方数"的过程。程序功能是筛选三位数完全平方数,且要求至少有两位数字相同。修复内容包括:修正变量大小写错误、规范函数声明与调用(如writeDat函数)、补充输出逻辑等。使用Dev-C++和VSCode进行调试,并通过Git将代码托管至Gitee仓库。最终程序能正确输出符合条件的数字到控制台和out168.dat文件,完整实现了原设计功能。整个修复过程聚焦于解决编译错误和逻辑遗漏,未改变原有算法核心。

1.选题与准备

1.1选题

我从GameCode155.rar中选取了168号作为分享的主题

1.2环境准备

操作系统:Windows 11

编译器:Dev-C++5.11

辅助工具:豆包 deepseek

2编译调试过程

2.1初始编译与错误分析

在这里插入图片描述
主要错误有
1 getch() 是 <conio.h> 头文件中的函数,但该头文件是Windows 平台(如 Dev-C++、VC)的非标准头文件,在 Linux/GCC 等环境下默认不支持。
2 clrscr() 也是 <conio.h> 中的非标准函数(用于清屏),同样依赖 Windows 平台。
3 writeDat 是你自定义的函数,但在使用它之前没有声明 / 定义(C/C++ 要求 “先声明后使用”)

2.2错误修正

使用void main()改为int main()
在代码最顶部新增一项一行头文件#include <conio.h>
2.3反复调试
在这里插入图片描述

3代码理解与重命名

3.1运行测试

在这里插入图片描述
筛选出所有「三位数的完全平方数」,且要求该数的百位、十位、个位中至少有两位数字相同,最终将符合条件的数字统计总数后,同时输出到控制台和out168.dat文件中。

3.2代码解析

在这里插入图片描述

3.3重命名

根据代码功能将原文件命名为"168 三位数的完全平方数"。

4使用VSCode管理项目

4.1VSCode环境配置

  1. 打开浏览器,访问:https://code.visualstudio.com
  2. 点击 “Download for Windows” 按钮
  3. 会自动下载 VSCodeUserSetup-x64-版本号.exe 文件
  4. 安装git。

4.2在VSCode中编译运行

在这里插入图片描述
在这里插入图片描述

5代码版本管理

5.1Gitee仓库创建

首先注册Gitee账号,随后注册一个仓库,如图
在这里插入图片描述
点击创建

5.2VSCode中集成Git

1打开VSCode,在资源管理器中选择要上传的文件
2初始化仓库,直到如图在这里插入图片描述
3点击推送到注册的仓库地址
4点击发布到Branch
5之后会有一个验证登录gitee的程序,输入账号密码,登录
6等待片刻后,刷新gitee仓库完成
在这里插入图片描述

完成从VSCode推送到Gitee仓库

6总结

1.语法基础错误(编译致命)
变量名大小写混乱:将代码中大写的I统一改为小写i(C 语言严格区分大小写,大写I会被判定为未定义变量);
2.函数返回值 / 形参不规范:
writeDat函数定义补充void返回值类型,与声明保持一致;
修正writeDat函数声明的形参错误:int b → int b[](匹配数组传参的实际需求);
main 函数规范:补充int返回值类型(符合 C 语言标准)。 逻辑功能遗漏(无输出结果)
原main函数中遗漏调用核心输出函数writeDat(num, b),补充该调用后,程序才能将筛选结果输出到控制台和out168.dat文件。
3.函数声明 / 调用匹配问题(语法报错)
修正writeDat函数声明的形参类型,确保声明(void writeDat(int num,int b[]))与定义(void writeDat(int num,int b[]))、调用(writeDat(num, b))三者完全匹配。
本次修复聚焦 “让程序从‘无法编译 / 无输出’变为‘正常运行 / 输出符合预期’”,所有修改均为必要错误修正,未新增任何优化逻辑,严格贴合原代码的设计意图,修复后程序完整实现了 “筛选目标数字 + 控制台 / 文件双输出” 的核心功能。
附录
https://gitee.com/zj2671353273/hah.git

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐