c语言经典100例

news2024/11/23 14:58:03

1.字符串转为数字

#include <stdio.h>

int strToInt(char *s)
{
	int num=0;
	int sign=1;
	int step=1;
	if (*s == '-')
	{
		sign = -1;
		s++;
	}
	while (*s >= '0'&&*s <= '9')
	{
		num = num*10+(*s-'0');
		step += 10;
		s++;
	}
	
	return num*sign;
}

int main()
{
	char a[10] = "-1234";
	char *s =a ;
	printf("字符型:%s,整形:%d",s,strToInt(s));


	return 0;
}

2.二维字符数组转一维数组

#include <stdio.h>
#include <stdlib.h>

int main()
{
	char a[3][3] = { 'w','w','w','a','a','a','l','l','l'};
	char n[10] = "";
	for (int i = 0,m=0; i < 3; ++i)
	{
		for (int j = 0; j < 3; ++j)
		{
			printf("%c",a[i][j]);
			n[m] = a[i][j];
			m++;
		}
		printf("\n");
	}
	n[9] = '\0';
	printf("%s\n",n);

	return 0;
}

3.数字转换为字符串

#include <stdio.h>

void intToString(int num, char *str) {
    int i = 0;
    int isNegative = 0;

    // 处理负数
    if (num < 0) {
        isNegative = 1;
        num = -num; // 将负数转为正数
    }

    // 转换整数为字符串
    do {
        str[i++] = (num % 10) + '0'; // 获取当前数字并转换为字符
        num /= 10; // 去掉当前的最后一位数字
    } while (num > 0);

    // 如果是负数,添加负号
    if (isNegative) {
        str[i++] = '-';
    }

    // 添加字符串结束符
    str[i] = '\0';

    // 反转字符串
    for (int j = 0; j < i / 2; j++) {
        char temp = str[j];
        str[j] = str[i - j - 1];
        str[i - j - 1] = temp;
    }
}

int main() {
    int number = -12345; // 示例整数
    char str[20]; // 确保足够大以存放转换结果

    intToString(number, str); // 调用转换函数
    printf("整数转换的字符串为:%s\n", str); // 输出结果

    return 0;
}

4.统计一行字符串中单词的个数

#include <stdio.h>

int main()
{
	char a[] = "hello world   my man!";
	char *pa = a;
	int count = 0;
	int inWord = 0; // 用于跟踪是否在单词内部

	while (*pa != '\0') // 直到字符串的结尾
	{
		if (*pa == ' ' || *pa == '\t' || *pa == '\n') // 如果是空格、制表符或换行符
		{
			inWord = 0; // 不在单词内部
		}
		else
		{
			if (inWord == 0) // 进入一个新单词
			{
				count++;
				inWord = 1; // 现在在单词内部
			}
		}
		pa++; // 移动到下一个字符
	}

	printf("单词的数量为:%d\n", count);

	return 0;
}

5.删除数组中相同的数

#include <stdio.h>
#include <stdlib.h>

void del(int *a, int size) {
    int *temp = (int*)malloc(size * sizeof(int)); // 临时数组,用于存储去重后的结果
    int pre = 0;
    int rear = 1;
    int j = 0;

    // 第一个元素肯定是要保留的
    temp[j++] = a[pre];

    // 遍历数组
    while (rear < size) {
        if (a[pre] != a[rear]) { // 如果当前元素和前一个元素不同
            temp[j++] = a[rear]; // 保存不重复的元素
            pre = rear;          // 更新前指针
        }
        rear++; // 后指针继续前进
    }

    // 输出去重后的数组
    printf("去重后的数组: ");
    for (int i = 0; i < j; i++) {
        printf("%d ", temp[i]);
    }
    printf("\n");

    free(temp); // 释放动态分配的内存
}

int main() {
    int a[] = {1, 1, 1, 2, 2, 3, 4, 4, 5, 6, 6, 6, 7, 8, 8, 9, 9, 9};
    int size = sizeof(a) / sizeof(a[0]); // 计算数组大小

    del(a, size); // 调用函数删除重复元素

    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2209592.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

git删除错误的commit

文章目录 1、git删除错误的commit2、.gitignore配置文件不生效的问题 1、git删除错误的commit git的流程如图&#xff1a; 当某次失误造成commit的版本有问题&#xff0c;需要回退到正常的版本修改后重新add。 首先通过git log查看commit提交记录&#xff0c;可以看到HEAD-…

2024最新版安装教程!Python安装+PyCharm安装使用教程!!(非常简单)

Python下载安装 一、进入Python官网首页&#xff0c;下载最新版的Python 官方网址&#xff1a;Download Python | Python.org 鼠标悬浮在Downloads&#xff0c;选择最新版本 注意&#xff1a;由于Python官网服务器设立在国外&#xff0c;所以下载速度非常慢&#xff0c;我这…

在centos(ubuntu)中如何通过预构建二进制文件安装nodejs

首先去Node.js下载你说需要的版本的预构建二进制文件Node.js — 下载 Node.js 在CentOs或Ubuntu离线服务器上安装Node.js&#xff0c;你可以通过下载Node.js的预构建二进制文件来完成。以下是具体步骤&#xff1a; 获取Node.js预构建二进制文件&#xff1a; 在有网络连接的机器…

【Linux系统编程】线程的简单运用

目录 前言&#xff1a; 一&#xff0c;线程退出 二&#xff0c;进程异常 三&#xff0c;资源共享 四&#xff0c;单线程的代码运用 五&#xff0c;多线程的代码运用 六&#xff0c;线程的优缺点 七&#xff0c;线程的私有与共享 前言&#xff1a; 学习有关线程的代码运…

论文笔记:Prompt-Based Meta-Learning For Few-shot Text Classification

论文来源&#xff1a;EMNLP 2022 论文地址&#xff1a;2022.emnlp-main.87.pdf (aclanthology.org) 代码地址&#xff1a;GitHub - MGHZHANG/PBML GB/T 7714 Zhang H, Zhang X, Huang H, et al. Prompt-Based Meta-Learning For Few-shot Text Classification[C]//Proceedi…

selenium:操作滚动条的方法(8)

selenium支持几种操作滚动条的方法&#xff0c;主要介绍如下&#xff1a; 使用ActionChains 类模拟鼠标滚轮操作 使用函数ActionChains.send_keys发送按键Keys.PAGE_DOWN往下滑动页面&#xff0c;发送按键Keys.PAGE_UP往上滑动页面。 from selenium import webdriver from se…

使用js和canvas实现简单的网页贪吃蛇小游戏

玩法介绍 点击开始游戏后&#xff0c;使用键盘上的↑↓←→控制移动&#xff0c;吃到食物增加长度&#xff0c;碰到墙壁或碰到自身就游戏结束 代码实现 代码比较简单&#xff0c;直接阅读注释即可&#xff0c;复制即用 <!DOCTYPE html> <html lang"en"…

windows环境,同一个服务器安装多个相同版本的mysql数据库

windows环境&#xff0c;同一个服务器安装多个相同版本的mysql数据库 1、第一个数据库 1.下载 mysql官网MySQL :: Download MySQL Community Server (Archived Versions)下载对应版本的zip文件 2.解压 解压zip文件夹 3.配置my.ini 打开my.ini配置文件&#xff0c;如果没…

Vistual Studio 使用

下载安装 安装管理工具 在安装管理工具里勾选如下内容 快捷键 F5&#xff1a;运行或调试F9&#xff1a;设置或删除断点F10&#xff1a;单步执行&#xff08;Step Over&#xff09;F11&#xff1a;进入函数内部&#xff08;Step Into&#xff09;ShiftF11&#xff1a;退出当…

智能伺服,精准控制:匠芯创科技M6800系列方案助力工业升级

匠芯创科技低压伺服硬件方案 随着工业4.0的推进和智能制造的兴起&#xff0c;工业机器人和电子制造设备经历了迅猛发展。低压伺服系统作为关键动力与控制组件&#xff0c;提高了生产效率和精度&#xff0c;促进制造工艺的自动化和智能化&#xff0c;在新兴产业中的应用日益增多…

智能的精髓在于避免单纯的计算

一、智能的精髓在于避免计算 智能通常被定义为一种能够适应环境、解决问题以及学习新知识的能力。计算在这个过程中扮演着重要角色&#xff0c;但并非唯一的因素。智能的真正精髓在于如何有效地避免不必要的计算&#xff0c;通过简化决策过程来提高效率。计算往往涉及大量的数…

智慧油田智能安全管控方案-AI助力油气田安全管控升级

在科技日新月异的今天&#xff0c;万物纵横科技凭借其前沿的智慧油田智能安全管控方案&#xff0c;正引领着油气田行业向智能化、高效化转型。该方案深度融合了AI视频智能分析与AIoT&#xff08;物联网人工智能&#xff09;技术&#xff0c;为采油场、油气场的设备运维、环境监…

腾讯音乐:从 Elasticsearch 到 Apache Doris 内容库升级,统一搜索分析引擎,成本直降 80%

导读&#xff1a; 为满足更严苛数据分析的需求&#xff0c;腾讯音乐借助 Apache Doris 替代了 Elasticsearch 集群&#xff0c;统一了内容库数据平台的内容搜索和分析引擎。并基于 Doris 倒排索引和全文检索的能力&#xff0c;支持了复杂的自定义标签计算&#xff0c;实现秒级查…

如何利用Fiddler进行抓包并自动化

首先一般使用Fiddler都是对手机模拟器进行抓包 接下来以MUMU模拟器为例 首先打开Fiddler-->tool-->options-->connection 将要打上的勾都打上&#xff0c;可以看到代理的端口是8888 打开HTTPS选项 把要打的勾打上&#xff0c;这样子才可以接收到HTTPS的包 MUMU打开…

im架构分享 即时通讯架构 即时消息 全球架构师峰会im分享 im分布式 企业级im架构 分布式im 即时通讯im架构

1. 之前收藏的淘宝李厉岷老师在全球架构师峰会上做的im技术分享&#xff0c;贴出来备注下。 2. 李老师infoQ主页链接&#xff1a; 李历岷 3. 文章&#xff1a; 电商IM消息系统架构演进_ArchSummit_李历岷_InfoQ精选文章 4. ppt下载地址 &#xff08;注&#xff1a;同期还有…

I2C(IIC)协议讲解

目录 1.I2C框架介绍1.1 I2C硬件框架1.2 I2C软件框架1.3 对于Linux 2. I2C协议2.1 传输数据的格式2.2 时序图2.3 协议细节 专栏 1.I2C框架介绍 1.1 I2C硬件框架 I2C&#xff08;Inter-Integrated Circuit&#xff09;是一种用于短距离通信的总线协议&#xff0c;它允许多个设备…

PyCharm+ssh跳板机+服务器

PyCharmssh跳板机服务器 文章目录 PyCharmssh跳板机服务器准备工作登录服务器查看CUDA查看conda创建虚拟环境 前言配置ssh免密登录设置ssh隧道配置pycharm测试第一种第二种 服务器空闲查询传输数据 准备工作 登录服务器 直接ssh连接就行,在终端(命令行)直接输入下面命令: 跳…

数学建模算法与应用 第13章 数字图像处理

目录 13.1 数字图像概述 13.2 图像的基本空域处理 Matlab代码示例&#xff1a;均值滤波与锐化滤波 13.3 图像的频域处理 Matlab代码示例&#xff1a;傅里叶变换与频域滤波 13.4 图像的边缘检测 Matlab代码示例&#xff1a;Sobel与Canny边缘检测 13.5 图像的形态学处理 …

恒创科技:香港服务器无法建立 SSL 连接如何解决?

在当今的数字时代&#xff0c;安全通信对于在线业务、网站和应用程序至关重要。建立安全通信的方法之一是通过 SSL(安全套接字层)协议。但当无法在用户的设备和托管您网站的香港服务器之间建立安全连接时&#xff0c;就会发生 SSL 连接错误。这通常是由于SSL 证书无效或您的设备…

【Adobe全家桶】 Adobe 全家桶 AE AU PR ME WIN MAC 各个版本

话不多说今天直接分享 Adobe 全家桶&#xff0c;2017-2024版本 包含 window版本 和MAC版本 Adobe Photoshop 2017-2023 CS5-6 mac版本下载地址 WIN版本下载地址 Adobe After Effects 2017-2024 CS5-6 WIN版本下载地址 mac版本下载地址 Adobe Media Encoder 2017-2024 WIN版…