c/c++语言学习
文章平均质量分 69
OnlyFeiger
青青子衿,悠悠我心。
展开
-
C语言实现shell
C语言实现小shell涉及到的函数获取用户名 :uid_t getuid(void);struct passwd *getpwuid(uid_t uid);//getpwuid 返回一个结构体指针,可以用来获取下列结构struct passwd { char *pw_name; /* username */ char *pw_passwd; /* user password */原创 2021-05-28 17:17:23 · 1459 阅读 · 0 评论 -
C++输出格式控制
标准输出流(cout)C++ 标准库提供了一组丰富的输入/输出功能,我们将在后续的章节进行介绍。本章将讨论 C++ 编程中最基本和最常见的 I/O 操作。C++ 的 I/O 发生在流中,流是字节序列。如果字节流是从设备(如键盘、磁盘驱动器、网络连接等)流向内存,这叫做输入操作。如果字节流是从内存流向设备(如显示屏、打印机、磁盘驱动器、网络连接等),这叫做输出操作。头文件函数及描述<iostream>该文件定义了 cin、cout、cerr 和 clog 对象,分别原创 2021-02-17 18:50:10 · 576 阅读 · 2 评论 -
递归:矩阵螺旋输出(36行搞定)
递归解矩阵螺旋做题的时候遇到一个有点意思的小提目, 之前用枚举法和暴力遍历做个的矩阵螺旋输出,然后当天晚上想了下用递归做非常爽 题目如下:给定一个 mm 行、nn 列的矩阵,请按照顺时针螺旋的顺序输出矩阵中所有的元素起初的想法很单纯, 就是控制输出边界, 然后一直循环到最内层,结束, 但是本人不想这么复杂, 就去csdn上搜这个题目,看看有没有巧妙的方法, 看了半天,发现大部分的做法都很单纯, 大致思路都是: 记录矩阵的箭头每走一行或者一列以后下一个平行的箭头还能走多少位置. pass away原创 2021-02-16 17:28:33 · 441 阅读 · 1 评论 -
素数筛进阶(二)线性筛算法
求一个数的最小素因子#include<stdio.h>#define MAX_N 1000int prime[MAX_N + 5];void init() { for (int i = 2; i <= MAX_N; ++i) { if prime[i] continue; prime[++prime[0]] = i; for (int j = i ; j <= MAX_N; j+=i){ if (p原创 2021-02-04 16:54:58 · 183 阅读 · 0 评论 -
线性筛进阶(三): 求N的因子个数
线性筛算法思路利用线性筛判断如果N是素数,那么其因子的个数为2.一个非素数N可以写成素因子幂次连乘的形式.列如 12 的因子个数为 6 个, 可以用素因数的(幂次+1)乘素因数的(幂次+1) : 对素因数的不同取法都是12的因子.首先先完成线性筛函数,然后改写#define MAX_N 1000int prime[MAX_N + 5] = {0};void init() { for (int i = 2; i <= MAX_N; i++) {原创 2021-02-04 16:26:05 · 1436 阅读 · 0 评论 -
C语言学习(简版printf函数实现)
stdio库中的printf的函数原型:int printf( const char *format, … ); // 函数的返回值为int, 表示正确输出的参数个数;const char * frmfrm指针指向的内容为常量,不可以更改char * const frmfrm的地址为常量不可更改,指向的内容可更改;简版printf函数 实现思路借助putchar函数,实现从0到1 的转变.学习重要的是学习思维my_printf函数代码#include <st原创 2021-02-04 16:09:59 · 403 阅读 · 1 评论