/*有一篇文章,共有三行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格
以及其他字符的个数*/
#include <stdio.h>
#include <string.h>
#include <CTYPE.H>
#define N 3
#define M 4
int main()
{
char c[N][M];
int i,j;
int ed,ex,n,k,o;
ed = ex = n = k = o = 0;
for(i = 0;i < N;i++)
{
printf("请输入第%d行:\n",i + 1);
gets(c[i]);
}
puts(c[0]);
printf("\n");
for(i = 0;i < N;i++)
for(j = 0;j < M;j++)
{
if(isupper(c[i][j]))
ed++;
else if(islower(c[i][j]))
ex++;
else if(isdigit(c[i][j]))
n++;
else if(isspace(c[i][j]))
k++;
else
o++;
}
printf("英文大写字母有:%d个\n",ed);
printf("英文小写字母有:%d个\n",ex);
printf("数字有:%d个\n",n);
printf("空格有:%d个\n",k);
printf("其他字符有:%d个\n",o);
return 0;
}
谭浩强C程序设计(第四版)p169第10题
复习:
1.用scanf进行输入时,碰到空格就结束输入
gets(c)可以接收空格
2.getchar()只能接收一个字符
gets(c)可以接收字符串
3.字符函数与字符串函数
问题:
1.当M为4时,使用DEVC++编译器会出现错误,我不知道什么原因,所以使用了VC++6.0编译器,并没有出现错误,至今找不出什么原因。
2.不知道如何可以接收回车键