有一篇文章,共三行文字,每行有80个字符.要求分别统计出单词个数,空格数.

供稿:hz-xin.com     日期:2025-01-21
有一篇文章,共有3行文字,每行有80个字符。要求分别统计其中英文大写字母、小写字母、数字、空格以及


我只能猜测,你的那个“<”写的有问题,你试试从下面的“<”复制粘贴过去。。。


我只能猜测,你的那个“<”写的有问题,你试试从下面的“<”复制粘贴过去。。。

已编译,调试,请采纳

#include<stdio.h>

#include<stdlib.h>

int main()

{

char str[3][81];

int i,j;

int word=0,blank=0,num=0;

char c;

for(i=0;i<3;i++)

{

 blank=0;

 word=0;//注意要初始化

 num=0;//注意要初始化

 printf("请输入第%d行:
",i+1);

 gets(str[i]);

 for(j=0;(c=str[i][j])!='\0'&&j<80;j++)//注意加[i]

 {

  if(c==' ')

  {

  word=0;//你的是','

  blank++;

  }

  else if(word==0)

  {

  word=1;

  num++;

  }

 }//括号注意配对

 printf("blank=%d
num=%d
",blank,num);

}//括号注意配对

 return 0;

}



二维数组str〔a〕〈b〉表示a行 b列
在二维数组中,如果只有出现str〔a〕表示第a 加1行的所有字符。如:str(0)表示整个第一行
所以关于二维数组的某个字符的定位问题,一定要行列指定清楚。
回看本例中, for(j=0;(c=str[j])!='\0'&&j<80;j )的对象指定错误,应该是str〔i〕〔j〕或者其他表示法。不知道明白没有#^_^#

#include<stdio.h>
#include<stdlib.h>
void main()
{
char str[3][81];
int i,j;
int word=0,blank=0,num=0;

gets(str[i][j]);
for(i=0;i<3;i++)
{
printf("请输入第%d行:\n",++i);
for(j=0;str[i][j]!=('\n'&&j<80);j++)
{if(str[i][j]==' ')word=0,blank++;
else if(word==0)
word=1;
num++;
}}
printf("blank=%d\nnum=%d\n",blank,num);
}

C语言题:有一篇文章,共有3行文字每行有80个字符。编写程序分别统计出...
在这个程序中,我们使用了C语言的文件处理函数来读取一个文本文件,并统计其中的英文大写字母和小写字母的数量。程序首先尝试打开名为"test.txt"的文件,如果成功,程序会统计每一行中的字母数量。这里假设文章共有三行,每行有80个字符。程序定义了一个字符数组s,用于存储从文件中读取的一行文本。通过fge...

C语言题:有一篇文章,共有3行文字,每行有80个字符。编写程序分别统计出...
void main(){ 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...

C语言题目:“有一篇文章,共有3行文字,每行有个80字符.要求分别统计”请 ...
因为每行屏幕最多显示81个字符,而最后一个字符都是\\0意味着字符串的结束。所以要加这个判断来识别是不是读到字符串结尾了。

有一篇文章,共三行文字,每行有80个字符.要求分别统计出单词个数,空格数...
printf("请输入第%d行:\\n",i+1);gets(str[i]);for(j=0;(c=str[i][j])!='\\0'&&j<80;j++)\/\/注意加[i]{ if(c==' '){ word=0;\/\/你的是','blank++;} else if(word==0){ word=1;num++;} }\/\/括号注意配对 printf("blank=%d\\nnum=%d\\n",blank,num);}\/\/括号注意...

c语言 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文...
include<stdio.h> main(){char str[3][80]={ };\/\/你可以初始化 int i,j,num=0;for(i=0;i<3;i++)for(j=0;j<80;j++)if(str[i][j]>'A'&&str[i][j]<'Z')num++;\/\/ 统计大写字母的个数 }

有一篇文章,共有3行文字,每行有个80字符.要求分别统计出其中英文大写...
)) k++;else q++; } printf("英文大写字母有:%d个\\n", d);printf("英文小写字母有:%d个\\n", x);printf("数字有:%d个\\n", s);printf("空格有:%d个\\n", k);printf("其他字符有:%d个\\n", q);puts (strupr(c);return 0;} ...

C程序设计:一篇文章共有三行文字,每行八十个字符,统计大写字母、小写...
include <string.h> main(){ char a[100],b[100],c[100];int l1,l2,l3,d=0,x=0,s=0,k=0,q=0,i;printf("请输入第一行文字\\n");gets(a);printf("请输入第二行文字\\n");gets(b);printf("请输入第三行文字\\n");gets(c);l1=strlen(a);l2=strlen(b);l3=strlen(c);for...

有一篇文章,共有3行文字,每行有个80字符.要求分别统计出其中英文大写...
1、gets(str[i][j]); 这一句中j没赋值,而且把字符串送给一个字符型二维数组的元素是行不通的,通不过编译;你可以改成gets(str[i]),但是只能输入一行,因为gets()虽然不会将空格识别为'\\0',但它把回车视为'\\0';这一句最好改成for(;i<=2;gets(str[i]),i++);,这里分号别忘...

有一篇短文 共有三行文字 每行80字符 统计出其中英文大写字母 小写字母...
char text[3][80];upp=low=dig=spa=oth=0;for (i=0;i<3;i++){ printf("please input line %d:\\n",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...

“有一篇文章,共有3行文字,每行80字符。要求分别统计其中英文大写字母...
for (i=0;i<3;i++){ for (j=0;j<80;j++){ 这里有问题吧 ,C++不是很懂