S1E19 动动手2
本帖最后由 匿名 于 2021-8-3 10:36 编辑请问这样写为何运行不了
#include <stdio.h>
#include <string.h>
int main()
{
char str1;//输入的文本
char str2;//不同的字符
int i=0,n=0,j=0,k=0,ch,max;//i是str1中的标号,n是比较的循环次数,j是str2中字符的标号,k是比大小的循环次数
bool flag=0;//输入字符与之前的是否相同的判据
int s={0};//每个重复字符的个数
printf("请输入英文文本:");
while((ch=getchar())!='\n')
{
str1=ch;
for(n=0;n<j;n++)
{
if(str1==str2)
{
flag=1;
break;
}
else
{
flag=0;
}
}
if(flag==0)
{
str2=str1;
}
else
{
s++;
}
}
for(k=0;k<1024;k++)
{
max=s>s?k+1:k;
}
printf("您总共输入了%u个字符,其中不同的字符个数有%u个。\n\
它们是:%s\n出现最多次的字符是\'%c\',\
它一共出现了%d次\n",strlen(str1),strlen(str2),str2,str2,s);
return 0;
} 本帖最后由 jackz007 于 2021-8-3 12:43 编辑
#include <stdio.h>
int main()
{
char str1 = {0} ;//输入的文本
char str2 = {0} ;//不同的字符
int d = 0 , i = 0 , n = 0 , j = 0 , k = 0 , ch , max ; //i是str1中的标号,n是比较的循环次数,j是str2中字符的标号,k是比大小的循环次数
int s = {0} ;//每个重复字符的个数
printf("请输入英文文本:") ;
while((ch = getchar()) != '\n') {
str1 = ch ;
for(n = 0 ; n < j ; n ++) {
if(ch == str2) {
break;
}
}
if(n == j) {
str2 = ch ;
s ++ ;
} else {
s ++ ;
}
}
for(i = 0 , k = 0 , max = 0 ; k < j ; k ++) {
if(s > max) {
max = s ;
i = k ;
}
}
printf("您总共输入了%u个字符,其中不同的字符个数有%u个。\n\
它们是:%s\n出现最多次的字符是\'%c\',\
它一共出现了%d次\n", d , j , str2 , str2 , s) ;
return 0;
}
编译、运行实况
D:\0002.Exercise\C>g++ -o x2 x2.c
D:\0002.Exercise\C>x2
请输入英文文本:Hello , World!
您总共输入了14个字符,其中不同的字符个数有10个。
它们是:Helo ,Wrd!
出现最多次的字符是'l',它一共出现了3次
D:\0002.Exercise\C> 本帖最后由 jackz007 于 2021-8-3 17:00 编辑
忽略字母大小写的版本
#include <stdio.h>
int main()
{
char str1 = {0} ;//输入的文本
char str2 = {0} ;//不同的字符
int d = 0 , i = 0 , n = 0 , j = 0 , k = 0 , ch , max ; //i是str1中的标号,n是比较的循环次数,j是str2中字符的标号,k是比大小的循环次数
int s = {0} ;//每个重复字符的个数
printf("请输入英文文本:") ;
while((ch = getchar()) != '\n') {
if(ch >= 'A' && ch <= 'Z') ch += ' ' ;
str1 = ch ;
for(n = 0 ; n < j ; n ++) {
if(ch == str2) {
break;
}
}
if(n == j) {
str2 = ch ;
s ++ ;
} else {
s ++ ;
}
}
for(i = 0 , k = 0 , max = 0 ; k < j ; k ++) {
if(s > max) {
max = s ;
i = k ;
}
}
printf("您总共输入了%u个字符,其中不同的字符个数有%u个。\n\
它们是:%s\n出现最多次的字符是\'%c\',\
它一共出现了%d次\n", d , j , str2 , str2 , s);
return 0 ;
}
页:
[1]