写一个C语言程序,、求一个字符串中最长的连续出现的字符,输出该字符及其出现次数,字符串中无空白字符(空格、回车和tab),如果这样的字符不止一个,则输出第一个。输入格式第一行输入整数N,表示测试数据的组数。每组数据占一行,包含一个不含空白字符的字符串,字符串长度不超过200。输出格式共一行,输出最长的连续出现的字符及其出现次数,中间用空格隔开
时间: 2024-02-21 14:58:22 浏览: 68
好的,以下是对应的C语言程序:
```c
#include <stdio.h>
#include <string.h>
int main(){
int n, i, j, count, max_count;
char str[201], max_char;
scanf("%d", &n); // 输入测试数据组数
while(n--){
scanf("%s", str); // 输入字符串
max_count = 0;
for(i = 0; i < strlen(str); i++){
count = 1;
for(j = i + 1; j < strlen(str); j++){
if(str[i] == str[j]){
count++;
}else{
break;
}
}
if(count > max_count){ // 如果连续出现字符次数大于最大值,则更新
max_count = count;
max_char = str[i];
}
}
printf("%c %d\n", max_char, max_count); // 输出结果
}
return 0;
}
```
该程序会先输入测试数据的组数,然后每次输入一个不含空白字符的字符串,利用两层循环找出该字符串中最长的连续出现字符以及出现次数,最后输出结果。注意要用scanf("%s", str)输入字符串,因为scanf("%c", &str[i])会把空格、回车和tab也读入。
阅读全文