编程题: 输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。(分别使用wh

如题所述

编程题要求编写一段代码,输入一行字符,统计其中英文字母、空格、数字和其他字符的数量。该任务可以使用不同的循环结构来实现,如while语句和do while语句。

使用while语句的代码示例如下:

c
#include
int main(void) {
//输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
char ch;
int char_num=0,kongge_num=0,int_num=0,other_num=0;
while((ch=getchar())!='\n')//回车键结束输入,并且回车符不计入
{
if(ch>='a'&&ch<='z'||ch<='z'&&ch>='a') {
char_num++;
} else if(ch==' ') {
kongge_num++;
} else if(ch>='0'&&ch<='9') {
int_num++;
} else {
other_num++;
}
}
printf("字母= %d,空格= %d,数字= %d,其它= %d\n",char_num,kongge_num,int_num,other_num);
return 0;
}

这段代码通过while循环读取输入字符,直到遇到回车键结束输入。根据字符的类型,分别增加相应的计数器。

同样地,使用do while语句的代码示例如下:

c
#include
int main(void) {
//输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
char ch;
int char_num=0,kongge_num=0,int_num=0,other_num=0;
do {
if(ch>='a'&&ch<='z'||ch<='z'&&ch>='a') {
char_num++;
} else if(ch==' ') {
kongge_num++;
} else if(ch>='0'&&ch<='9') {
int_num++;
} else {
other_num++;
}
} while((ch=getchar())!='\n')//回车键结束输入,并且回车符不计入
printf("字母= %d,空格= %d,数字= %d,其它= %d\n",char_num,kongge_num,int_num,other_num);
return 0;
}

这段代码通过do while循环实现相同的功能。区别在于do while循环会先执行一次循环体,然后再判断条件是否成立。

两种循环结构都可以实现相同的功能,选择哪种取决于个人喜好或特定需求。在实际编程中,了解不同循环结构的特点和适用场景是非常重要的。
温馨提示:答案为网友推荐,仅供参考
相似回答