C语言课堂上的题目解答3 C语言课堂上的题目解答3 1.进制转换 转换方法:1)整数部分——辗转除r取余直到商为0,将余数作反向排列; 2)小数部分——反复乘r取整数部分,直到小数部分为0(若不能为0,则取整数个数最多5位),将各次所取整数正向排列 由于我们只有10个数字和26个字母,所以理论上我们可以实现36进制的转换。首先我们需要一个将数字转换为 2025-12-07 算法日记 19 Administrator
C语言课堂上的题目解答2 C语言课堂上的题目解答2 C++的内容还有一些,C语言课堂上的题目其实都不算简单,故作以下题解 1.输出素数 编程实现输出1000以内自然数中的素数(除其本身以外不能被其它任意整数整除) 本题按照素数的定义实现一个函数,该函数传入一个整数,判断其是否为素数,题目很简单 #include <stdio.h> #include 2025-12-03 算法日记 15 Administrator
C语言课堂上的一些题目解答 C语言课堂上的一些题目解答 近期在攻克C++指针的相关内容,HDOJ上做的题也比较简单,没有什么必要记录题解,故在这里写一下C语言课堂上的题目的题解(也不算很简单,这篇文章的代码均使用C语言实现) 1.简单四则运算计算器 键盘输入“第1操作数 运算符 第2操作数”,根据运算符(+、-、*、/)给出计算结果,例如:200/10= 2025-11-08 算法日记 138 Administrator
HDOJ-2000 ASCII码排序 HDOJ-2000 ASCII码排序 先给出题目 事实上,这道题看似在考字符的大小排序,其实其本质就是三数排序,用三数排序的方法两两比较即可 #include <iostream> #include <string> using namespace std; int main() { string str; char a, b, 2025-11-03 HDOJ 12 Administrator
HDOJ-2033 人见人爱A+B HDOJ-2033 人见人爱A+B 这道题目依旧是A+B的题目只不过从数的相加变为了时间的相加,这就意味这分和秒必须满足60进1的规则,我们可以用三个变量CH,CM,CS来存储答案,从秒开始计算,我们很自然的想到可以用if语句来判断AS+BS是否大于60,再根据判断结果来决定是否进位,并最终决定CS和CM的值,简约的代码实现如下 if 2025-11-02 算法日记 30 Administrator
HDOJ-1001,一道简单而又不简单的一道题 HDOJ-1001,一道简单而又不简单的一道题 这里先给出题目 这道题让我们求从1到n的和,我们可以很自然的想到高中所学的等差数列求和公式S_n=\frac{n(a_1+a_n)}{2} 显然,我们只需让a_1=1,然后用函数传入一个n即可计算,如下函数代码(只展示函数的代码) 2025-11-02 HDOJ 31 Administrator
HDOJ的A+B练习 HDOJ的A+B练习 1.最简单的A+B(HDOJ-1000和1090) 直接计算即可 #include <iostream> using namespace std; int main() { int n; int x, y; while (cin >> n) { for (int i=0;i < n;i++ 2025-11-02 HDOJ 26 Administrator