PTA(Basic Level) 1029:旧键盘(C语言实现)

PTA(Basic Level) 1029:旧键盘(C语言实现)

分析:flag标记相应字符出现的次数(对应字符的ASCII码为数组下标)。用没有坏掉的键打出的字符在两个串中出现次数一样,如果是坏掉的键,那么在第二个字符串中出现的次数为0。题目要求相同字符值打印一次,即相应字符次数为-1时才打印,不能用0,1标记flag,这样相同字符会打印多次。

学习:tolower()、toupper()函数,如果字符为大写字符则转换为小写字符,如果是其他字符则不做任何处理。

#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
	int flag[255]={0},i,m,n;
	char c1[81]={0},c2[81]={0};
	gets(c1);
	gets(c2);
	m=strlen(c1);
	n=strlen(c2);
	for(i=0; i<n; i++)
		flag[toupper(c2[i])]++;
	for(i=0; i<m; i++)
	{
		flag[toupper(c1[i])]--;
		if(flag[toupper(c1[i])] == -1)
			putchar(toupper(c1[i]));
	}
	return 0;
}
发布了5 篇原创文章 · 获赞 0 · 访问量 25

猜你喜欢

转载自blog.csdn.net/LIve1AnD1LeARN/article/details/105029042
今日推荐