21xrx.com
2024-09-19 09:56:27 Thursday
登录
文章检索 我的文章 写文章
C++ 100道题目
2023-07-05 08:00:04 深夜i     --     --
C++ questions challenges programming exercises

C++是一门被广泛使用的编程语言,它具有高效、快速、面向对象等优点,在广泛的领域都有应用。而对于初学者来说,学习过程中需要反复练习不同的题目,才能真正掌握其语法和应用技巧。下面就是C++中的100道练习题目,供大家参考。

1.输出"Hello, World!"。

2.输入两个数并输出它们的和。

3.输入一个数并判断它是正数、负数还是零。

4.输入年份并判断该年份是否为闰年。

5.输入10个数并找出其中的最大值和最小值。

6.输入一串字符并判断其中的数字和字母数量。

7.输入一个正整数n并输出n的阶乘。

8.输入两个正整数并输出它们的最大公约数。

9.输入一个字符串并判断它是否为回文串。

10.输入一个正整数n并输出n以内的所有素数。

11.输入一个正整数n并输出它的所有的因数。

12.输入一个字符串并统计其中的单词数量。

13.输入一个字符串s和一个字符c,输出字符c在字符串s中出现的次数。

14.输入一个正整数n并输出所有n位的水仙花数。

15.输入一个正整数n并输出它的斐波那契数列。

16.输入一个字符串并将其中的小写字母转换为大写字母。

17.输入一个字符串并将其中的大写字母转换为小写字母。

18.输入2n个数(n为正整数),将它们分别按升序排序后输出。

19.输入一个正整数n并输出它的所有质因数。

20.输入两个字符串s和t,输出一个表示它们拼接在一起的新字符串。

21.输入一个字符串s和一个正整数n,输出它的前n个字符。

22.输入一个字符串s和一个正整数n,输出它的后n个字符。

23.输入一个字符串s,将其中的单词按照从后往前的顺序输出。

24.输入一个字符串s和一个正整数n,将其中的每个单词的前n个字符保留,其余部分删除。

25.输入一个字符串s和一个正整数n,将其中的每个单词的后n个字符保留,其余部分删除。

26.输入一个数组以及它的长度n,将数组按升序排序并输出。

27.输入一个数组以及它的长度n,将数组按降序排序并输出。

28.输入一个数组以及它的长度n,输出它的中位数。

29.输入一个数组以及它的长度n,输出该数组的众数。

30.输入一个数组以及它的长度n,输出它的平均值、标准差、方差等统计量。

31.输入一个二维数组以及它的行数m和列数n,输出该二维数组的转置矩阵。

32.输入两个数组以及它们的长度n,将它们拼接在一起并按升序排序后输出。

33.输入一个数n和一个二维数组,它的行数和列数分别为m和k,输出该数组中第n小的元素。

34.输入两个矩阵A和B,输出它们的乘积矩阵C。

35.输入一个数n和一个二维数组,它的行数和列数均为m,输出该数组中最大的一个元素。

36.输入一个矩阵A,输出它的迹。

37.输入一个矩阵A,输出它的行列式。

38.输入一个矩阵A,输出它的逆矩阵。

39.输入一个矩阵A和一个数k,输出该矩阵的k次幂。

40.输入一个标准表达式,并将其转化为后缀表达式。

41.输入一个后缀表达式,并将其计算出结果。

42.输入一个表达式并通过递归求解其值。

43.输入一个分数,并将其化简。

44.输入一个分数,将其分解成埃及分数形式。

45.输入一个三元组(x,y,z),求解x^y mod z。

46.输入一个字符串s和一个数n,求出s的循环节并输出其长度。

47.输入一个字符串s,输出其中的最长回文子串。

48.输入一个字符串s和一个数n,将s分为n个等长子串。

49.输入一个字符串s和一个正整数n,将s分为n个长度相等的子串。

50.输入一个字符串s和一个正整数n,将其中的每n个字符分为一段并分别反转。

51.输入一个数n和一个字符串s,输出长度为n的最长重复子串。

52.输入两个字符串s和t,输出一个最长的公共子序列。

53.输入两个字符串s和t,输出一个最短的公共超序列。

54.输入一个字符串s和一个正整数n,将其中的每n个字符进行一次移位加密。

55.输入一个数字n,并生成一个n×n的螺旋矩阵。

56.输入两个数x和y,并使用辗转相除法求解它们的最大公约数。

57.输入两个数x和y,并使用欧几里得扩展算法求解它们的最大公约数。

58.输入一个数n,并使用线性筛法计算它以内的所有素数。

59.输入一个数n,并使用二分法求解其平方根。

60.输入一个二维数组和它的行数和列数,使用高斯消元法求解其行列式。

61.输入一个矩阵A,使用QR分解将其变为上三角矩阵R。

62.输入一个数n,使用莫反算法求解区间[L,R]中的某个统计量。

63.输入一个字符串s和一个正整数n,将其中的每n个字符进行一次置换加密。

64.输入一个数组A和一个数k,使用快速选择算法求解第k小的元素。

65.输入一个数n和一个二维数组A,使用拓扑排序算法求解它是否存在拓扑序列。

66.输入一个分类数据集,使用决策树算法进行分类。

67.输入一个数n和一个有向带权图,使用Dijkstra最短路算法求解点1到点n的最短距离。

68.输入一个字符串s和一个正整数n,使用费马小定理求解a^(-1) mod p。

69.输入一个字符串s,使用动态规划算法求解它的最长上升子序列长度。

70.输入一个字符串s和一个正整数n,使用动态规划算法求解它的最长公共子序列长度。

71.输入一个数n和一个二维数组,使用动态规划算法求解最大子矩阵和。

72.输入一个字符串s,使用AC自动机算法进行多模式匹配。

73.输入一个有向图,使用Kosaraju算法求解其强连通分量。

74.输入一个数n和一个二分图,使用匈牙利算法求解其最大匹配数。

75.输入一个正整数n,求解Fibonacci数列的第n项。

76.输入一个正整数n、一个数x和一个数组,使用二分查找算法求解数组中第一个大于等于x的数的下标。

77.输入一个字符串s和一个正整数n,在不改变字符串s内部字符顺序的前提下,将其分为n个长度相等的子串并分别反转。

78.输入一个字符串s和一个正整数n,使用ring-buffer算法求解s中出现次数最多的连续n个字符组成的子串。

79.输入一个正整数n,求解它的所有拆分数。例如,n=4时,它的所有拆分方案为:4、3+1、2+2、2+1+1、1+1+1+1,共5种方案。

80.输入一个数n,使用蒙特卡罗算法求解圆周率的估值。

81.输入一堆同性质的物品,求解基于贪心策略的最优解。例如,有一个任务列表,每个具有开始时间和结束时间,求解最多可以完成的任务数量。

82.输入一堆任务,并使用分支定界算法求解一个最优的任务安排。

83.输入一个n元组集合,求解其中的最小生成树。例如,对于下图,则最小生成树为:1-2-4-3-5,总权值为11。

84.输入一系列字符串,通过后缀树算法进行匹配操作。

85.输入一个正整数m和一个正整数n,求解m到n之间的最大公约数和最小公倍数。

86.输入一个数字n和一个1~n的关卡序列,使用动态规划求解通过该关卡所需的最小代价。

87.输入一个方阵和一个镜像轴,求解其对称变换后的新矩阵。

88.输入一个数n和一个有向图,使用Bellman-Ford算法求解它到各个节点的最短路径长度,并判断是否存在负环。

89.输入一个字符串s、一个正整数k和一个字符c,求解s经过k次替换后,从0开始第一个颜色为c的元素下标。

90.输入一个正整数n,求解它的约数和。例如,n=12时,它的约数和为1+2+3+4+6+12=28。

91.输入一个数n和一个矩阵A,通过高斯消元法求解该矩阵的秩。

92.输入一个数n和一个带权图,使用Prim算法求解它的最小生成树。

93.输入一个方阵A和两个正整数i和j,交换A的第i行和第j行并输出新矩阵。

94.输入一个方阵A和两个正整数i和j,交换A的第i列和第j列并输出新矩阵。

95.输入一个有向图和一个起点,使用Dijkstra算法求解起点到其他各点的最短路径长度和路径。

96.输入一个数n和一个图,使用Prim算法求解它的最大生成树。

97.输入一个数n和一个二叉搜索树,求解其中第k小的元素。

98.输入一组线性方程,求解是否存在解。

99.输入一组二次方程,求解是否存在解。

100.输入一组不等式,求解是否存在解。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复