c语言统计行数
㈠ 编写程序统计输入的行数,用!结束输入,!所在行不计入行数。用c语言程序编写。
C语言实现如下:
#include<stdio.h>
voidmain()
{
charc;
intline=0;
do
{
c=getchar();//输入一个字符。
if(c=='!')break;//判断该字符是否为“!”,是则结束循环。
if(c==' ')line++;
}while(1);
printf("共有%d行。 ",line);//输出所统计的行数。
}
样例输入:
Hello,world.
Nice to meet you~
How are you?
See you! I am glad to meet you.
样例输出:
共有3行。
㈡ 用c语言怎么读取txt文件中的行数
读取文件行数, 可以逐个字符读取文件,到文件尾,统计 的个数
参考代码如下
#include<stdio.h>
intmain()
{
intc;
FILE*fp;
intlines=0;
fp=fopen("in.txt","rb");
if(fp)
{
while((c=fgetc(fp))!=EOF)
if(c==' ')lines++;
printf("%d ",lines);
fclose(fp);
}
return0;
}
也可以通过fgets函数,每次读取一行,到文件尾,然后计算读取的次数
#include<stdio.h>
#include<string.h>
intmain()
{
chars[100];
FILE*fp;
intlines=0;
fp=fopen("in.txt","r");
if(fp)
{
while((fgets(s,100,fp))!=NULL)
if(s[strlen(s)-1]==' ')lines++;
printf("%d ",lines);
fclose(fp);
}
return0;
}
㈢ c语言中如何获取一个二维数组的行列数
有两种方式:
1 二维数组的行列数在定义的时候就是确定好的,所以编程人员是知道二维数组的大小以及行列数的。 所以可以直接使用行列数的值。
为方便维护,可以将行列数定义为宏,直接调用对应的宏名作为行列值。
2 动态获取。
对于type array[A][B];形式的二维数组,可以通过计算sizeof获取行列数。
sizeof(array[0][0])为一个元素占用的空间,
sizeof(array[0])为一行元素占用的空间,
sizeof(array)为整个数组占用的空间,
于是:
行数 = sizeof(array)/sizeof(array[0]);
列数 = sizeof(array[0])/sizeof(array[0][0]);
㈣ C语言获取某特征字符所在文件行数
#include<stdio.h>
#include "stdlib.h"
#include "string.h"
void main()
{
FILE *fp;
char *str="bbb";
char s[81];
int i=1;
if((fp=fopen("1.txt","r"))==NULL)
{
printf("file open error!\n");
exit(1);
}
fgets(s,81,fp);
while(!feof(fp))
{
if(strstr(s,str))
printf("%d\n",i);
fgets(s,81,fp);
i++;
}
fclose(fp);
}