代码练习2

  1. 求数组中的第二大值
cpp 复制代码
#include <stdio.h>
#include <stdlib.h>
int main() {
    int arr[10]={1,9,2,8,7,3,4,6,5,10};
    int first, second,i;
    if (arr[0] > arr[1]) {
        first = arr[0];
        second = arr[1];
    } else {
        first = arr[1];
        second = arr[0];
    }
    for(i = 2; i < 10; i++) {
        if(arr[i] > first) {
            second = first;
            first = arr[i];
        } else if(arr[i] > second && arr[i] != first) {
            second = arr[i];
        }
    }
    if(second == first) {
        printf("没有第二大的值\n");
    } else {
        printf("第二大的值是: %d\n", second);
    }
    return 0;
}

2终端输入带空格的字符串,删除字符中的空格

cpp 复制代码
#include <stdio.h>
#include <string.h>

void removeSpaces(char* str) {
    int i, j = 0;
    int len = strlen(str);
    for (i = 0; i < len; i++) {
        if (str[i] != ' ') {
            str[j++] = str[i];
        }
    }
    str[j] = '\0'; // 终止符
}

int main() {
    char str[100];

    // 提示用户输入字符串
    printf("请输入一个带空格的字符串: ");
    fgets(str, sizeof(str), stdin);

    // 移除换行符(如果存在)
    size_t len = strlen(str);
    if (len > 0 && str[len - 1] == '\n') {
        str[len - 1] = '\0';
    }

    // 删除字符串中的空格
    removeSpaces(str);

    // 输出结果
    printf("删除空格后的字符串是: %s\n", str);

    return 0;
}
相关推荐
HAPPY酷1 天前
构建即自由:一份为创造者设计的 Windows C++ 自动化构建指南
开发语言·c++·ide·windows·python·策略模式·visual studio
xiaoye-duck1 天前
C++ string 底层原理深度解析 + 模拟实现(上)——面试 / 开发都适用
c++·面试·stl
啟明起鸣1 天前
【C++20新特性】概念约束特性与 “模板线程池”,概念约束是为了 “把握未知对象”
开发语言·c++·c++20·模板线程池
你好!蒋韦杰-(烟雨平生)1 天前
OpenGL
c++·数学·游戏·3d
郁闷的网纹蟒1 天前
虚幻5---第12部分---蒙太奇
开发语言·c++·ue5·游戏引擎·虚幻
嵌入小生0071 天前
双向链表、双向循环链表之间的异同---嵌入式入门---Linux
linux·c语言·数据结构·链表·嵌入式·小白
u0109272711 天前
实时数据流处理
开发语言·c++·算法
Trouvaille ~1 天前
【Linux】线程同步与互斥(一):线程互斥原理与mutex详解
linux·运维·服务器·c++·算法·线程·互斥锁
BoJerry7771 天前
数据结构——单链表(不带头)【C】
c语言·开发语言·数据结构
Queenie_Charlie1 天前
位移运算
c++·位运算