❶ c语言统计输入的行数,空格数,制表符数程序为什么出现问题
#include <stdio.h>
/*统计输入的行数,空格数,制表符数*/
main()
{
int c, n1, n2, n3, a, b;
n1 = 0;
n2 = 0;
n3 = 0;
a = 0;
b = 0;
while ((c = getchar()) != EOF)
if (c == ' ')
++n1;
else if (c == ' ')
++n2;
else if (c == ' ')
++n3;
printf("%d ", n1);
printf("%d ",n2);
printf("%d ",n3);
}
❷ C语言编程 下面的空格输出数量的变化规律是怎么实现的。
for(j=1;j<=i;j++) /*输出空格的数量随着行数的变化而变化*/
printf(" ");
这不是个for循环吗,共循环 i 次,也就是打印 i 个空格
所以在 for(i=0;i<5;i++)这个循环中,随着i的变化,打印的空格就跟着在变化啊。
❸ C语言统计空格程序
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LINE 1024
int totalsum=0;
int sum1(char a[])
{
int i;
char str;
int sum=0;
for(i=0;str=a[i]!='\0'; i++){
if(a[i]==' ')
sum++;
}
printf("空格数是:%d\n",sum);
totalsum+=sum;
return 0;
}
int main()
{
FILE*fp;
char*buf;
int len;
if ((fp=fopen("C:\\a.txt","r"))==NULL)
{
printf("open file error!!\n");
return 1;
}
buf=(char*)malloc(LINE*sizeof(char));
while(fgets(buf,LINE,fp)!= NULL )
{
len = strlen(buf);
buf[len-1] = '\0';
printf("%s\n",buf);
sum1(buf);
}
printf("文件中的总空格数是:%d\n",totalsum);
system("pause");
return 0;
}
❹ C语言初学者,编写一个统计空格、制表符和换行符个数程序
1、直接对每个字符进行判断,如果是其中一种,数目加一即可。
2、例程:
#include<stdio.h>
main()
{
intc,hs,kgs,zfbs;
hs=0,kgs=0,zfbs=0;/*初始化*/
while((c=getchar())!='#')
{
if(c==' ')
++hs;
if(c=='')
++kgs;
if(c==' ')
++zfbs;
}
printf("%d%d%d ",hs,kgs,zfbs);/*zbfs改为zfbs*/
}
/*nl,cl,bl可能是代表行数,空格数,制表符数的英文缩写*/
❺ c语言 统计空格个数
b=(getchar())!=EOF这里出问题了!赋值(=)符号优先级低于逻辑运算符!=,所以得到的b只有0或1~
话说貌似EOF是要ctrl+z作为输入结束的
❻ c语言中如何显示行数
是看自己的代码有多少行?
还是要编程来计算一段文字有多少行?
还是其他。。。
前者的话一般编译器都有显示鼠标当前所在行和列的数目,只要把鼠标放到代码最后就可以了。
后者的话可以计算换行符的个数。
❼ 用c语言怎么输出一行空白行
加上 即可,例如
#include<stdio.h>
main()
{
printf(" ");
}
❽ 在C语言中如何输出空格
空格可以直接输入,例如System.out.println(" ");而如果用String表示那些符号的话,空格直接就是 就行。
\ 反斜杠' 单引号'
" 双引号"
uxxxx 以十六进制指定Unicode字符输
dxxx 以八进制指定Unicode字符输出
倒退一个字符
f 换页
换行
光标移至行首
跳格(一个TAB键)
(8)c语言显示空格行数扩展阅读
运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面。特殊字符的表示方法:
回车('u000D')
d数字等价于[0-9]
D非数字等价于[^0-9]
s空白符号[ x0Bf ]
S非空白符号[^ x0Bf ]
e Escape
一个单词的边界
B一个非单词的边界
G前一个匹配的结束
❾ c语言输出空格问题
教你编写这类程序的方法:
首先我们考虑用循环的方法来做,比如用i做循环变量
举例图形如下,先分析一下:
行号(i),星号个数,前导空格个数,
******* 0 7 0
***** 1 5 1
*** 2 3 2
* 3 1 3
归纳一下:
-如何产生行号
for ( i=0;i<4;i++ )
{
// 这样在循环体中每次循环的i值就是我们要的行号
// 这个行号我们可以拿来用、参与计算
printf("\n"); // 记住打印完后,每行要换行
}
-如何通过行号计算出前导空格个数
与行号同数字,再用一个循环打印空格,程序变成:
for ( i=0;i<4;i++ )
{
for ( j=0;j<i;j++ ) printf(" ");
printf("\n");
}
-如何通过行号计算出星号个数
星号个数=(3-i)*2+1,再通过一个循环打印星号,程序变成:
for ( i=0;i<4;i++ )
{
for ( j=0;j<i;j++ ) printf(" ");
for ( j=0;j<(3-i)*2+1;j++ ) printf("*");
printf("\n");
}
加个程序头尾,你就完成了。