博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于字符串
阅读量:4117 次
发布时间:2019-05-25

本文共 4109 字,大约阅读时间需要 13 分钟。

#ifndef _STRING_H#define STRING_H#include 
#include
#include
#define ret_value 0#define SPACE ' '#define END '\n'void Get_string(char str[100]);int Total_ch(char str[100]);int Total_str(char str[100]);int Total_letter(char str[100]);int Total_word(char str[100]);void Compare_longest_word(char str[100]);char Find_numMost(char Str[100]);void print_word(char Str[100], char Ch);#endif
#include"string.h"#include 
#include
#include
#include
void Get_string(char str[100]){ printf("please input a string: "); fgets(str, 100, stdin); return;}int Total_ch(char str[100]){ int count1 = 0; int index1 = 0; int Len = strlen(str); if (Len<0) { return -1; } while (index1 < Len-1) { ++count1; ++index1; } printf("the total of character is %d\n", count1); return count1;}int Total_str(char str[100]){ //int str_count = 0; //int index2 = 0; //int str_begin = 0; //int Len = strlen(str); //if (Len<0) //{ // return -1; //} 考虑只有一个字符串的情况 //if ((str[++index2] == END) && (str[++index2] != SPACE)) //{ // return ret_value; //} 考虑中间出现连续空格的情况 //while (index2
= 'A') && (str[index] <= 'Z')) || ((str[index] >= 'a') && (str[index] <= 'z'))) { ++Count_letter; } ++index; } printf("the total of letter is %d\n", Count_letter); return Count_letter;}int Total_word(char str[100]){ int Count_word = 0; int index = 0; int Len = strlen(str); if (Len<0) { return 0; } while (index
Longest_len) { Longest_len = lenth; Max_index = index - Longest_len; New_index = 0;//比最长单词还长的单词重新保存 memset(New_str, 0, sizeof(New_str));//出现最长的单词清空数组 for (i = Max_index; i < Max_index + Longest_len; ++i) { New_str[++New_index] = str[i]; } } else if (lenth == Longest_len) { Longest_len = lenth; Max_index = index - Longest_len; New_str[++New_index] = SPACE; //++New_index; for (int j = Max_index; j < Max_index + Longest_len; ++j) { New_str[++New_index] = str[j]; } } } printf("The lenth of longest_string %d\n", Longest_len); printf("The longest string is "); for (int z = 0; z < New_index+1; ++z) { printf("%c", New_str[z]); } printf("\n"); return;}//遍历一个个分别与数组元素比较//如果大于最大值,更新最大值,记录当前的字母;开辟新空间存该字母。//如果等于最大值,更新最大值,记录当前的字母;遍历新空间,是否有相同的字母出现,如果有则结束循环,没有则存下该字母。char Find_numMost(char Str[100]){ int Index = 0; int Len = strlen(Str); int Max_count = 0; int Count = 0; char Ch = 0;//查找出现最多的字符 int Next_index = 0; char New_str[100] = { 0 }; int New_index = 0; int i = 0; while (Next_index
Max_count) { Max_count = Count; Ch = Str[Next_index]; New_index = 0;//出现次数最多的字母,下标清0 memset(New_str, 0, sizeof(New_str));//出现次数最多的字母,清空数组 New_str[New_index] = Ch; } if (Count == Max_count) { Max_count = Count; Ch = Str[Next_index]; int len = strlen(New_str); int i = 0; int flag = 1;//与新开辟的数组有相同的字母 for (i; i < len; ++i) { if (Ch == New_str[i]) { flag = 1; i = len - 1;//存在相同的字母,就停止循环 } else { flag = 0; } } if (!flag)//不存在相同的字母 { New_str[++New_index] = Ch; } } ++Next_index; } printf("the most letter : "); for (int j = 0; j < New_index + 1; ++j) { printf(" %c ", New_str[j]); } printf(" \n"); printf("the count of the most letter is %d\n", Max_count); return Ch;}//当没有遇到空格或者遇到出现最多的字母,就遍历数组//如果遇到出现最多的字母,在空格或者\n之前一直遍历数组。单词起始下标=遍历的下标-单词长度//找到一个单词后,下标+1,长度清0,更新下一个单词的起始下标。void print_word(char Str[100], char Ch){ int Len = strlen(Str); int Start_index = 0; int End_index = 0; int Index = 0; int Length = 0; int i = 0; while (Index
//输入一串字符串,字符串中的字串以空格分隔,统计输入字符个数,统计以空格分隔子串个数////1.从键盘获取字符串 //  判断是不是空字符串;//  判断是不是非法字符串//  判断字符串长度是否小于定义的空间//  打印出字符串////2.统计输入字符的个数////当string!='\0'时count++////3.统计字串个数//当string == ' '时count++//输入一串字符串,统计有多少个英文字母,统计有多少个单词,统计最长单词长度并显示该单词。//1.统计英文字母letter:在a-z;A-Z之间,统计一次//2.统计单词:当不是‘\0‘时遍历字符串,当不是空格的时候,判断有没有连续的字符在a-z;A-Z之间,//如果是,就统计;如果不是就继续下一个字符判断。//4.输入一串字符串,找到出现频率最高的字母,统计字母出现次数,显示出包含该字母的所有单词。#include "string.h"#include
#include
int main(){ char str[100] = { 0 }; Get_string(str); //printf("this is string :%s\n", str); Total_ch(str); Total_str(str); Total_letter(str); Total_word(str); Compare_longest_word(str); char ch=Find_numMost(str); print_word(str,ch); system("pause"); return 0;}

 

转载地址:http://gqypi.baihongyu.com/

你可能感兴趣的文章
C语言-预处理指令2-条件编译
查看>>
C语言-预处理指令3-文件包含
查看>>
C语言-变量类型
查看>>
C语言-static和extern关键字1-对函数的作用
查看>>
C 语言-static和extern关键字2-对变量的作用
查看>>
【JavaScript 教程】浏览器—History 对象
查看>>
还不会正则表达式?看这篇!
查看>>
100道+ JavaScript 面试题,助你查漏补缺
查看>>
JavaScript深入理解之闭包
查看>>
这才是学习Vite2的正确姿势!
查看>>
7 个适用于所有前端开发人员的很棒API,你需要了解一下
查看>>
25个构建Web项目的HTML建议,你需要了解一下!
查看>>
【web素材】02-10款大气的购物商城网站模板
查看>>
6种方式实现JavaScript数组扁平化(flat)方法的总结
查看>>
如何实现a===1 && a===2 && a===3返回true?
查看>>
49个在工作中常用且容易遗忘的CSS样式清单整理
查看>>
20种在学习编程的同时也可以在线赚钱的方法
查看>>
隐藏搜索框:CSS 动画正反向序列
查看>>
12 个JavaScript 特性技巧你可能从未使用过
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(上)
查看>>