【C++代码之美】你不得不知道的经典代码

这篇具有很好参考价值的文章主要介绍了【C++代码之美】你不得不知道的经典代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【华为OD机试真题 2022&2023】真题目录 @点这里@

【华为OD机试真题】信号发射和接收 &试读& @点这里@

【华为OD机试真题】租车骑绿道 &试读& @点这里@

1.斐波那契数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……

如下代码是15阶的斐波那契数列:

代码如下:

#include <iostream>

using namespace std;

int main() {
    int arr[15]; // 定义一个长度为15的整型数组
    arr[0] = 1; // 数列的第一个数字为1
    arr[1] = 1; // 数列的第二个数字为1
    for (int i = 2; i < 15; i++) { // 从第三个数字开始计算
        arr[i] = arr[i - 2] + arr[i - 1]; // 数列中每个数字都是前两个数字之和
    }
    for (int i = 0; i < 15; i++) { // 输出数列中的每个数字
        cout << arr[i] << endl;
    }
    cout << endl; // 换行
    return 0;
}

输出结果:

【C++代码之美】你不得不知道的经典代码

2.水仙花数

题目:

打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

代码如下:

#include <iostream> // 引入iostream库,用于输入输出

using namespace std; // 使用std命名空间

int main(int argc, const char *argv[]) // 主函数
{
    for(int i=1;i<10;i++){ // 循环i从1到9
        for (int j=0;j<10;j++){ // 循环j从0到9
            for (int k=0;k<10;k++){ // 循环k从0到9
                if(i*i*i+j*j*j+k*k*k==i*100+j*10+k) // 如果i的三次方加上j的三次方加上k的三次方等于i乘以100加上j乘以10加上k
                cout << i*100+j*10+k << endl; // 输出i乘以100加上j乘以10加上k,并换行
                
            }
 
        }
    }
    return 0; // 返回0,表示程序正常结束
}

输出结果:

【C++代码之美】你不得不知道的经典代码

3.杨辉三角

杨辉三角的每行行首与每行结尾的数都为1.而且,每个数等于其左上及其正上二数的和。
代码如下:

#include <iostream>
using namespace std;

int main() {
    int a[15][15] = {{0}}; // 定义一个15行15列的二维数组,初始化为0
    int i, j;
    for (i = 0; i < 15; i++) {
        a[i][0] = 1; // 每行第一个元素为1
        for (j = 1; j <= i; j++) {
            a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; // 其他元素为上一行相邻两个元素之和
        }
    }
    for (i = 0; i < 15; i++) {
        for (j = 0; j <= i; j++) {
            cout << a[i][j] << "    "; // 输出每个元素,占8个字符宽度
        }
        cout << endl; // 每行输出完毕后换行
    }
    return 0;
}

输出结果:

【C++代码之美】你不得不知道的经典代码

4.猴子吃桃

一只小猴子一天摘了许多桃子,第一天吃了一半,然后忍不住多吃了一个。第二天又吃了一半,再加上一个;后面每天都是这样吃.到第10天的时候,小猴子发现只有一个桃子了。
问小猴子第一天共摘了多少个桃子?
用递归函数求得小猴子第一天共摘了多少个桃子。

代码如下:

#include <iostream>
using namespace std;

int tao(int n); // 函数声明

int main() {
    cout << tao(10) << endl; // 输出数列的第10项
    return 0;
}

int tao(int n) {
    if (n == 1) { // 递归结束条件
        return 1;
    }
    return (tao(n - 1) + 1) * 2; // 递归调用,计算数列的第n项
}

函数tao是一个递归函数,它的参数是数列的项数n,返回值是数列的第n项。在函数内部,我们首先判断递归结束的条件,即当n等于1时,返回1。否则,我们递归调用tao(n - 1)来计算数列的第n-1项,然后加1并乘以2,得到数列的第n项。

输出结果:

【C++代码之美】你不得不知道的经典代码

5.编写一个持续刷新的时钟

代码如下:

#include <iostream>
#include<unistd.h>
using namespace std;

int main() {
    int year, month, day, hour, min, sec;
    cin >> year >> month >> day >> hour >> min >> sec; // 读入年月日时分秒

    while (1) {
        sleep(1); // 程序暂停1秒

        if (sec < 59) { // 秒数小于59,秒数加1
            sec++;
        } else if (min < 59) { // 秒数等于59,分钟数小于59,分钟数加1,秒数归零
            min++;
            sec = 0;
        } else if (hour < 23) { // 秒数等于59,分钟数等于59,小时数小于23,小时数加1,分钟数和秒数归零
            hour++;
            min = 0;
            sec = 0;
        } else if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) && day < 31) { // 秒数等于59,分钟数等于59,小时数等于23,月份为31天的月份,日期小于31,日期加1,小时数、分钟数和秒数归零
            day++;
            hour = 0;
            min = 0;
            sec = 0;
        } else if (month == 2 && day < 28) { // 秒数等于59,分钟数等于59,小时数等于23,月份为2月,日期小于28,日期加1,小时数、分钟数和秒数归零
            day++;
            hour = 0;
            min = 0;
            sec = 0;
        } else if ((month == 4 || month == 6 || month == 9 || month == 11) && day < 30) { // 秒数等于59,分钟数等于59,小时数等于23,月份为30天的月份,日期小于30,日期加1,小时数、分钟数和秒数归零
            day++;
            hour = 0;
            min = 0;
            sec = 0;
        } else if (month < 12) { // 秒数等于59,分钟数等于59,小时数等于23,日期为当月最后一天,月份小于12,月份加1,日期变为1号,小时数、分钟数和秒数归零
            month++;
            day = 1;
            hour = 0;
            min = 0;
            sec = 0;
        } else { // 秒数等于59,分钟数等于59,小时数等于23,日期为当月最后一天,月份等于12,年份加1,月份变为1月,日期变为1号,小时数、分钟数和秒数归零
            year++;
            month = 1;
            day = 1;
            hour = 0;
            min = 0;
            sec = 0;
        }

        // 输出当前时间,\r表示不换行,而是回到行首
        printf("%02d:%02d:%02d:%02d:%02d:%02d\r", year, month, day, hour, min, sec);
        fflush(stdout); // 刷新输出缓冲区
    }

    return 0;
}

输出结果:

【C++代码之美】你不得不知道的经典代码
输出当前的时间之后,代码就不断运行并持续刷新。。。

6.字符串中某个字符出现的次数

写一个函数有两个参数,第一个参数是个字符,第二个参数是个char *,
函数功能为返回这个字符串中该字符的个数。

代码如下:

代码解读:

这段代码定义了一个函数 func,用于统计字符串中指定字符的个数。在 main 函数中,首先读取一个字符和一个字符串,然后调用 func 函数统计指定字符在字符串中出现的次数,并输出结果。其中,使用 cin.ignore() 函数忽略输入缓冲区中的换行符,使用 cin.getline() 函数读取一行字符串,最多读取 29 个字符。

#include <cstdio>
#include <iostream>
#include <cstring>

// 统计字符串中指定字符的个数
int func(char a, char *b) {
    int i = 0;
    while (*b) { // 当指针 b 指向的字符不为 '\0' 时,继续循环
        if (a == *b) { // 如果指定字符与当前字符相等
            i++; // 计数器加 1
        }
        b++; // 指针 b 向后移动一位
    }
    return i; // 返回计数器的值
}

int main() {
    char c;
    char s[30] = ""; // 初始化为全 0,等价于初始化为空字符串
    std::cout << "请输入一个字符:" << std::endl;
    std::cin >> c; // 读取一个字符
    std::cin.ignore(); // 忽略输入缓冲区中的换行符
    std::cout << "请输入一个字符串:" << std::endl;
    std::cin.getline(s, 30); // 使用 getline 函数读取一行字符串,最多读取 29 个字符
    int count = func(c, s); // 调用函数统计指定字符在字符串中出现的次数
    std::cout << "字符 " << c << " 在字符串中出现了 " << count << " 次。" << std::endl; // 输出结果
    return 0;
}

输出结果:

【C++代码之美】你不得不知道的经典代码

7.逆序输出

字符串逆序输出:

代码如下:

#include <iostream>
#include <string>
using namespace std;

int main() {
    string str;
    cout << "Enter a string: "; // 提示用户输入字符串
    getline(cin, str); // 读取用户输入的字符串
    cout << "Reverse string: ";
    for (int i = str.length() - 1; i >= 0; i--) {
        cout << str[i]; // 逆序输出字符串中的字符
    }
    cout << endl;
    return 0;
}

输出结果:

【C++代码之美】你不得不知道的经典代码

数组逆序输出:

代码如下:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> a = {1,2,3,4,5,6}; // 定义一个vector a,里面存放了1到6这6个整数
    int n = a.size(); // 获取a的长度
    int *p = &a[0]; // 定义一个指向a的第一个元素的指针p
    int *q = &a[n-1]; // 定义一个指向a的最后一个元素的指针q
    while(p < q) { // 当p小于q时,执行以下操作
        int temp = *p; // 定义一个临时变量temp,存放p指向的元素的值
        *p = *q; // 将p指向的元素的值赋值为q指向的元素的值
        *q = temp; // 将q指向的元素的值赋值为temp
        p++; // p指针向后移动一位
        q--; // q指针向前移动一位
    }
    for(int i = 0; i < n; i++) { // 遍历a中的元素
        std::cout << a[i] << " "; // 输出a中的元素
    }
    std::cout << std::endl; // 输出一个换行符
    return 0; // 返回0
}

输出结果:

【C++代码之美】你不得不知道的经典代码

8.实现冒泡排序

代码如下:

#include <iostream>
using namespace std;

int main() {
    int arr[10];
    for (int i = 0; i < 10; i++) {
        cin >> arr[i]; // 输入数组元素
    }

    // 冒泡排序
    for (int i = 0; i < 9; i++) { // 外层循环控制排序轮数
        for (int j = 0; j < 9 - i; j++) { // 内层循环控制每轮比较次数
            if (arr[j] > arr[j + 1]) { // 如果前一个元素大于后一个元素,交换它们的位置
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }

    cout << "排序后的数组为:";
    for (int i = 0; i < 10; i++) {
        cout << arr[i] << " "; // 输出排序后的数组
    }
    cout << endl;

    return 0;
}

输出结果:

【C++代码之美】你不得不知道的经典代码

9.n行数组之和

题目:输入的第一行有一个数字N代表接下来有N行数组,每一行数组有不固定个数的整数(最多20个,每行最大200个字元),请你写一个程序将每行的总和打印出来。

代码如下:

代码解读:

这段代码是一个读取输入的程序,它首先读取一个整数n,表示接下来有n行输入。然后对于每一行输入,它将这一行字符串转换为stringstream类型的对象ss,然后从ss中读取整数并求和,最后输出这一行的和。

#include <iostream>
#include <sstream>
using namespace std;
int main()
{
    string s; // 定义一个字符串s,用于存储输入的一行
    stringstream ss; // 定义一个stringstream类型的对象ss,用于将字符串转换为整数
    int n, i, sum, a; // 定义整数n,i,sum和a,其中n表示输入的行数,i表示当前处理的行数,sum表示当前行的和,a表示从stringstream中读取的整数
    cin >> n; // 读取输入的行数
    getline(cin, s); // 读取换行符,用于清空输入缓冲区
    for (i = 0; i < n; ++i) // 循环处理每一行输入
    {
        getline(cin, s); // 读取一行输入
        ss.clear(); // 清空stringstream对象
        ss.str(s); // 将字符串s存入stringstream对象
        sum = 0; // 将当前行的和初始化为0
        while (1) // 循环读取stringstream中的整数
        {
            ss >> a; // 从stringstream中读取一个整数
            if (ss.fail()) // 如果读取失败,说明已经读取完了当前行的所有整数
                break; // 跳出循环
            sum += a; // 将读取的整数加入当前行的和中
        }
        cout << sum << endl; // 输出当前行的和
    }
    return 0; // 程序结束
}

输出结果:

输入两组数,第一组数1 2 3 4 5之和为15,第二组数7 8 9之和为24:
【C++代码之美】你不得不知道的经典代码

10.整型数组内函数求和

代码如下:

#include <stdio.h>

// 声明一个函数,用于计算整数数组的和
int array_sum(int *data, int n);

int main(int argc, const char *argv[])
{
    // 定义一个整数数组
    int a[] = {1, 2, 3, 4, 5, 6, 7, 8};
    int sum = 0;

    // 调用 array_sum 函数计算数组的和
    sum = array_sum(a, sizeof(a) / sizeof(int));

    // 输出数组的和
    printf("sum=%d\n", sum);

    return 0;
}

// 实现 array_sum 函数
int array_sum(int *data, int n)
{
    int ret = 0;
    int i;

    // 遍历整数数组,计算数组的和
    for (i = 0; i < n; i++)
    {
        ret += data[i];
    }

    return ret;
}

输出结果:

【C++代码之美】你不得不知道的经典代码

11.计算某字符在字符串中出现的次数

写一个函数有两个参数,第一个参数是char,第二个参数是string
函数功能为返回这个字符串中该字符的个数。

代码如下:

#include <iostream> // C++标准库头文件
#include <string> // C++标准库头文件,用于使用std::string类型

using namespace std; // 使用std命名空间

void func(char a, string b); // 函数声明

int main(int argc, const char *argv[]) {
    char c;
    string s; // 使用std::string类型
    cout << "Please input char:" << endl;
    cin >> c;
    cin.ignore(); // 忽略输入流中的换行符
    cout << "Please input string:" << endl;
    getline(cin, s); // 使用std::getline()函数读取一行字符串
    func(c, s);
    return 0;
}

void func(char a, string b) {
    int i = 0;
    for (char& c : b) { // 使用C++11的范围for循环遍历字符串
        if (a == c) {
            i++;
        }
    }
    cout << i << endl;
}

输出结果:

【C++代码之美】你不得不知道的经典代码

12.删除字符串中的空格

代码如下:

#include <iostream>
#include <string.h>

// 函数:从字符串中删除空格
void del_space(char *s1);

int main(int argc, const char *argv[])
{
    // 带有空格的输入字符串
    char s[]="a d  gg sd ";

    // 打印原始字符串
    std::cout << "原始字符串:" << s << std::endl;

    // 调用函数删除空格
    del_space(s);

    // 打印修改后的字符串
    std::cout << "修改后的字符串:" << s << std::endl;

    return 0;
}

// 函数:从字符串中删除空格
void del_space(char *s1)
{
    // 指针:遍历字符串
    char *s2;

    // 初始化指针为字符串的开头
    s2=s1;

    // 循环遍历字符串
    while(*s1){
        if(*s1==' ')
        {
            // 如果遇到空格,则跳过
            s1++;
        }else{
            // 如果遇到非空格字符,则将其复制到新字符串中
            *s2=*s1;
            s1++;
            s2++;
        }
    }

    // 在新字符串的末尾添加空字符
    *s2='\0';
}

输出结果:

【C++代码之美】你不得不知道的经典代码

13.统计字符串中数字字符个数及数字字符之和

代码如下:

#include <iostream>
#include <string>

int main() {
    std::string s; // 定义一个字符串s,用于存储输入的字符串
    int i=0; // 定义一个整型变量i,用于遍历字符串s
    int j=0; // 定义一个整型变量j,用于记录字符串s中数字字符的个数
    int sum=0; // 定义一个整型变量sum,用于记录字符串s中数字字符的和
    std::getline(std::cin, s); // 从标准输入读取字符串s
    //std::cout << s << std::endl;
    while(s[i]!='\0'){ // 遍历字符串s,直到遇到字符串结束符'\0'
        if('0'<=s[i]&&s[i]<='9'){ // 判断当前字符是否为数字字符
            j++; // 如果是数字字符,则将j加1
            sum+=(s[i]-'0'); // 将当前数字字符转化为整型数值并加到sum中
        }
        i++; // 将i加1,继续遍历下一个字符
    }
    std::cout << "字符串中数字字符的个数为:" << j << std::endl; // 输出字符串s中数字字符的个数
    std::cout << "字符串中数字字符求和为:" << sum << std::endl; // 输出字符串s中数字字符的和
    return 0; // 返回0,表示程序正常结束
}

输出结果:

【C++代码之美】你不得不知道的经典代码

14.二维数组中最大值及其所在的位置

代码如下:

#include <iostream>
using namespace std;

int main() {
    int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}}; // 定义一个3x3的二维数组a
    int i, j, row, column;
    row = column = 0; // 初始化最大值所在的行和列
    for (i = 0; i < 3; i++) { // 遍历二维数组
        for (j = 0; j < 3; j++) {
            if (a[row][column] < a[i][j]) { // 如果当前元素比最大值还大
                row = i; // 更新最大值所在的行
                column = j; // 更新最大值所在的列
            }
        }
    }
    cout << "max=" << a[row][column] << " 最大值所在行为" << row << "行 " << column << "列" << endl; // 输出最大值及其所在的行和列
    return 0;
}

输出结果:

【C++代码之美】你不得不知道的经典代码

15.简易超市收费系统

代码如下:

#include <iostream>
using namespace std;

int main() {
    int n; // 定义一个整型变量n,用于存储用户输入的会员类型
    double m; // 定义一个双精度浮点型变量m,用于存储用户输入的消费金额
    cout << "***********************************************\n";
    cout << "欢迎你来给我送钱,请按以下步骤进行送钱程序\n";
    cout << "1、是尊贵会员请输入 1以及消费金额\n";
    cout << "2、不是尊贵会员请输入 2以及消费金额\n";
    cout << "***********************************************\n";
    cin >> n >> m; // 从标准输入流中读取用户输入的会员类型和消费金额
    if(n == 1){ // 如果会员类型为1,即为尊贵会员
        if(m < 100){ // 如果消费金额小于100元
            cout << "money is " << m * 0.99 << endl; // 打印折扣后的金额
        } else if(m < 200){ // 如果消费金额在100元到200元之间
            cout << "money is " << m * 0.95 << endl; // 打印折扣后的金额
        } else if(m < 300){ // 如果消费金额在200元到300元之间
            cout << "money is " << m * 0.92 << endl; // 打印折扣后的金额
        } else if(m < 500){ // 如果消费金额在300元到500元之间
            cout << "money is " << m * 0.88 << endl; // 打印折扣后的金额
        } else { // 如果消费金额大于等于500元
            cout << "money is " << m * 0.8 << endl; // 打印折扣后的金额
        }
    } else { // 如果会员类型不为1,即为普通会员
        if(m < 100){ // 如果消费金额小于100元
            cout << "money is " << m << endl; // 打印原始金额
        } else if(m < 200){ // 如果消费金额在100元到200元之间
            cout << "money is " << m * 0.98 << endl; // 打印折扣后的金额
        } else if(m < 300){ // 如果消费金额在200元到300元之间
            cout << "money is " << m * 0.95 << endl; // 打印折扣后的金额
        } else if(m < 500){ // 如果消费金额在300元到500元之间
            cout << "money is " << m * 0.9 << endl; // 打印折扣后的金额
        } else { // 如果消费金额大于等于500元
            cout << "money is " << m * 0.88 << endl; // 打印折扣后的金额
        }
    }
    return 0; // 返回0,表示程序正常结束
}

输出结果:

【C++代码之美】你不得不知道的经典代码

16.完数

一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
找出1000以内的所有完数。

代码如下:

#include <iostream>

using namespace std;

int main() {
    int i, j, sum; // 声明变量i、j和sum
    cout << "1000以内的完数为: ";
    for (i = 3; i <= 1000; i++) { // 循环遍历3到1000之间的所有数
        sum = 1; // 初始化sum为1
        for (j = 2; j < i; j++) { // 循环遍历2到i-1之间的所有数
            if ((i % j) == 0) { // 如果i能够被j整除
                sum += j; // 将j加入到sum中
            }
        }
        if (sum == i) { // 如果sum等于i
            cout << i << " "; // 输出i
        }
    }
    cout << endl;
    return 0; // 返回0表示程序正常结束
}

输出结果:

【C++代码之美】你不得不知道的经典代码

17.选择排序算法:

代码如下:

代码解读:

选择排序的基本思想是:每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。在这段代码中,首先定义了一个常量N为5,表示待排序的数据元素个数为5。然后定义了一个长度为N的整型数组num,用于存放待排序的数据元素。接着通过循环输入N个数,并将输入的数存入数组num中。接下来是选择排序的核心代码,通过两层循环,每次找到待排序数据元素中最小值的下标,然后将其与当前位置的值进行交换,直到全部待排序的数据元素排完。最后通过循环输出排序后的结果。
根据选择排序的基本思想,每次需要从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。在这段代码中,外层循环需要循环N-1次,内层循环需要循环N-i-1次,因此选择排序的时间复杂度为 O ( n 2 ) O(n^2) O(n2)

#include <iostream>
using namespace std;

#define N 5  // 定义常量N为5

int main() {
    int i, j, k, temp;  // 定义变量i、j、k、temp
    int num[N];  // 定义长度为N的整型数组num

    cout << "请输入" << N << "个数:" << endl;  // 输出提示信息

    // 输入
    for (i = 0; i < N; i++) {  // 循环输入N个数
        cin >> num[i];  // 将输入的数存入数组num中
    }

    // 选择排序
    for (i = 0; i < N - 1; i++) {  // 外层循环,循环N-1次
        k = i;  // 将当前位置设为最小值的下标
        for (j = i + 1; j < N; j++) {  // 内层循环,循环N-i-1次
            if (num[j] < num[k]) {  // 如果当前位置的值比最小值小
                k = j;  // 将最小值的下标设为当前位置
            }
        }
        if (k != i) {  // 如果最小值不是当前位置的值,则交换
            temp = num[i];
            num[i] = num[k];
            num[k] = temp;
        }
    }

    // 输出
    cout << "排序后的结果为:" << endl;  // 输出提示信息
    for (i = 0; i < N; i++) {  // 循环输出排序后的结果
        cout << num[i] << " ";
    }
    cout << endl;

    return 0;  // 返回0表示程序正常结束
}

输出结果:

【C++代码之美】你不得不知道的经典代码

18.求三角形的面积

代码如下:

#include <iostream>  // 更改头文件的名称
#include <cmath>     // 更改头文件的名称

int main(int argc, char **argv) {  // 更改main函数的返回类型
    long double area;  // 更改double为long double
    long double a, b, c, s, n;  // 更改double为long double
    std::cout << "请输入三角形的三边长" << std::endl;
    std::cin >> a >> b >> c;  // 更改输入语句
    if ((a + b) > c && (a + c) > b && (b + c) > a) {
        s = 1.0 / 2 * (a + b + c);
        area = std::sqrt(s * (s - a) * (s - b) * (s - c));  // 更改sqrt函数
        std::cout << area << std::endl;  // 更改输出语句
    } else {
        std::cout << "错误" << std::endl;  // 更改输出语句
    }
    return 0;
}

输出结果:

【C++代码之美】你不得不知道的经典代码文章来源地址https://www.toymoban.com/news/detail-430006.html

到了这里,关于【C++代码之美】你不得不知道的经典代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Github】作为程序员不得不知道的几款Github加速神器

    众所周知,近几年国内用户在访问 Github 时,经常间歇性无法访问 Github 。 接下来推荐几款 作为程序员不得不知道的 Github加速神器 。 FastGithub 是一款 Github 加速神器,解决github打不开、用户头像无法加载、releases无法上传下载、git-clone、git-pull、git-push失败等问题。 它支持多

    2024年02月12日
    浏览(41)
  • 最流行的AI绘图工具Midjourney,你不得不知道的使用技巧

    ​关注文章下方公众号,可免费获取AIGC最新学习资料   本文字数:1500,阅读时长大约:10分钟 Midjourney成为了最受欢迎的生成式AI工具之一。它的使用很简单。输入一些文本,Midjourney背后的大脑(或计算机)将自动为您绘制生动的图像。但与DALL-E等其他AI图像生成器不同,您

    2024年02月09日
    浏览(31)
  • 不得不了解的linux网络配置

    1.1.1ifconfig命令—查看网络接口地址 1.1.1.1查看所有网络接口信息 [root@localhost ~]# ifconfig 1.1.1.3查看指定的网络接口信息(不论该网络接口是否处于激活状态) mtu:代表最大传输单元,它的单位是字节。在我们常用的以太网中,MTU一般是1500,而无线路由器默认一般是 1492。 本地MTU值

    2023年04月21日
    浏览(41)
  • 程序员不得不了解的计算机进制转换

    最近在备考软考的软件设计师考试,学到了关于计算机的数据表示,由于我是半路出家学的Java,导致计算机基础知识很差,在这里记录一下学习感受 早期计算机的存储介质是晶体管,晶体管根据电压不同,只能表示2种状态,也就是0和1 计算机使用二进制运算更加方便 更详细

    2024年02月05日
    浏览(32)
  • AI绘画想生成好看的图,这些技巧不得不掌握

    现在,很多的人用AI绘画进行创作,但作出来的画却千差万别,有的好看,有的牵强,找不到那种惊艳的感觉。#AI绘画# 究竟如何才能让ai创作出好看的画面呢,不但逼真,还能一眼惊叹? 当然是有技巧,这些技巧如果你掌握了,我相信你一样能生产出惊艳的画作。 图源:数

    2024年02月09日
    浏览(35)
  • 或许有一天,你不得不硬着头皮去优化FPGA

        上篇(为啥FPGA资源/时序都有很大的优化空间?)提到过:因为大家一直都没去怎么优化FPGA,然后就导致FPGA可以优化的空间很大。工作中会有一批人知道可以优化但很少去承担优化的工作,也有一批人不知道能怎么优化,还有一批人开始要硬着头皮开始优化FPGA了,那这

    2024年04月23日
    浏览(33)
  • 不得不承认,我们都太低估鸿蒙了 !_harmony next 展示

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新HarmonyOS鸿蒙全套学习资料

    2024年04月25日
    浏览(36)
  • C语言实现单链表(超多配图,这下不得不学会单链表了)

    目录 一:什么是链表? 二:创建源文件和头文件 (1)头文件 (2)源文件 三:实参和形参 四:一步步实现单向链表 (1)建立一个头指针并置空 (2)打印链表,便于观察测试 (3)创建一个新的结点 (4)尾部插入数据 (5)头部插入 (6)尾部删除 (7)头部删除 (8)查找 (

    2024年01月24日
    浏览(39)
  • 进阶高级Python开发工程师,不得不掌握的Python高并发编程

    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+         Python成为时下技术革新的弄潮儿,全民Python的发展趋势让人们不再满足于简单地

    2024年02月17日
    浏览(39)
  • 不得不读 | 深入浅出ControlNet,一种可控生成的AIGC绘画生成算法!

    ControlNet,控制预训练大型扩散模型,以支持额外的输入条件。ControlNet以端到端方式学习特定任务的条件输入,即使训练数据集很小( 50k),效果也很健壮。 此外,训练ControlNet的速度与微调扩散模型一样快,而且该模型可以在个人设备上训练。或者,如果强大的计算集群可用,

    2024年02月02日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包