
C++自学例题
知识点与例题配套学习,提高实战能力
「已注销」
这个作者很懒,什么都没留下…
展开
-
支票代码输出(语言基础)
目录1.问题描述2.题目分析3.代码输入支票代码(正整数)和支票金额(浮点数);按格式要求输出:支票代码占8位,不足8位,则补充前导符‘0’;支票金额保留两位小数 。【样例输入】123456 123.1【样例输出】00123456123.10(1)输入:支票代码为正整数,用unsigned int定义。支票金额为浮点数,用float或double定义。(2)输出:支票代码有特定宽度和填充字符,用setfill('a')表示填充字符a,用setw(n)表示宽度为n支票金额输出时取特定位数,用setiosfla原创 2022-06-22 07:37:27 · 609 阅读 · 0 评论 -
找7(for循环)
【题目要求】找出1~100内所有含7和7的倍数的数字并显示在屏幕上。【题目分析】1.循环遍历1~1002.找含7和7的倍数 1)7、14、28、35…… num%7=0 2)17、27、37…… num/10=73)70、71、72…… num/10=7#include<iostream>using namespace std;int main(){ for(int num=1;num<=100;num++) { if(num%7==0||num..原创 2022-01-21 16:09:21 · 1499 阅读 · 0 评论 -
水仙花数(do-while循环)
【题目要求】水仙花数是指一个3位数,它的各位数的3次方和为本身(153=1^3+5^3+3^3)。请输出所有3位数中的水仙花数。【题目分析】1.循环遍历所有3位数2.判断是否为水仙花数#include<iostream>using namespace std;int main(){ int n=100; do { int a=0,b=0,c=0; a=n%10; //个位 b=n/10%10; //n/10用于舍弃掉个位数 c=n/100;原创 2022-01-21 15:43:10 · 2570 阅读 · 0 评论 -
猜数字(while 循环应用)
【题目要求】系统随机生成一个1~100的随机数字,玩家进行猜测,如果猜错,提示玩家数字过大或过小,猜对则恭喜玩家并退出游戏。【题目分析】1.生成一个1-100 的随机数2.玩家输入数字3.对比数字,猜错提示过大/过小并循环至第2步,猜对退出#include<iostream>#include<ctime> //获取系统时间的头文件 #include<stdlib.h> //srand、rand 函数所在头文件 using namespa原创 2022-01-21 15:21:00 · 3820 阅读 · 0 评论 -
折半查找/二分循环(循环逼近)
【题目要求】从给定有序序列中查找需求数。【题目解析】找出下标为n/2的值进行比较,若大于则在左侧找,小于在右侧找,再次找其n/2的值比较,循环直至找到或序列结束1 给定有序序列2 循环+判断:找到下标为n/2的值比较,循环取对半,再次比较。3 取不到下标为n/2时,循环结束,找不到#include<iostream>using namespace std;int main(){ int a[10]={1,2,3,4,5,6,7,8,9,10}; int f原创 2022-01-10 10:53:15 · 326 阅读 · 0 评论 -
顺序查找(循环枚举)
【题目要求】从给定序列中查找需求数。【题目解析】让需求数与序列数逐个比较,直至找到或序列结束1 给定一串数2 一重循环:按顺序比较需求数与序列数#include<iostream>using namespace std;int main(){ int a[10]={1,2,3,4,5,6,7,8,9,10}; int find,k; cin>>find; for(int i=0;i<10;i++) { if(a[i]==find)原创 2022-01-10 10:22:31 · 416 阅读 · 0 评论 -
选择排序(循环嵌套)
【题目要求】给定一串数字,要求将数字有小到大按顺序输出。【题目解析】开始时按顺序选择一个位置,从其后方找到比它小的最小值进行交换。例如下图:1 建立动态数组2 建立双重循环,分别为: 按顺序选择初始位置,找到后方比它小的最小值3 使用swap交换,头文件algorithm。#include<iostream>#include<algorithm>using namespace std;int main(){ int n,k; //k为定位原创 2022-01-10 10:00:49 · 356 阅读 · 0 评论 -
冒泡排序(循环嵌套)
【冒泡排序】【题目要求】给定一串数字,要求将数字有小到大按顺序输出。【题目解析】从第一个开始比较大小,若大于后方则后移,直至移动到比后方小或移至最后。例如下图:1.建立动态数组存放2.建立双重循环,分别为:从第一个开始到最后一个结束,从第一个开始比较至符合条件。#include<iostream>#include<algorithm> //swap函数头文件 using namespace std;int main(){ int n;原创 2022-01-10 09:27:52 · 299 阅读 · 0 评论 -
求最大公约数(构造函数)
【题目要求】构造函数,输入2个数,求它们的最大公约数【题目解析】方法一:枚举法求最大公约数#include<iostream>using namespace std;int gcd(int a,int b) //最大公约数函数 { if(a<b) //从二者间较小的数开始判断并减小,直至找到可以被大数整除的数 { for(int i=a;i>0;i--) { if(b%i==0) return i; } } else i原创 2022-01-08 11:11:27 · 456 阅读 · 0 评论 -
泰勒展开求π近似值(复杂循环)
【题目描述】泰勒展开:π/4≈1-1/3+1/5-1/7+1/9-...,求π的近似值,要求其最后一项绝对值大于1e-7【题目解析】1.分析题目:(1)公式规律:后项与前项相比,系数乘以-1,分母+2。(2)按公式得到的结果*4为最终π值(3)最后一项绝对值大小作为限定条件2.代码构成:(1)变量设定:各项值(其中变量:系数、分母),各项之和(2)while循环求出各项值,绝对值作为限定(fabs求绝对值,头文件cmath)#include<iostream>原创 2022-01-08 10:50:10 · 5326 阅读 · 0 评论 -
百钱百鸡问题(循环穷举)
【题目描述】有人有一百块钱,打算买一百只鸡,公鸡一只5元,母鸡一只3元,小鸡3只1元,求各应买多少?#include<iostream>using namespace std;int main(){ int x,y,z; for(x=0;x<20;x++) //限制公鸡总数 { for(y=0;y<33;y++) //限制母鸡总数 { for(z=0;z<100;z++) //限制小鸡总数 { if(z%3==0;x+原创 2022-01-04 08:21:08 · 2196 阅读 · 0 评论 -
求斐波那契(Fibonacci)数列(循环迭代)
【题目描述】求斐波那契数列的前40项。斐波那契数列公式如下f(1)=1, f(2)=1, f(n)=f(n-1)+f(n-2)原创 2022-01-08 08:35:38 · 3532 阅读 · 0 评论