目录
1解题思路:
2代码:
3运行代码:
4总结:
1解题思路:
有一篇文章,共有3行文字,每行有80个字符。要求分别统计其中英文大写字母、小写字母、数字、空格以及其他字符的个数
首先先设置一个字符数组,然后明白需要用gets();进行输入,因为scanf()输入会遇见空格或者遇见enter(回车)就会停止;
然后利用嵌套循环即可求出每一行字符串里面各个东西的个数;
2代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char a[100][20],i,j,x=0;
int b=0,c=0,d=0,e=0,f=0,g=0;
printf("请输入3个字符串\n");
for(i=0;i<3;i++)
{
gets(a[i]);
}
for(i=0;i<3;i++)
{
x=strlen(a[i]);
b=0,c=0,d=0,e=0,f=0,g=0;
for(j=0;j<x;j++)
{
if(a[i][j]>='0'&&a[i][j]<='9') b++;
else if(a[i][j]>='A'&&a[i][j]<='Z') c++;
else if(a[i][j]>='a'&&a[i][j]<='z') d++;
else if(a[i][j]==' ') e++;
else f++;
}
printf("数字个数%d大写字母个数%d小写字母个数%d空格个数%d其他字符个数%d\n\n",b,c,d,e,f);
}
return 0;
}
首先对其进行定义,a[100][20]表示其3行字符串,i,j肯定表示循环次数,x稍后会用到
下面b表示数字个数,c表示大写字母个数,d表示小写字母个数,e表示空格个数,f表示其他字符个数
char a[100][20],i,j,x=0;
int b=0,c=0,d=0,e=0,f=0,g=0;
printf("请输入3个字符串\n");
然后对字符串进行输入:这时候要记着利用gets
for(i=0;i<3;i++)
{
gets(a[i]);
}
接着进入循环,因为每一行字符串不一定个数相同,所以利用x和strlen(a【i】)统计其每一行的个数,便于进行每一行的循环
最后输出即可
for(i=0;i<3;i++)
{
x=strlen(a[i]);
b=0,c=0,d=0,e=0,f=0,g=0;
for(j=0;j<x;j++)
{
if(a[i][j]>='0'&&a[i][j]<='9') b++;
else if(a[i][j]>='A'&&a[i][j]<='Z') c++;
else if(a[i][j]>='a'&&a[i][j]<='z') d++;
else if(a[i][j]==' ') e++;
else f++;
}
printf("数字个数%d大写字母个数%d小写字母个数%d空格个数%d其他字符个数%d\n\n",b,c,d,e,f);
}
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char a[100][20],i,j,x=0;
int b=0,c=0,d=0,e=0,f=0,g=0;
printf("请输入3个字符串\n");
for(i=0;i<3;i++)
{
gets(a[i]);
}
for(i=0;i<3;i++)
{
x=strlen(a[i]);
b=0,c=0,d=0,e=0,f=0,g=0;
for(j=0;j<x;j++)
{
if(a[i][j]>='0'&&a[i][j]<='9') b++;
else if(a[i][j]>='A'&&a[i][j]<='Z') c++;
else if(a[i][j]>='a'&&a[i][j]<='z') d++;
else if(a[i][j]==' ') e++;
else f++;
}
printf("数字个数%d大写字母个数%d小写字母个数%d空格个数%d其他字符个数%d\n\n",b,c,d,e,f);
}
return 0;
}
3运行代码:
4总结:
感谢各位的阅读,以上就是“有一篇文章,共有3行文字,每行有80个字符。要求分别统计其中英文大写字母、小写字母、数字、空格以及其他字符的个数”的内容了,经过本文的学习后,相信大家对C语言这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是CSDN杰克尼,小编将为大家推送更多相关知识点的文章,欢迎关注!