文章

47

粉丝

67

获赞

8

访问

12.1k

头像
统计字符 题解:C
P1320 浙江大学机试题
发布于2024年2月28日 18:50
阅读数 395

char s[10];
char ss[105];
int main() {

	while (gets(s)!=NULL) {
		if (strcmp(s,"#") == 0) {//字符串相比较
			break;//比较是否输出#从而结束
		}
		gets(ss);//输入字符串
		int s1 = strlen(s);//判断有多少个数
		int ss1 = strlen(ss);
		for (int i = 0; i < s1; i++) {
			int cnt = 0;
			int flag = 0;
			for (int j = 0; j < ss1; j++) {
				if (s[i] == ss[j]) {
					cnt++;
					flag = 1;
				}

			}
			if (flag) {
				printf("%c %d\n", s[i], cnt);
			}
		}
	}

	return 0;
}

不知道为什么只有80%的正确率

下面是修改后正确率为100%的

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

char s[10];
char ss[105];
int main() {

	while (gets(s)!=NULL) {
		if (strcmp(s,"#") == 0) {//字符串相比较
			break;//比较是否输出#从而结束
		}
		gets(ss);//输入字符串
		int s1 = strlen(s);//判断有多少个数
		int ss1 = strlen(ss);
		for (int i = 0; i < s1; i++) {
			int cnt = 0;
			int flag = 0;
			for (int j = 0; j < ss1; j++) {
				if (s[i] == ss[j]) {
					cnt++;
					flag = 1;
				}

			}
			if (flag) {
				printf(...
登录查看完整内容


登录后发布评论

2 条评论
snake
2024年2月28日 20:14

没有判断数量为0的情况

赞(0)

lingdongyang : 回复 snake: 好的,谢谢大佬

2024年2月29日 09:22