spring书籍推荐知乎:c语言编程 路过勿扰 谢谢

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/06 11:27:16
带统计功能的打字练习程序1字符统计:每输入一个字符,字符个数加1。2行数统计:每输入一个回车键,行数加1。3单词统计:单词由字母组成,若输入的是字母序列,则认为是一个单词,单词之间用空格分隔(输入-1为整个文字段的输入结束)
要c语言的源代码 非常感谢

楼上的输入-就退出了而不是-1
在楼上基础上稍做修改

#include <stdio.h>
#include <ctype.h>

main()
{
int i=0,j=0,flag=0;
char a;
bool f;
char *p=&a;
printf("Input the words:\n");
do
{
*p=getchar();
if(*p=='-')
flag=1;
else
flag=0;

if((int)*p==32) i++;
else if((int)*p==10) i++,j++;
} while(!(*p=='1'&&flag==1));
printf("word=%d\n",i);
printf("line=%d\n",j);
}

别处拿的稍加修改~
#include <stdio.h>
#include <ctype.h>

main()
{
int i=0,j=0;
char a;
bool f;
char *p=&a;
printf("Input the words:\n");
do
{
*p=getchar();
if((int)*p==32) i++;
else if((int)*p==10) i++,j++;
} while(*p!='-');
printf("word=%d\n",i);
printf("line=%d\n",j);
}

因为考虑了一些边界情况,答案给的晚了些,另外请问都那些算是字符,我没算空格、回车和TAB键

#include <stdio.h>
#include <string.h>

void main()
{
int charNum = 0,lineNum = 0,wordNum = 0;
char c;
int i;
char word[1024];

while(1)
{
i = -1;
do{
if(c=='\n')
lineNum++;
}while((c=getchar())=='\n'|| c==' '|| c=='\t');

while(!(c=='\n'|| c==' '|| c=='\t'))
{
word[++i] = c;
c = getchar();
}
word[++i] = '\0';

if(strcmp(word,"-1")==0)
break;
charNum = charNum + strlen(word);
wordNum++;
}
lineNum++;
printf("\n1字符统计:%d\n2行数统计:%d\n3单词统计:%d\n",charNum,lineNum,wordNum);
}

同上