程序设计实践--字符串

字符串

回文串

“回文”是指正读反读都能一样的句子,它是古今中外都有的一种修辞方式和文字游戏。你的任务是从键盘输入一个字符串(最大长度<100),判断这个字符串是不是回文,如果是回文,则输出“Yes”, 如果不是, 则输出“No”。

输入描述

输入若干个字符串(最大长度<100)

输出描述

如果是回文,则输出“Yes”, 如果不是, 则输出“No”。

用例输入 1 

level
上海自来水来自海上
香港Disney

用例输出 1 

Yes
Yes
No

提示

汉字编码占三个字节

方法一:通过指针移动

(Dev占用两个字节)

方法二:逆序后,比较是否相等

#include<stdio.h>
#include<string.h>
int main()
{
	int i,j,n;
	char s1[1000],s2[1000];
	
	while(scanf("%s",s1)!=EOF)
	{
		//memset(s2,0,1000);
		n=strlen(s1);
		i=0;
		j=n-1;
		while(i<n)
		{
		//英文 
			if(s1[j]>0)
			{
				s2[i]=s1[j];
				i++;
				j--;
			}
		else //汉字占三个字节 
			{
				s2[i]=s1[j-2];
				s2[i+1]=s1[j-1];
				s2[i+2]=s1[j];
				i=i+3;
				j=j-3; 
			}
		}
		s2[n]='\0';
		if(strcmp(s1,s2) ==0)
		{
			printf("Yes\n");
		}
		else
		{
			printf("No\n");
		}
	}
	
	return 0;
}

统计字符

统计一个给定字符串中指定的字符出现的次数

输入描述

测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串。注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一。当读到’#'时输入结束,相应的结果不要输出。

输出描述

对每个测试用例,统计第1行中字符串的每个字符在第2行字符串中出现的次数,按如下格式输出:其中ci是第1行中第i个字符,ni是ci出现的次数。

用例输入 1 

I
THIS IS A TEST
i ng
this is a long test string
#

用例输出 1 

I 2
i 3
  5
n 2
g 2 
#include <stdio.h>
#include <string.h>

int main()
{
	char s1[6] = {0};	
	char s2[81] = {0};
	int count[5] = {0};
	int i, j, len1, len2;
	
	gets(s1);	
	while(strcmp(s1, "#")!=0)  //输入#结束
	{
		gets(s2);		
		len1 = strlen(s1);
		len2 = strlen(s2);
		for (i=0; i<len1; i++)    //对于s1中的每个字符
		{
			for (j=0; j<len2; j++)  //在s2中查找与s1[i]相等的字符
			{
				if (s1[i] == s2[j])
					count[i]++;        //统计s1中字符的个数
			}
		}
		
		for (i=0; i<len1; i++)
			printf("%c %d\n", s1[i], count[i]);
		
	
		memset(count, 0, sizeof(count)); //count计数器重新初始化为0
		gets(s1);	
	} 
	
	return 0;
}

首字母变大写

输入一个英文句子,将每个单词的第一个字母改成大写字母。

输入描述

输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。

输出描述

请输出按照要求改写后的英文句子。

用例输入 1 

i like acm
i want to get an accepted

用例输出 1 

I Like Acm
I Want To Get An Accepted

提示

也可以使用 ctype.h中的toupper函数:
(如果c为小写英文字母,则返回对应的大写字母;否则返回原来的值。)

 先把首字母变大写,再看空格后面的数据

(可以设置标志变量&#x

相关推荐

  1. C++:程序设计实例

    2024-06-17 06:00:02       13 阅读
  2. C++程序设计实践报告【格式】

    2024-06-17 06:00:02       33 阅读

最近更新

  1. linux:命令执行过程【图表】

    2024-06-17 06:00:02       0 阅读
  2. 系统架构设计师——网络设计

    2024-06-17 06:00:02       0 阅读
  3. SSL证书到期自动巡检脚本-推送钉钉告警

    2024-06-17 06:00:02       1 阅读
  4. 如何才能在Linux下编写驱动程序

    2024-06-17 06:00:02       1 阅读
  5. Tomcat打破双亲委派模型的方式

    2024-06-17 06:00:02       1 阅读
  6. C++惯用法: 通过std::decltype来SFINAE掉表达式

    2024-06-17 06:00:02       1 阅读
  7. HTTP 范围Range请求

    2024-06-17 06:00:02       1 阅读

热门阅读

  1. 【双系统 安装ADB】

    2024-06-17 06:00:02       11 阅读
  2. shell 使用 getopt 获取命令行参数。

    2024-06-17 06:00:02       8 阅读
  3. LeetCode //MySQL - 175. Combine Two Tables

    2024-06-17 06:00:02       11 阅读
  4. 【笔试记录】美团 | 230812 | cpp

    2024-06-17 06:00:02       9 阅读
  5. spring注解

    2024-06-17 06:00:02       7 阅读
  6. Qt第一次作业

    2024-06-17 06:00:02       10 阅读
  7. 【软件安装12】CloudCompare点云工具安装 Ubuntu18.04

    2024-06-17 06:00:02       11 阅读
  8. Linux下git用http连接时免输密码方法

    2024-06-17 06:00:02       10 阅读
  9. git 常用的命令

    2024-06-17 06:00:02       11 阅读
  10. 【多线程实例】

    2024-06-17 06:00:02       7 阅读