题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数?

 我来答
问明6E
高粉答主

2020-09-01 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.4万
展开全部

#include<stdio.h>

int main()

{

char c;

int letters=0,spaces=0,digits=0,others=0;

printf("请输入一串任意的字符:\n");

while((c=getchar())!='\n')

{

if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))

letters++;

else if(c>='0'&&c<='9')

digits++;

else if(c==' ')

spaces++;

else

others++;

}

printf("字母有%d个,数字有%d个,空格有%d个,其他有%d个",letters,digits,spaces,others);

return 0;

}

扩展资料:

while语句若一直满足条件,则会不断的重复下去。但有时,需要停止循环,则可以用下面的三种方式:

一、在while语句中设定条件语句,条件不满足,则循环自动停止。

如:只输出3的倍数的循环;可以设置范围为:0到20。

二、在循环结构中加入流程控制语句,可以使用户退出循环。

1、break流程控制:强制中断该运行区内的语句,跳出该运行区,继续运行区域外的语句。

2、continue流程控制:也是中断循环内的运行操作,并且从头开始运行。

三、利用标识来控制while语句的结束时间。

参考资料来源:

百度百科——while

云南新华电脑学校
2020-08-31 · 百度认证:云南新华电脑职业培训学校官方账号
云南新华电脑学校
云南新华电脑学校是经云南省教育厅批准成立的省(部)级重点计算机专业学校,采用三元化管理模式,教学设备先进,师资雄厚学生毕业即就业,学院引进了电商企业入驻,创建心为电商创业园区,实现在校即创业
向TA提问
展开全部
import java.util.Scanner;
public class Prog7_1{
public static void main(String[] args){
System.out.print(" 请输入一串字符: ");
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();// 将一行字符转化为字符串
scan.close();
count(str);
}
// 统计输入的字符数
private static void count(String str){
String E1 = "[\u4e00-\u9fa5]";// 汉字
String E2 = "[a-zA-Z]";
String E3 = "[0-9]";
String E4 = "\\s";// 空格
int countChinese = 0;
int countLetter = 0;
int countNumber = 0;
int countSpace = 0;
int countOther = 0;
char[] array_Char = str.toCharArray();// 将字符串转化为字符数组
String[] array_String = new String[array_Char.length];// 汉字只能作为字符串处理
for(int i=0;i<array_Char.length;i++)
array_String[i] = String.valueOf(array_Char[i]);
// 遍历字符串数组中的元素
for(String s:array_String){
if(s.matches(E1))
countChinese++;
else if(s.matches(E2))
countLetter++;
else if(s.matches(E3))
countNumber++;
else if(s.matches(E4))
countSpace++;
else
countOther++;
}
System.out.println(" 输入的汉字个数: "+countChinese);
System.out.println(" 输入的字母个数: "+countLetter);
System.out.println(" 输入的数字个数: "+countNumber);
System.out.println(" 输入的空格个数: "+countSpace);
System.out.println(" 输入的其它字符个数: "+countSpace);
}
}

import java.util.*;
public class Prog7_2{
public static void main(String[] args){
System.out.println(" 请输入一行字符: ");
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
scan.close();
count(str);
}
// 统计输入的字符
private static void count(String str){
List<String> list = new ArrayList<String>();
char[] array_Char = str.toCharArray();
for(char c:array_Char)
list.add(String.valueOf(c));// 将字符作为字符串添加到 list 表中
Collections.sort(list);// 排序
for(String s:list){
int begin = list.indexOf(s);
int end = list.lastIndexOf(s);
// 索引结束统计字符数
if(list.get(end)==s)
System.out.println(" 字符‘ "+s+" ’有 "+(end-begin+1)+" 个 ");
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式