C语言题:有一篇文章,共有3行文字,每行有80个字符。编写程序分别统计出其中英文大写字母、英文小写字母
#include
void main() { FILE *fp; char s[81]; int i,j,a,b;
if ( fp=fopen("test.txt","r") ) {
a=b=0;
for ( i=0;i<3;i++ ) {
fgets(s,80,fp); j=0;
while ( s[j]!=0 )
if ( s[j]>='A' && s[j]<='Z' ) a++;
else if ( s[j]>='a' && s[j]<='z' ) b++;
j++;
}
printf("%d,%d
",a,b);
fclose(fp);
} else printf("无法打开文件
");
}
#include
int main()
{int i,j,upp,low,dig,spa,oth;
char text[3][80];
upp=low=dig=spa=oth=0;
for (i=0;i<3;i++)
{ printf("please input line %d:
",i+1);
gets(text[i]);
for (j=0;j<80 && text[i][j]!='\0';j++)
{if (text[i][j]>='A'&& text[i][j]<='Z')
upp++;
else if (text[i][j]>='a' && text[i][j]<='z')
low++;
else if (text[i][j]>='0' && text[i][j]<='9')
dig++;
else if (text[i][j]==' ')
spa++;
else
oth++;
}
}
printf("
upper case: %d
",upp);
printf("lower case: %d
",low);
printf("digit : %d
",dig);
printf("space : %d
",spa);
printf("other : %d
",oth);
return 0;
}
{
char t[3][81];//每行最多80个字符,数组长度要81
int i,j;
int u[3],l[3],d[3],s[3],other[3];//按行统计,u-大写,l-小写,d-数字,s-空格,other-其它字符
for(i=0;i<3;i++)//输入每行字符串,并对u、l、d、s、other初始化
{
printf("\n%dst row:",i+1);
gets(t[i]);
u[i]=l[i]=d[i]=s[i]=other[i]=0;
}
for((i=0;i<3;i++)//统计过程
for(j=0;t[i][j];j++)//每行统计到ascii码0结束
{
if(t[i][j]>='a'&&t[i][j]<='z') l[i]++;
else if(t[i][j]>='A'&&t[i][j]<='Z') u[i]++;
else if(t[i][j]>='0'&&t[i][j]<='9') d[i]++;
else if(t[i][j]==' ') s[i]++;
else other[i]++;
}
for(i=0;i<3;i++)//按行输出统计结果
{
printf("\n%dst row:lowercase=%d,uppercase=%d,digit=%d,space=%d,other=%d",i+1,l[i],u[i],d[i],s[i],other[i]);
}
//按文章输出统计结果
printf("\n\ntotal:lowercase=%d,uppercase=%d,digit=%d,space=%d",other=%d",
l[0]+l[1]+l[2],u[0]+u[1]+u[2],d[0]+d[1]+d[2],s[0]+s[1]+s[2],other[0]+other[1]+other[2]);
}
字符读进去之后。for循环,遍历每个字符,然后通过ctype.h 下面的islower()isupper()isspace() isdigit()来判断这个字符是小写字母,大写字母,空格,还是数字,就OK了
有一篇文章,共有3行文字,每行最多不超过80个字符,请分别统计出其中英文...
a=0; \/\/ 小写字母 b=0; \/\/大写字母 c=0; \/\/数字 d=0; \/\/空格 s[]='要统计的内容'for(i=0;s[i]!='\\0';i++){ if(s[i]<='z' and s[i]>='a')a++;if(s[i]<='Z' and s[i]>='A')b++;if(s[i]<='9' and s[i]>='0')c++;if(s[i]=='...
帮我看下这段代码有何错误?有一篇文章,共有3行文字,每行有80个字符...
include<stdio.h> int main(void){ int i,j,upp=0,low=0,dig=0,spa=0,oth=0;char text[3][80]={'\\0'};char c;printf("please input the lines:\\n");for(i=0;i<=2;i++)gets(text[i]);for(i=0;i<=2;i++){ for(j=0;j<80;j++){ if((c=text[i][j])=='\\0...
从键盘输入一段英文,统计并输出单词个数
\/\/有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。include <iostream.h> include <stdio.h> void main(){ char ch[3][80];cout<<"请输入短文,每行80个字符,回车结束:"<<endl;for(int i=0;i<3;i++)gets(ch[i])...
有一篇文章,共有3行文字,每行有80个字符。要求分别统计其中英文大写字 ...
我只能猜测,你的那个“<”写的有问题,你试试从下面的“<”复制粘贴过去。。。
“有一篇文章,共有3行文字,每行80字符。要求分别统计其中英文大写字母...
for (i=0;i<3;i++){ for (j=0;j<80;j++){ 这里有问题吧 ,C++不是很懂
有一篇文章 共有3行文字每行最多20个字符 要求分别统计其中英文 大写...
tent, your quarters!” and she threw open
一共有3行,每行都有12个圈,使灰色的个数是黑色的3倍,请问怎么涂色?
黑色:12×3÷(3+1)=9(个)灰色:9×3=27(个)答:9个圈涂成黑色的,其余的涂成灰色的。
一篇文章,共有n行文字,每行有m个字符.要求分别统计出其中英文大写字母...
include<iostream> using namespace std;int main(){ int n,m;int a,b,c,d,e;a=b=c=d=e=0;cin>>n>>m;getchar(); \/\/新增一行 char x[n][m];for(int i=0;i<n;gets(x[i]),i++); \/\/有改动 for(int i=0;i<n;i++){ for(int j=0;j<m&&x[i][j]!='\\0...
word中有三行文字,如何同时选中第一行和第三行文字
以联想小新pad Pro11.5英寸电脑、win10专业版以及Word2010版本为例,如需要选中第一行和第三行文字可以在按住CTRL键时,使用鼠标左键选择该第一行以及第三行文字即可。具体的操作方法如下:1、在电脑上打开需要的文档进入。2、进入到该文档以后找到需要的内容,按住CTRL按键。3、使用鼠标左键选中第一...
C语言统计符号程序设计输入三行文字,找出其中有多少个空格和多少个单词...
include "stdio.h"int main(){ char s[1000];int kongge = 0;int danci = 0;for(int i = 0;i < 3;i ++){ \/\/输入3行 gets(s);bool tag = false; \/\/开始没有单词 for(j = 0;s[j] != '\\0';j ++)if(s[j] == ' '){kongge ++;tag = false;} else if(tag == ...