C语言,实现字符串移动,例如char str[]=“AGAB%Sr67gs5ffwt+%“ 得到结果是“AABGS567grstw%%+“

2023-10-31

实现字符串移动。
例如char str[]=“AGAB%Sr67gs5ffwt+%” ,得到结果是"AABGS567grstw%%+"
1.1 先对字符串实现升序排序 voidSort(char *p,int n)
1.2 从字符串中挑出大写 char *DaXie(char *p,int n)
1.3 从字符串中挑出数字 char *ShuZi(char *p,int n)
1.4 从字符串中挑出小写 char *XiaoXie(char *p,int n)
1.5 从字符串中挑出特殊字符 char *TeShu(char *p,int n)
1.6 在主函数使用字符指针数组接收返回的字符串地址 char *p[4] p[0]
1.7 按照顺序,实现字符串连接

//head.h
#ifndef __HEAD_H__
#define __HEAD_H__
#include <stdio.h>
#include <string.h>
void Sort(char *p,int n);
char *DaXie(char *p);
char *ShuZi(char *p);
char *XiaoXie(char *p);
char *TeShu(char *p);
#endif
//fun.c
#include "head.h"
//对字符串升序
void Sort(char *p,int n)
{
	char t;
	for(int i=1;i<n;i++)
	{
		for(int j=0;j<n-i;j++)
		{
			if(*(p+j)>*(p+j+1))
			{
				t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;
			}
		}
	}
}
//从字符串中挑选大写字母
char *DaXie(char *p)
{
	static char dx[10]="";
	static char *q=dx;
	int i=0,j=0;
	while(*(p+i))
	{
		if(*(p+i)>='A'&&*(p+i)<='Z')
		{
			*(q+j)=*(p+i);j++;
		}
		i++;
	}
	*(q+j)='\0';
	return q;
}
//从字符串中挑选数字
char *ShuZi(char *p)
{
	static char dx[10]="";
	static char *q=dx;
	int i=0,j=0;
	while(*(p+i))
	{
		if(*(p+i)>='0'&&*(p+i)<='9')
		{
			*(q+j)=*(p+i);j++;
		}
		i++;
	}
	*(q+j)='\0';
	return q;
}
//从字符串中挑选小写
char *XiaoXie(char *p)
{
	static char dx[10]="";
	static char *q=dx;
	int i=0,j=0;
	while(*(p+i))
	{
		if(*(p+i)>='a'&&*(p+i)<='z')
		{
			*(q+j)=*(p+i);j++;
		}
		i++;
	}
	*(q+j)='\0';
	return q;
}
//从字符串中挑选特殊字符
char *TeShu(char *p)
{
	static char dx[10]="";
	static char *q=dx;
	int i=0,j=0;
	while(*(p+i))
	{
		if(!((*(p+i)>='A'&&*(p+i)<='Z')||(*(p+i)>='a'&&*(p+i)<='z')||(*(p+i)>='0'&&*(p+i)<='9')))
		{
			*(q+j)=*(p+i);j++;
		}
		i++;
	}
	*(q+j)='\0';
	return q;
}
//main.c
#include "head.h"
int main(int argc, const char *argv[])
{
	char str[]="AGAB%Sr67gs5ffwt+%";
	int n=strlen(str);
	Sort(str,n);
	puts(str);
	char *p[4]={DaXie(str),ShuZi(str),XiaoXie(str),TeShu(str)};
	char t[20]="";
	for(int i=0;i<4;i++)
	{
		strcat(t,p[i]);
	}
	puts(t);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言,实现字符串移动,例如char str[]=“AGAB%Sr67gs5ffwt+%“ 得到结果是“AABGS567grstw%%+“ 的相关文章

随机推荐

  • 【前端】Qt简明教程

    Qt这个框架学起来确实没有什么意思 因为是一个熟能生巧的事情 之前学习过好多次 在这里把最重要的记录下来 本文适合有一定基础 想突击学习 快速掌握基本的Qt开发技术 如有参考建议将代码下载过一遍 对有基础的同学一定是事半功倍 参考视频 最新
  • html5与css3基础教程课件,揭秘HTML5和CSS3教学幻灯片.ppt

    揭秘HTML5和CSS3教学幻灯片 ppt 揭秘HTML5和CSS3 鲁超伍 Adam adamlu 网站标准的简单历史 WHATWG Web Hypertext Application Technology Working Group W
  • 动态规划-钢条切割(java)

    数据结构与算法系列源代码 https github com ThinerZQ AllAlgorithmInJava 本文源代码 https github com ThinerZQ AllAlgorithmInJava blob master
  • 畅玩mt3单机游戏服务器维护,【梦幻西游】MT3仿端手工游戏服务端源码[教程+授权物品后台]...

    梦幻西游 MT3仿端手工游戏服务端源码 教程 授权物品后台 架设教程 系统 CentOS 6 8 64位 1 关闭防火墙 chkconfig iptables off service iptables stop 2 安装宝塔 yum ins
  • python2E 之构建series

    构建全为零 空值的series a pd Series data 0 index overview index a pd Series data np nan index fund overview index 自定义空的series pd
  • 【c++报错】无法打开自己的工程项目(C++ 无法打开文件“xxx.lib”)

    问题 C 无法打开文件 xxx lib 问题分析 在进行单个生成的时候 可以生成成功 也可以运行程序 但是点击全部重新生成时 就显示无法打开文件 xxx lib 观察生成顺序 发现exe的程序 调用自己项目的dll 先进行生成 然后才生成d
  • leetcode 困难 —— 戳气球(超详细思路)

    题目 有 n 个气球 编号为 0 到 n 1 每个气球上都标有一个数字 这些数字存在数组 nums 中 现在要求你戳破所有的气球 戳破第 i 个气球 你可以获得 nums i 1 nums i nums i 1 枚硬币 这里的 i 1 和
  • c++学习之多继承

    1 多继承语法 class Son public Base1 public Base2 2 当base1和base2出项同名成员时 子类使用时要加作用域区分 Son s s Base1 m A s Base2 m B
  • 计算机网络——网络层之路由选择协议

    参考链接 CSKAOYAN COM 路由选择协议 自治系统AS 由于 1 因特网规模很大 2 许多单位不想让外界知道自己的路由选择协议 但还想连入因特网 于是产生了自治系统AS 在单一的技术管理下的一组路由器 而这些路由器使用一种AS内部的
  • 前段后端项目放在不同服务器上,将后端和前端服务放在开发中的同一个Web服务器后面...

    我做了一个具有相同堆栈的项目 就我而言 整个前端位于Django项目目录中的一个名为static的文件夹中 这个静态文件夹被定义为Django项目的settings py文件中的静态根目录 那么 什么情况是 第一个HTML文件 说的inde
  • Spring Boot2.0配置Druid数据库连接池(单数据源、多数据源、数据监控)

    我这里使用的开发环境是 IDEA 2017 JDK 1 8 Maven 3 3 9 SpringBoot 使用的是2 0 3版本 详细创建过程可以参考 https blog csdn net qq 38455201 article deta
  • C语言(C++)作业

    一 指针和内存泄露 1 malloc函数 malloc的全称是memory allocation 中文叫动态内存分配 用于申请一块连续的指定大小的内存块区域以void 类型返回分配的内存区域地址 当无法知道内存具体位置的时候 想要绑定真正的
  • 最长公共前后缀

    最长公共前后缀 字符串的前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串 后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串 例如对于字符串 abacaba 其前缀有 a ab aba abac abacab 后缀有bac
  • tf2.2和tf2.4默认的cuda版本

    tf2 2和tf2 4默认的cuda版本 tf2 4默认适配cuda11 tf2 2默认适配cuda10 1 实测清华源可以直接 conda install cudatoolkit 11 0 cudnn 8
  • Scrum认证Scrum Master(CSM)认证课

    课程简介 Scrum是目前运用最为广泛的敏捷开发方法 是一个轻量级的项目管理和产品研发管理框架 旨在最短时间内交付最大价值 根据2021年全球敏捷状态报告 Scrum及Scrum衍生方法的应用占比达到81 在企业的敏捷转型历程中 Scrum
  • Mock.js 前端数据模拟工具

    什么是Mock js Mock js是一个功能强大的模拟数据生成器 它可以帮助开发者在前端开发过程中模拟后端数据 使得前端开发者可以在后端接口尚未完成的情况下进行开发 这极大地提高了开发效率 为什么要使用Mock js 在传统的前后端协同开
  • 【Linux】高级IO和多路转接

    多路转接和高级IO 咳咳 写的时候出了点问题 标点符号全乱了 批量替换了几次 干脆就把全文的逗号和句号都改成英文的了 不然代码块里面的代码都是中文标点就跑不动了 1 高级IO 1 1 五种IO模型 用钓鱼佬的栗子 来看看五种不同的IO模型吧
  • 新一代烧写工具—STM32CubeProgrammer!

    STM32CubeProgrammer STM32CubeProg 是STM32微控制器的专用编程工具 STM32用户都知道 当完成程序调试 需要对芯片进行程序代码烧录编程 一般会有三个选择 通过调试接口 JTAG SWD 来烧写程序 一般
  • 漏洞扫描服务内容、方式以及流程一篇了解

    漏洞扫描是指基于漏洞数据库 通过扫描工具 人工的方式对客户信息系统的资产 包含网络设备 安全设备 主机系统 web应用 数据库系统等 进行全面 深入的安全脆弱性检测 检测完成后为客户输出可参考的分析报告及修复方案 具体服务内容 方式以及流程
  • C语言,实现字符串移动,例如char str[]=“AGAB%Sr67gs5ffwt+%“ 得到结果是“AABGS567grstw%%+“

    实现字符串移动 例如char str AGAB Sr67gs5ffwt 得到结果是 AABGS567grstw 1 1 先对字符串实现升序排序 voidSort char p int n 1 2 从字符串中挑出大写 char DaXie c