永发信息网

建立一个字符数组(字符串),运行时用户向其输入一段英文(不超过80个字符)。(提示:用gets函数)

答案:1  悬赏:10  手机版
解决时间 2021-11-27 14:57
  • 提问者网友:wodetian
  • 2021-11-26 18:25
建立一个字符数组(字符串),运行时用户向其输入一段英文(不超过80个字符)。(提示:用gets函数)
最佳答案
  • 五星知识达人网友:廢物販賣機
  • 2021-11-26 19:20
先解释一下吧,下面那段代码从控制台读入一个字符串,之后输出8行,每行一个整数分别是

字符总数
字母个数
a的个数
b的个数
c的个数
d的个数
e的个数
is单词的个数
PS:我默认代码你能看懂,没写注释
#include
#include
int main()
{
char buf[80];
fgets(buf,sizeof(buf),stdin);
int length = strlen(buf);
length--;
buf[length] = 0;
int counter[7];
memset(counter,0,7*sizeof(int));
int is = 0;
for(int i = 0; i < length; i++)
{
if((buf[i] >= 'a' && buf[i] <= 'z') || (buf[i] >= 'A' && buf[i] <= 'Z'))
{
counter[0]++;
}
switch (buf[i])
{
case 'a':
counter[1]++;
break;
case 'b':
counter[2]++;
break;
case 'c':
counter[3]++;
break;
case 'd':
counter[4]++;
break;
case 'e':
counter[5]++;
break;
case 32:
is = 0;
break;
case 'i':
if(is == 0)
{
is = 1;
break;
}
case 's':
if(is == 1)
{
if(i == length-1)
{
//is =0;
counter[6]++;
}
else if(buf[i+1] == 32)
{
//is = 0;
counter[6]++;
}
else
is = -1;
break;
}
default:
is = -1;
break;
}//switch

}
printf("%d\n",length);
for(int i = 0; i <7; i++)
printf("%d\n",counter[i]);
return 0;

}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯