有一篇文章,共三行文字,每行有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++不是很懂