C语言编程,用while语句,输入一行字符统计字母的个数

 我来答
娱乐小八卦啊a
高粉答主

2020-02-13 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117824

向TA提问 私信TA
展开全部

代码如下:

#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 循环可以相互转换。

参考资料来源:

百度百科——while语句

四舍五不入6
高粉答主

2020-02-13 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:2万
展开全部

可以参考下面的代码:

//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 (循环语句及英文单词)

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乛翼
推荐于2016-05-12 · TA获得超过418个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:146万
展开全部
//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;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
祈祷7654321
2015-11-06 · TA获得超过415个赞
知道小有建树答主
回答量:275
采纳率:100%
帮助的人:199万
展开全部
#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;
 }
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
静默华年
2015-11-06
知道答主
回答量:6
采纳率:0%
帮助的人:6891
展开全部
追答
用那个什么码
就行拉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式