PTA-C入门与进阶练习 85

字符统计

题目
在这里插入图片描述
思路
读取每一个字符,判定是否属于大写字母并且不为AEIOU;
符合条件的字符使得sum++;

字符的读取我们使用scanf即可,读取的时候使用do while循环,只要读出的字符不为sentinel,就继续读取,代码如下

do{
	scanf("%c",&c);
	if(c!=sentinel){
		//do some work
	}
} while (c!=sentinel)

此外需要注意,char类型其实就是int,使用的时候需要灵活掌握,一个自行输出ASCII表的程序是

#include <stdio.h>

int main(int argc, char **argv) {
	int i =0;
	for( i =0;i<128;i++){
		printf("%d = %c\n",i,(char)i);
	}
	return 0;
}

非常简单,但是很实用,这样就能自己参考着使用ASCII码了。注意0-32号字符是控制字符,所以输出的是乱码。

根据我们打印出的ASCII码表,我们知道大写字母的范围是65-90,再查出AEIOU的ASCII码就OK啦。

状态
ACCEPTED

代码

#include <stdio.h>

int main(int argc, char **argv) {
	char c;
	int sum = 0;
	do{
		scanf("%c",&c);
		//printf("%c",c);
		if(c>=65&&c<=90){
			if(c!=65&&c!=69&&c!=73&&c!=79&&c!=85){
				//printf("%c",c);
				sum++;
			}
		}
	}while(c!='\n');
	printf("%d",sum);
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值