2、5

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_43959027/article/details/90303370

1

不用创建头文件

#include <stdio.h>
#include"string.h"
/**
将一个字符串中的非字母字符删除, 然后排序并显示剩余的字母字符
**/
void main( )
{
	//定义一个字符串数组
	char str[255] = "asdfghjkl123456adgsfdgsaf26311232";
	char *cp1;
	cp1 = str;
	char str1[255];
	int j = 0;
	//非字母字符删除
	for (int i = 0; i < 255; i++)
	{
		char c = *(cp1++);
		if((c >= 'a' && c <= 'z')||(c >= 'A' && c <= 'Z'))
		{
			str1[j] = c;
			j++;
		}
	}
	//排序
	char *cp2;
	cp2 = str1;
	int len = j;

	for (int i = 0; i < len - 1; i++)
	{		
		for (int k = i + 1; k < len; k++)
		{
			if(*(cp2 + i) > *(cp2 + k))
			{
				char temp = *(cp2 + i);
				*(cp2 + i) = *(cp2 + k);
				*(cp2 + k) = temp;
			}
		}
	}

	for (int i = 0; i < j; i++)
	{
		printf("%c",str1[i]);
	}
}

创建头文件的方式解题

文件名:abcde.h

char * chuli(char str[]) /*定义add函数*/
{
	char *cp1;
	cp1 = str;
	char str1[255];
	int j = 0;
	//非字母字符删除
	for (int i = 0; i < 255; i++)
	{
		char c = *(cp1++);
		if((c >= 'a' && c <= 'z')||(c >= 'A' && c <= 'Z'))
		{
			str1[j] = c;
			j++;
		}
	}
	//排序
	char *cp2;
	cp2 = str1;
	int len = j;

	for (int i = 0; i < len - 1; i++)
	{		
		for (int k = i + 1; k < len; k++)
		{
			if(*(cp2 + i) > *(cp2 + k))
			{
				char temp = *(cp2 + i);
				*(cp2 + i) = *(cp2 + k);
				*(cp2 + k) = temp;
			}
		}
	}

	for (int i = 0; i < j; i++)
	{
		printf("%c",str1[i]);
	}
	return str1;
}

文件名text.cpp

#include <stdio.h>
#include"string.h"
#include"abcde.h"
/**
将一个字符串中的非字母字符删除, 然后排序并显示剩余的字母字符
**/
void main( )
{
	//定义一个字符串数组
	//char str[255] = "asdfghjkl123456adgsfdgsaf26311232";
	//也可以自定义从键盘输入
	char str[255];
	gets(str)
	char  *cp;
	cp = chuli(str);
	
}

2

#include <stdio.h>
#include"string.h"
/**
将一个字符串中右截取n个字符
**/
static int lenth;
char * chuli(char str[], int n)
{
	//判断有几个有效字符
	int len = 0;
	for(int i = 0; str[i]; i++)
	{
		if(str[i] != '\0')
		{
			len++;
		}
	}
	//截取后的长度
	len -= n;
	lenth = len;
	//定义一个新的数组用来存放截取后的(cpp)文件
	static char str1[255];
	for (int i = 0; i < len; i++)
	{
		str1[i] = str[i];
	}
	/*for (int i = 0; i < len; i++)
	{
		printf("%c", str1[i]);
	}*/
	return str1;
}
void main( )
{
	//定义一个字符串数组
	char str[255];
	gets(str);
	char  *cp;
	cp = chuli(str, 1);
	for (int i = 0; i < lenth; i++)
	{
		printf("%c", *(cp+i));
	}
}

猜你喜欢

转载自blog.csdn.net/qq_43959027/article/details/90303370
2-5