C语言编程题:输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
输入一个以回车结束的字符串(少于80个字符),统计并输出其中大写辅音字母的个数。大写辅音字母:除'A','E','I','O','U'以外的大写字母。求各位大神解答,谢谢...
输入一个以回车结束的字符串(少于80个字符),统计并输出其中大写辅音字母的个数。大写辅音字母:除'A', 'E', 'I', 'O', 'U'以外的大写字母。求各位大神解答,谢谢!
麻烦把代码向下列出来,这样容易看点,不要横着写过去,谢谢啦! 展开
麻烦把代码向下列出来,这样容易看点,不要横着写过去,谢谢啦! 展开
2个回答
展开全部
1、确定程序结构
程序需要两层循环嵌套,读取repeat后进入第一层循环,第一次循环用于确定读取的字符串数,第二层循环用于读取字符和修正数据。程序框图如下图所示:
2、确认程序使用变量及类型
根据程序需求可以确定所需变量及类型(如下图所示),此处应注意通过循环读取字符并同步统计,故仅需要使用一个char存储字符。
3、完成程序设计
此处调试时发现读取repeat后需要使用getchar()去除缓存区存在的字符'\n'避免对实际输入造成影响。
4、程序调试检验
程序运行第一行为输入repeat,即读取输入字符串数。第2、4、6行为输入的字符串,其中BCD为大写辅音字母,共三个;第3、5、7行为输出计数结果,与实际情况一致,该程序基本符合要求。
经测试,该程序通过以循环读取字符对输入字符串进行处理的方法可处理含空格等特殊字符的字符串,输出字符串中大写辅音字母的个数。处理的字符串数通过repeat确定。
若需要规定repeat的输入范围,则可以在读取repeat后判断其值大小。
展开全部
#include <stdio.h>
#include <string.h>
void main()
{
int i,j,n,k=0,repeat;
char str[80];
scanf("%d",&repeat);
gets(str);
for(i=1;i<=repeat;i++)
{
printf("输入字符串: ");
gets(str);
n=strlen(str);
for(j=0;j<n;j++)
if(str[j]>='B'&&str[j]<='Z'&&str[j]!='E'&&str[j]!='I'&&str[j]!='O'&&str[j]!='U')
k++;
printf("大写辅音字母个数: %d\n",k);
k=0;
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询