统计一个字符串中某个字符第一次出现的位置和最后一次出现的位置

#include<stdio.h>
#include<string.h>
#include<assert.h>

//统计某个字符第一次出现的位置
char* strchr(char *p,char a)
{
	int i;
	assert(p!=NULL);
	for(i=0;i<strlen(p);i++)
	{
		if(p[i]==a)
		return p+i;
	}
	return 0;
}

//统计某个字符第一次出现的位置
char* strrchr(char *p,char a)
{
	int i;
	char *ret=p;
	assert(p!=NULL);
	for(i=strlen(p)-1;i>0;i--)
	{
		if(p[i]==a)
		return ret+i;
	}
    return 0;
}

int main()
{
	char *str="how are you";
	char c;
	char *m,*n;
	printf("%s\n",str);
	printf("请输入一个字符:\n");
	scanf("%c",&c);
	m=strchr(str,c);
	n=strrchr(str,c);
	printf("第一次出现字符的位置是:%p\n",m);
	printf("第二次出现字符的位置是:%p\n",n);
	return 0;
}

时间: 2024-10-06 00:51:46

统计一个字符串中某个字符第一次出现的位置和最后一次出现的位置的相关文章

黑马程序员——统计一个字符串中各个字符出现的次数

统计一个字符串中各个字符出现的次数 import java.util.Iterator; import java.util.Set; import java.util.TreeMap; public class TreeMapDemo { //统计一个字符串中相应字符出现的次数 public static void main(String[] args) { // String s = "aagfagdlkerjgavpofjmvglk我是你的"; //调用自定义方法来 统计相应字符出

统计一个字符串中第一次出现且频率最高的字符

统计一个字符串中第一次出现且频率最高的字符. public static char statMostRateChar(String str) { if (str != null && !"".equals(str)) { int charsStat[] = new int[128]; int charsFirstIdx[] = new int[128]; int strLen = str.length(); for (int ch = 0; ch < 128;ch

统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数,其他字符出现的次数。

/** * A:案例演示 * 需求:统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数,其他字符出现的次数. * [email protected]#$%^ * 分析:字符串是有字符组成的,而字符的值都是有范围的,通过范围来判断是否包含该字符 * 如果包含就让计数器变量自增 */ public static void main(String[] args) { String s = "[email protected]#$%^"; int big = 0; int smal

java怎么实现统计一个字符串中字符出现的次数

问题:假设字符串仅仅保护a-z 的字母,java怎么实现统计一个字符串中字符出现的次数?而且,如果压缩后的字符数不小于原始字符数,则返回. 处理逻辑:首先拆分字符串,以拆分出的字符为key,以字符出现次数为value,存入Map中. 源码如下: 1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 5 public class TestCompress { 6 7 public sta

字符串之“统计一个字符串中单词的个数”

题目:统计一个字符串中单词的个数 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开 输入:my name is jacky 输出:the number of word is 4 代码如下: #include <stdio.h> int main(int argc, char *argv[]) { char str[80]; int i=0,num=0,flag=0; char c; gets(str); while((c=str[i])!='\0') { if(c==' ') flag

计算一个字符串中每个字符出现的个数

需求:计算一个字符串中每个字符出现的次数 分析: 使用Scanner获取用户输入的字符串 创建Map集合,Key是字符串中的字符,value是字符的个数 遍历字符串,获取每一个字符 使用获取的字符,去Map集合判断key是否存在 key存在:通过字符(key),获取value(字符个数)value++ put(key,value )把新的value存储到Map集合中 key不存在:put(key,1) 遍历Map集合,输出结果 package day13; import java.util.Ha

统计一个字符串中的单词的个数,并打印各个单词

/*测试数据:Shen zhen is a beautiful city!*/ /*运行结果:Word:6 Shen zhen is a beautiful city!*/ #include<stdio.h> #define SIZE 1000 void wordCount(char *str) { int count = 0, flag = 0; char *p = str; while (*p != '\0'){ while (*p == 32){ if (*(p + 1) == 0){/

统计一个文件中出现字符&#39;a&#39;的次数

# -*- coding: utf-8 -*- #python 27 #xiaodeng #统计一个文件中出现字符'a'的次数 #http://www.cnblogs.com/hongten/p/hongten_python_count.html import os number=0 def getNumber(filePath,c): 'c---->the word numbers' #统计一个文件中出现字符'a'的次数 if os.path.exists(filePath): global

Java编程练习之判断Java文件名是否正确,判断邮箱格式是否正确和统计指定字符串中某字符现的次数

一判断Java文件名是否正确,判断邮箱格式是否正确 功能:判断Java文件名是否正确,判断邮箱格式是否正确.其中:合法的文件名应该以.java结尾:合法的邮箱名 中至少要包含 "@" , 并要求 "@" 在 "." 之前. 练习代码: public class Test { public static void main(String[] args) { //Java文件名 String fileName = "HelloWorld.j