代码练习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;
}
相关推荐
Dlrb12117 小时前
C语言-指针三
c语言·算法·指针·const·命令行参数
kkeeper~7 小时前
0基础C语言积跬步之深入理解指针(5下)
c语言·开发语言
REDcker7 小时前
有限状态机与状态模式详解 FSM建模Java状态模式与C++表驱动模板实践
java·c++·状态模式
basketball6168 小时前
C++ 构造函数完全指南:从入门到进阶
java·开发语言·c++
想唱rap9 小时前
IO多路转接之poll
服务器·开发语言·数据库·c++
三品吉他手会点灯9 小时前
C语言学习笔记 - 40.数据类型 - scanf函数的编程规范与非法输入处理
c语言·开发语言·笔记·学习
落羽的落羽10 小时前
【算法札记】练习 | Week4
linux·服务器·数据结构·c++·人工智能·算法·动态规划
goodesocket10 小时前
芯片HAST测试:通电工作下如何精准模拟极端环境挑战?
c++
特种加菲猫11 小时前
从零开始手撕AVL树:详解插入、平衡因子更新与四种旋转
开发语言·c++
萑澈11 小时前
算法竞赛入门:C++ STL核心用法与时空复杂度速查手册
数据结构·c++·算法·stl