一、题目:

二、C程序:(注意:中文部分是程序注释,如果编译器不支持中文,需要把中文删掉)

 #include <stdio.h>

 int main() {

     int count_letter = ; //保存字母数量
int count_blank = ; //保存空格或回车数量
int count_digit = ; //保存数字数量
int count_other = ; //保存其他符号数量
char c; //保存输入的一个字符,做临时变量使用
int i = ; //循环变量
for(i = ; i< ; i++) {
scanf("%c", &c); //读取用户输入的字符
if( (c>='a' && c<='z') || (c>='A' && c<='Z') ) {
count_letter += ; //字母数量加一,也可以写成 count_letter++;
} else if( c==' ' || c=='\n' ) {
count_blank += ; //空格或回车数量加一
} else if( c<='' && c>='') {
count_digit += ; //数字数量加一
} else {
count_other += ; //其他符号数量加一
}
}
//以下四行是输出结果
printf("letter = %d\n", count_letter);
printf("blank = %d\n", count_blank);
printf("digit = %d\n", count_digit);
printf("other = %d\n", count_other);
return ;
}

我用的编译器是Dev-C++,符合C语言C99标准,如果使用Visual C++ 6 编译上述程序可能会有点问题,改一下格式就行(如果再有问题,告诉我)。

 #include <stdio.h>

 void main() {//int 换成 void
......
//return 0; 删除这一行
}

  

三、参考资料:

  1. ASCII码对照表:http://ascii.911cha.com/
  2. C语言中scanf函数输入回车符的问题: https://blog.csdn.net/cover_sun/article/details/52842727, https://zhidao.baidu.com/question/318275648.html
  3. C语言main函数的写法 https://blog.csdn.net/u012219371/article/details/78964904

18.11.20-C语言练习-根据输入统计字符类型的更多相关文章

  1. [18/11/20]break与continue的区别

    一.普通break 和continue 1.break: break用于强行退出循环,不执行循环中剩余的语句. 2.continue continue 语句用在循环语句体中,用于终止某次循环过程,即跳 ...

  2. 《c程序设计语言》读书笔记--统计字符数

    #include <stdio.h> #define MAXLINE 1000 int getline(char line[],int maxline); void copy(char t ...

  3. 在EditText中限制输入,自定义样式,监听输入的字符,自动换行

    自动获取焦点 <!-- 添加:<requestFocus /> 会自动获取焦点 --> <EditText android:layout_width="matc ...

  4. EditText 限制输入,自定义样式,监听输入的字符,自动换行

    自动获取焦点 <!-- 添加:<requestFocus /> 会自动获取焦点 --> <EditText android:layout_width="matc ...

  5. C语言的基本输入与输出函数(全解)

    C语言的基本输入与输出函数 1.1.1 格式化输入输出函数 Turbo C2.0 标准库提供了两个控制台格式化输入. 输出函数printf() 和scanf(), 这两个函数可以在标准输入输出设备上以 ...

  6. 20道C#练习题(二)11——20题

    11.一个游戏,前20关是每一关自身的分数,1-30关每一关是10分,31-40关,每一关是20分,1-49关,每一关是30分,第50关是100分,输入你现在闯到的关卡数,求你现在拥有的分数.利用if ...

  7. 日本IT行业劳动力缺口达22万 在日中国留学生迎来就业好时机 2017/07/18 11:25:09

    作者:倪亚敏 来源:日本新华侨报 发布时间:2017/07/18 11:25:09     据日本政府提供的数据,日本2018年应届毕业生的“求人倍率”已经达到了1.78倍.换言之,就是100名大学生 ...

  8. C语言:模拟密码输入显示星号

    一个安全的程序在用户输入密码时不应该显示密码本身,而应该回显星号或者点号,例如······或******,这在网页.PC软件.ATM机.POS机上经常看到.但是C语言没有提供类似的功能,控制台上只能原 ...

  9. [CareerCup] 18.11 Maximum Subsquare 最大子方形

    18.11 Imagine you have a square matrix, where each cell (pixel) is either black or white. Design an ...

随机推荐

  1. dnsmasq配置

    介绍 dnsmasq是一个dns和dhcp服务 参数说明 dhcp-sequential-ip 默认情况下Dnsmasq分配ip是根据目标机的mac地址按一定的hash规则来的.这样每个目标机在租约期 ...

  2. 【C语言程序】输出前50个素数

    #include <stdio.h> #include <stdlib.h> int main(void) {  ;  ;  ){   ;   ;i<x;i++){    ...

  3. redis日志格式

    在redis.conf中,在大概65行左右有个loglevel # 指定日志记录级别# Redis总共支持四个级别:debug.verbose.notice.warning,默认为verbose# d ...

  4. 运用JS判断代码可以参考学习

    JAVAScript代码加CSS和HTML <%-- Created by IntelliJ IDEA. User: zengxiangcai Date: 2018/6/27 Time: 11: ...

  5. jdbc的入门学习

    一.JDBC相关概念介绍 1.1.数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡 ...

  6. shell-特殊变量列表

    特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n $# 传递给脚本或函数的参数个数. $* 传递给脚本或函数的所有参数.有引号则引号内,作为一个参数传入. $@ 传递 ...

  7. C语言一个程序的存储空间

    按区域划分: 堆区:自动分配内存区.//堆栈段 栈区:手动分配内存区.//堆栈段 全局(静态)区:静态变量和全局变量.//数据段(读写) 常量区:存放const全局变量和字符串常量.//数据段(只读) ...

  8. Design Principle, Design Patterns And Refactoring

    https://refactoring.guru/smells/feature-envy https://stackoverflow.com/questions/1242994/effective-c ...

  9. 移动端无法复制:使用clipboard.js碰到的一个小问题

    移动端无法复制:使用clipboard.js碰到的一个小问题   直接看下面的代码:在移动端访问,点击,能正常复制. <html> <head> <meta http-e ...

  10. CodeForces 1143 B. Nirvana

    题目 解决思路是,每个位上都是9的情况,遍历一下就可以了. #include <iostream> using namespace std; int n; int a[35]; int m ...