C语言编程,用while语句,输入一行字符统计字母的个数
代码如下:
#include <stdio.h>
int main()
{
char c;
int letters=0,space=0,digit=0,other=0;
printf("请输入一行字符:");
while ((c=getchar())!='\n')
{
if (c >= 'a'&&c <= 'z' || c >= 'A'&&c <= 'Z')
{
letters++;
}
else if (c == ' ')
{
space++;
}
else if (c >= '0'&&c <= '9')
{
digit++;
}
else
{
other++;
}
}
printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符:%d\n",letters,space,digit,other);
return 0;
}
扩展资料
while的执行顺序
while 循环的执行顺序非常简单,它的格式是:
while (表达式)
{
语句;
}
当表达式为真,则执行下面的语句;语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句;然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环。这个就是 while 的执行顺序。
注意,初学者编程时,if、else、for、while、do 后面的执行语句不论有多少行,就算只有一行也要加“{}”,养成良好的编程习惯尤为重要。
再来看一下 for 循环的格式:
for (表达式1;表达式2;表达式3)
在 for 循环的格式中,表达式 1、表达式 2 和表达式 3 在 while 循环中一个也不少,只不过不像 for 循环那样写在一起,而是分开写。在 while 循环中,循环变量 i 在定义的时候就给它赋初值,++i 则是写在 while 的循环体内。只有循环判断表达式与 for 一样,都是写在其后的括号中。
并且所有的 for 循环都可以转化成 while 循环,不仅如此,所有的 while 循环也都可以转化成 for 循环,for 循环和 while 循环可以相互转换。
参考资料来源:
可以参考下面的代码:
//arg为要输入的字符串
int lettercout(char* arg)
{
char *tmp = arg;
int k = 0;
while(*tmp != '\0')
{
if((*tmp >='a'&&*tmp <='z')||(*tmp >= 'A'&&*tmp <= 'Z'))
k++;
tmp ++;
}
return k;
}
扩展资料:
while语句语法如下:
1、Pascal
while <条件> do <语句>
意为当条件符合时,接着做下面的语句;不符合时,退出循环。
2、C
do <语句> while(<条件>);
while(<条件>) <语句>;
3、C++
while(<条件>) <语句>;
do <语句> while(<条件>);
注意:do...while 循环是 while 循环的变种。
参考资料来源:百度百科-while (循环语句及英文单词)
//arg为要输入的字符串
int lettercout(char* arg)
{
char *tmp = arg;
int k = 0;
while(*tmp != '\0')
{
if((*tmp >='a'&&*tmp <='z')||(*tmp >= 'A'&&*tmp <= 'Z'))
k++;
tmp ++;
}
return k;
}
#include<stdio.h>
int main(){
char c;
int count = 0;
while(c=getchar(),c!='\n'){
if((c>='a' && c<='z')||(c>='A' && c<='Z') ){
count ++;
}
}
printf("字母个数是:%d\n",count);
return 0;
}