C++
C++ 是一门高级的编程语言,学好这门课程并不容易。
编程小达人
这个作者很懒,什么都没留下…
展开
-
对于两个正整数m,n的最大公因数可以用do—while实现
来源:《信息学奥赛一本通(C++版)》P64【题目描述】4.9 对于两个正整数 m,n 的最大公因数可以用do—while实现。代码如下,请完善:#include<iostream>using namespace std;int main(){ int m,n,r; cin>>m>>n; do //碾转相除法 { r=m%n; m=____; n=____; } while(____); cout<<"the great原创 2020-05-16 14:56:29 · 1988 阅读 · 0 评论 -
微软VC++6.0字体设置工具
1.关于VC6.0微软公司 的VC6.0莫过于是大家最常用的编译器了,它功能强大,便于编写程序,虽然现在 微软公司 不再支持它了,并且陆续又推出了 <VS2010>,<VS2015>,<VS2017>,<VS2019>等更强大的编译器,但是使用VC6.0的人仍然很多,由于年代太久远,字体很少,所以我要向大家推荐一款字体设置器。2.VC6.0字体设置工具界面如下:...原创 2020-05-13 13:51:01 · 981 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》1105:数组逆序重存放
来源:《信息学奥赛一本通(C++版)》测评地址:信息学奥赛一本通在线测评【题目描述】将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。【输入】输入为两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每两个整数之间用空格分隔。【输出】输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。【输入样例】58 6 5 4 1【输出样例】1 4 5 6 8代码如下:注:代码仅供参考,不只有一种解法。#原创 2020-05-11 13:27:33 · 711 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》阶乘之和【优化程序】
来源:《信息学奥赛一本通(C++版)》P73【阶乘之和】【题目描述】4.19 阶乘之和。输入n,计算s=1!+2!+3!+…+10!的末六位(不含前导0)。n<=10^6,10!表示前n个正整数之和。【输入样例】10【输出样例】37913代码如下:注:代码仅供参考,不只有一种解法。//此为《信息学奥赛一本通(C++版)》阶乘之和的优化程序。#include<cstdio>int main(){ int n,s=0,f=1; scanf("%d",&n原创 2020-05-09 23:02:48 · 377 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》阶乘之和
来源:《信息学奥赛一本通(C++版)》P73【题目描述】4.19 阶乘之和。输入n,计算s=1!+2!+3!+…+10!的末六位(不含前导0)。n<=10^6,10!表示前n个正整数之和。【输入样例】10【输出样例】37913代码如下:注:代码仅供参考,不只有一种解法。#include<cstdio>int main(){ int n,s=0; scanf("%d",&n); for(int i=1;i<=n;i++) { int f=1原创 2020-05-09 22:56:01 · 717 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》分解质因数
来源:《信息学奥赛一本通(C++版)》P72【题目描述】把一个合数分解成若干个质因数乘积的形式(即求质因数的过程)叫做分解质因数。分解质因数(也称分解素因数)只针对合数。【输入】输入一个正整数n,将n分解成质因数乘积的形式。【输入样例】36【输出样例】36=2*2*3*3代码如下:注:代码仅供参考,不只有一种解法。#include<iostream>using namespace std;int main(){ int n,i=2; cin>>n原创 2020-05-09 22:48:13 · 2363 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》输出所有形如aabb的四位完全平方数
来源:《信息学奥赛一本通(C++版)》P71【题目描述】输出所有形如aabb的四位完全平方数(即前两位数字相等,后两位数字也相等)。代码如下:注:代码仅供参考,不只有一种解法。//pow函数需要调用cmath头文件或math.h头文件。#include<iostream>#include<math.h>using namespace std;int main(){ for(int x=32; ;x++){ int n=pow(x,2); if(n>原创 2020-05-09 22:18:24 · 1406 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》输出100~200中所有的素数
来源:《信息学奥赛一本通(C++版)》P71【题目描述】4.16 输出100~200中所有的素数。代码如下:注:代码仅供参考,不只有一种解法。//函数sqrt和函数floor需要调用math.h头文件。#include<iostream>#include<math.h>using namespace std;int main(){ for(int seek=100;seek<=200;seek++){ int enumerate=2; while原创 2020-05-09 22:12:25 · 346 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》水仙花数
来源:《信息学奥赛一本通(C++版)》P68【题目描述】百钱买百鸡问题。鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?代码如下:注:代码仅供参考,不只有一种解法。//pow函数需要调用cmath或math.h。#include<iostream>#include<math.h>using namespace std;int main(){ int digit,unit,decade,hundred; for(digit原创 2020-05-09 22:00:16 · 1104 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》百钱买百鸡问题
来源:《信息学奥赛一本通(C++版)》P68【输入样例】百钱买百鸡问题。鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?代码如下:注:代码仅供参考,不只有一种解法。#include<iostream>using namespace std;int main(){ int cock,hen,chick; for(cock=0;cock<=100;cock++) for(hen=0;hen<=100;hen++) {原创 2020-05-09 14:27:01 · 790 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》“*”构成的n行的直角三角形
【题目描述】对于给定的自然数n(n<20),在屏幕上输出仅由“*”构成的n行的直角三角形。例如:当n=5时,输出:* * * * * ** * * * * * * * *代码如下:注:代码仅供参考,不只有一种解法。#include<iostream>using namespace std;int main(){ int i,j,n; cin>>n; for(i=1;i<=n;++i){for(j=1;j<=原创 2020-05-09 14:17:29 · 2609 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》求s=1!+2!+3!+...+10
【题目描述】例4.12 求s=1!+2!+3!+…+10!代码如下:注:代码仅供参考,不只有一种解法。#include<iostream>using namespace std;int main() { int t2=0; for (int i = 1; i <= 1000; ++i) { int t = 1; for (int j = 1; j <= i; ++j) { t *= j; } t2 += t; } cout << t原创 2020-05-09 14:03:39 · 1692 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》求校体操队的人数
来源:《信息学奥赛一本通(C++版)》P65【题目描述】例4.11 校体操队到操场集合,排成每行2人,最后多出1人;排成每行3人,也多出1人;分别按每行4、5、6人,都多出1人;当排成每行7人,正好不多。求校体操队至少多少人?代码如下:注:代码仅供参考,不只有一种解法。#include<iostream>using namespace std;int main(){ int times=0; bool yes; do{ yes=true; times=times+原创 2020-05-09 13:52:16 · 2809 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》求1992个1992的成绩的末两位数
来源:《信息学奥赛一本通(C++版)》P65【题目描述】例4.10 求1992个1992的成绩的末两位数是多少?代码如下:注:代码仅供参考,不只有一种解法。#include<iostream>using namespace std;int main(){ int a=1,t=0; do{++t;a=(a*92)%100;}while(t!=1992); cout<<a; return 0;}...原创 2020-05-09 13:46:00 · 1124 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》数据统计
来源:《信息学奥赛一本通(C++版)》P61【题目描述】输入一些整数,求出它们的最小值、最大值和平均值(保留3位小数)。输入保证这些数都是不超过1000的整数。【输入样例】2 8 3 5 1 7 3 6【输出样例】1 8 4.375代码如下:注:代码仅供参考,不只有一种解法。#include<cstdio>#define INF 100000000int main() { int x, n = 0, min=INF, max=-INF, s = 0;原创 2020-05-09 13:40:03 · 1581 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》1089:数字反转
来源:《信息学奥赛一本通(C++版)》测评地址:信息学奥赛一本通在线测评【题目描述】给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零,例如输入−380−380,反转后得到的新数为−83−83。【输入】输入共 1 行,一个整数N。−1,000,000,000≤N≤1,000,000,000。【...原创 2020-05-06 14:25:17 · 1145 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》【目录】
《信息学奥赛一本通(C++版)》1053:最大数输出《信息学奥赛一本通(C++版)》1054:三角形判断《信息学奥赛一本通(C++版)》1055:判断闰年《信息学奥赛一本通(C++版)》1056:点和正方形的关系《信息学奥赛一本通(C++版)》1057:简单计算器《信息学奥赛一本通(C++版)》1059:求平均年龄《信息学奥赛一本通(C++版)》1060:均值...原创 2020-05-06 11:48:23 · 1949 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》1060:均值
来源:《信息学奥赛一本通(C++版)》测评地址:信息学奥赛一本通在线测评【题目描述】给出一组样本数据,包含n个浮点数,计算其均值,精确到小数点后4位。【输入】输入有两行,第一行包含一个整数n(n小于100),代表样本容量;第二行包含n个绝对值不超过1000的浮点数,代表各个样本数据。【输出】输出一行,包含一个浮点数,表示均值,精确到小数点后4位。【输入样例】21.0 3.0【...原创 2020-05-05 22:05:32 · 1194 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》1059:求平均年龄
来源:《信息学奥赛一本通(C++版)》测评地址:信息学奥赛一本通在线测评【题目描述】班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。【输入】第一行有一个整数n(1≤ n ≤ 100),表示学生的人数。其后n行每行有1个整数,表示每个学生的年龄,取值为15到25。【输出】输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。【...原创 2020-05-05 21:57:49 · 2028 阅读 · 0 评论 -
利用for循环计算n!的值
来源:《信息学奥赛一本通》p56【题目描述】利用for循环计算n!的值。【分析】n!=1×2×3×···×n代码如下:注:代码仅供参考,不只有一种解法。#include<cstdio>int main(){ long long s=1; int n; scanf("%d",&n); for(int i=1;i<=n;++i) s*=i; pr...原创 2020-05-05 21:45:24 · 10707 阅读 · 0 评论 -
利用do while循环,分别计算1-100中奇数的和、偶数的和【方法二】
【题目描述】利用do while循环,分别计算1-100中奇数的和、偶数的和。代码如下:注:代码仅供参考,不只有一种解法。//do while循环【方法二】#include<iostream>using namespace std;int main(){ int i=1,sum1=0,sum2=0; do{if(i%2==0) sum1=sum1+i;else s...原创 2020-05-05 14:45:29 · 5345 阅读 · 0 评论 -
利用do while循环,分别计算1-100中奇数的和、偶数的和【方法一】
【题目描述】利用do while循环,分别计算1-100中奇数的和、偶数的和。代码如下:注:代码仅供参考,不只有一种解法。//do while循环【方法一】#include<iostream>using namespace std;int main(){ int i=1,sum1=0,sum2=0; do{if(i%2==0) sum1=sum1+i;else s...原创 2020-05-05 14:42:27 · 8303 阅读 · 3 评论 -
利用while循环,分别计算1-100中奇数的和、偶数的和【方法二】
【题目描述】利用while循环,分别计算1-100中奇数的和、偶数的和。代码如下:注:代码仅供参考,不只有一种解法。//while循环【方法二】#include<iostream>using namespace std;int main(){ int i=2,j=1,sum1=0,sum2=0; while(i<=100) {sum1=sum1+i;sum2...原创 2020-05-05 14:38:07 · 5819 阅读 · 0 评论 -
利用while循环,分别计算1-100中奇数的和、偶数的和【方法一】
【题目描述】利用while循环,分别计算1-100中奇数的和、偶数的和。代码如下:注:代码仅供参考,不只有一种解法。//while循环【方法一】#include<iostream>using namespace std;int main(){ int i=1,sum1=0,sum2=0; while(i<=100) {if(i%2==0) sum1=sum1...原创 2020-05-05 14:31:26 · 11602 阅读 · 0 评论 -
利用for循环,分别计算1-100中奇数的和、偶数的和【方法二】
来源:《信息学奥赛一本通》p51【题目描述】利用for循环,分别计算1-100中奇数的和、偶数的和。代码如下:注:代码仅供参考,不只有一种解法。//for循环【方法二】#include<iostream>using namespace std;int main(){ int sum1=0,sum2=0; for(int i=1;i<=100;i++) {i...原创 2020-05-05 14:23:16 · 6539 阅读 · 0 评论 -
利用for循环,分别计算1-100中奇数的和、偶数的和【方法一】
来源:《信息学奥赛一本通》p51【题目描述】利用for循环,分别计算1-100中奇数的和、偶数的和。代码如下:注:代码仅供参考,不只有一种解法。//for循环【方法一】#include<iostream>using namespace std;int main(){ int sum1=0,sum2=0; for(int i=2,j=1;i<=100;i=i...原创 2020-05-05 14:04:23 · 12242 阅读 · 1 评论 -
分别利用for、while、do while,循环求1-100的和
【题目描述】分别利用for、while、do while,循环求1-100的和。代码如下:注:代码仅供参考,不只有一种解法。//for循环#include<iostream>using namespace std;int main(){ int sum=0; for(int i=1;i<=100;i++)sum=sum+i; cout<<"su...原创 2020-05-05 13:07:06 · 8167 阅读 · 3 评论 -
《信息学奥赛一本通(C++版)》1057:简单计算器
【题目描述】一个最简单的计算器,支持+,-,×, / 四种运算。仅需考虑输入输出为整数的情况,数据和运算结果不会超过int表示的范围。然而:如果出现除数为0的情况,则输出:Divided by zero!如果出现无效的操作符(即不为 +, -, ×, / 之一),则输出:Invalid operator!【输入】输入只有一行,共有三个参数,其中第1、2个参数为整数,第3个参数为操作符(+...原创 2020-05-03 22:09:21 · 1933 阅读 · 2 评论 -
《信息学奥赛一本通(C++版)》1056:点和正方形的关系
来源:《信息学奥赛一本通(C++版)》测评地址:信息学奥赛一本通在线测评【题目描述】有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。写一个程序,判断一个给定的点是否在这个正方形内(包括正方形边界)。如果点在正方形内,则输出yes,否则输出no。【输入】输入一行,包括两个整数x、y,以一个空格分开,表示坐标(x,y)。...原创 2020-05-03 18:25:09 · 1923 阅读 · 1 评论 -
《信息学奥赛一本通(C++版)》1055:判断闰年
来源:《信息学奥赛一本通(C++版)》测评地址:信息学奥赛一本通在线测评【题目描述】判断某年是否是闰年。如果公元a年是闰年输出Y,否则输出N。【输入】输入只有一行,包含一个整数a(0 < a < 3000)。【输出】一行,如果公元a年是闰年输出Y,否则输出N。【输入样例】2006【输出样例】N代码如下:注:代码仅供参考,不只有一种解法#include &...原创 2020-05-03 17:55:19 · 1015 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》1054:三角形判断
来源:《信息学奥赛一本通(C++版)》测评地址:信息学奥赛一本通在线测评【题目描述】给定三个正整数,分别表示三条线段的长度,判断这三条线段能否构成一个三角形。如果能构成三角形,则输出“yes”,否则输出“no”。【输入】输入共一行,包含三个正整数,分别表示三条线段的长度,数与数之间以一个空格分开。【输出】如果能构成三角形,则输出“yes” ,否则输出“no”。【输入样例】3 4 ...原创 2020-05-03 17:23:05 · 1008 阅读 · 0 评论 -
《信息学奥赛一本通(C++版)》1053:最大数输出
来源:《信息学奥赛一本通(C++版)》测评地址:信息学奥赛一本通在线测评【题目描述】输入三个整数,数与数之间以一个空格分开。 输出一个整数,即最大的整数。【输入】输入为一行,包含三个整数,数与数之间以一个空格分开。【输出】输出一行,包含一个整数,即最大的整数。【输入样例】10 20 56【输出样例】56代码如下:注:代码仅供参考,不只有一种解法。#include &...原创 2020-05-03 16:54:47 · 1310 阅读 · 0 评论 -
小Q买钢笔
小Q买钢笔来源:《信息学奥赛一本通》p51问题描述期末来临了,班长小Q决定将剩余班费X元钱,用于购买若干支钢笔奖励给一些学习好、表现好的同学。已知商店里有三种钢笔,它们的单价为6元、5元和4元。小Q想买尽量多的笔(鼓励尽量多的同学),同时他又不想有剩余钱。请您编一程序,帮小Q制订出一种买笔的方案。代码如下:#include <iostream>#include <cs...原创 2020-05-02 15:18:20 · 2261 阅读 · 1 评论