C和C++学习
欧业
个人水平有限,资质平平。但惟愿当一名优秀的程序员。做一些笔记记录自己的成长历程
展开
-
踩坑:子类不能继承父类的statics变量和方法
c++踩坑原创 2022-02-12 14:12:06 · 1794 阅读 · 0 评论 -
C/C++冒泡排序数字、字符串
C/C++冒泡排序数字、字符串冒泡排序相信大家都不陌生,即通过循环,数进行两两比较、交换,像水泡一样小的逐渐往上浮,大的逐渐往下沉,从而达到排序的效果。下面是将输入的十个数进行排序#include <stdio.h>int main() { int a[10]; int i,tem,k; for (i = 0; i < 10; i++) { scanf("%d", (a+i)); } for(i=0;i<10;i++)原创 2021-02-12 10:04:30 · 2190 阅读 · 0 评论 -
C语言/C++判断素数的两种方法
题目:输入n(0<n<1000000),输出n以内的所有素数方法一常规方法,即用循环一个个判断n以内的数是否为素数#include<cstdio>int main(){ int n,i,j,k=0; scanf("%d",&n); for(i=2;i<=n;i+=1+i%2){ j=2; for(;j*j<=i;j++){if(!(i%j))break;} if(j*j>i)pr原创 2021-02-16 23:22:39 · 2045 阅读 · 0 评论 -
C++关于数组中元素的快捷查找
C++关于数组中元素的快捷查找。在一个数组里查找某个元素的位置方法有线性查找和折半查找两种。先说线性查找,即为遍历数组的所有元素,若找到相对应的值则打印其索引值。#include<cstdio>int main(){int a[1000000],n,k,m;scanf("%d%d",&n,&k);//n表示输入数个数,k表示需要查找元素的个数for(int i=0;i<n;i++){scanf("%d",a+i);}for(int j=0;j<k;k+原创 2021-02-07 11:49:05 · 6530 阅读 · 0 评论 -
C语言螺旋(蛇形)输出矩阵中的元素
这是我最近遇到的一道题,解法如下我们可以把一次螺旋输出分为四个步骤,向右、向下、向左、向上,然后继续重复此过程,直至全部输出完毕。我们可以把向右、向下、向左、向上作为一组,用四个循环来表示组与组之间的循环可以用递归表示所以我们可以构造一个这样的函数,分别给它传入矩阵的行数(即右边界)、列数(即上边界)、左边界(上边界)为避免重复,我们可以构造一个与矩阵等大的二维数组来标记矩阵的元素是否被标记过因为输出元素的代码的重复性太高,所以我们可以用宏来代替,增加代码的简洁性和易修改性代码如下#..原创 2021-02-10 12:19:16 · 558 阅读 · 0 评论 -
C语言for循环语句的用法及易错点
C语言for循环语句的用法及易错点文章目录C语言for循环语句的用法及易错点引言基本语法代码规范性问题引言for循环语句可以说是C语言中最为基本的语法结构之一,但我在使用过程中发现几个易错点,想跟大家分享一下基本语法以一个最为常见的例子为例for(int i = 0; i < n; i++){}这是最为基本的for循环结构,第一部分为变量初始化,第二部分为判断循环是否进行的条件,第三部分是对变量进行的相关操作。代码规范性问题...原创 2021-03-04 08:15:32 · 3910 阅读 · 0 评论 -
C语言如何输出转置矩阵
##关于C语言如何输出转置矩阵我们遇到这样的题目,即对于一个给定的 3×3 矩阵,请将其顺时针旋转 90 度后输出。即要求我们输出一个转置矩阵。为了使结论更具普遍性,此处我们讨论n*n矩阵的转置。方法一 我们可以这样考虑,转置实则是将列转变为行,只需按a[n][1]、a[n-1][1]…a[1][1] a[n][2]…在这里插入代码片...原创 2021-02-09 19:06:18 · 7056 阅读 · 1 评论 -
C语言高效位运算的妙用
高效位运算的妙用文章目录高效位运算的妙用引言位运算符二进制补码运算公式应用乘法求余数判断奇偶性相反数求整数的绝对值交换整数判断一个数是否是2的幂求平均数掩码集合的表示引言计算机的存储器是采用二进制表示数据,直接用位运算直接处理内存,可以高效处理问题,提高问题解决的效率。位运算符位运算符有&(按位与),|(按位或),^(按位或与),<<(左移),>>(右移),~(按位取反)二进制补码运算公式-x = ~x + 1 = ~(x-1)~x = -x-1-(~x)原创 2021-02-14 23:22:06 · 238 阅读 · 0 评论 -
C语言建立长度未知的动态数组(动态分配内存)
建立长度未知的动态数组(动态分配内存)文章目录建立长度未知的动态数组(动态分配内存)引语基础概念malloc函数定义法calloc函数定义法(推荐)引语一般题目要输入一个长度为n的数组(n需要输入),因为其长度未知,我们常规方法是建立一个足够长的数组,如a[100],a[10000000]等。这样处理的缺点是会消耗大量不必要的内存。因此我们有必要引入动态分配内存的介绍。这种方法可以根据输入n的大小来动态规定数组长度基础概念堆区的内存需要程序员手动申请,这时需要引入malloc.h的库,这里原创 2021-02-12 21:57:00 · 13229 阅读 · 8 评论