当前位置:首页 » 编程语言 » c语言统计字符时怎么刷新
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言统计字符时怎么刷新

发布时间: 2022-09-02 08:39:29

c语言怎么刷新输出时间

由于c语言标准库函数,没有Sleep延时程序,需要自己编写,主要通过循环判断difftime函数返回的时间差来实现延时,具体代码如下,
#include <stdio.h>
#include <time.h>
//延时程序
void sleep(int s)
{
time_t tmp1=time(NULL);
time_t tmp2=tmp1;
while(difftime(tmp2,tmp1)<s)//延时s秒后结束
{
tmp2=time(NULL);
}
}
int main(int argc, char *argv[])
{
int i=1;
while(i)
{
printf ("%d : %s \n",i++,__TIME__);//打印i及程序编译时间
sleep(1);
system("cls"); //清屏
}
return 0;
}

函数double difftime(time_t time2, time_t time1);返回两个time_t型变量之间的时间间隔,即 计算两个时刻之间的时间差。time1计时开始时间,time2计时结束时间,不断更新time2直至(time2-time1)为所需要的延时时间即可。

Ⅱ C语言编程:统计字符串中各字母出现的次数

#include&lt;stdio.h&gt;

#include&lt;stdlib.h&gt;

int findsub(char*src,char*s)

{

char*ptr=src,*p=s;//定义两个指针

char*ptr2=src+strlen(src),*prev=NULL;//ptr2为src的末位置指针

int len=strlen(s),n=0;//子串的长度和计数器

for(;*ptr;ptr++)//循环整个串

n++;//自增

p=s;//重新指向子串

break;//退出

char a[81],b[81];//定义两个字符数组

fgets(b,81,stdin);

printf("找到:%d ",findsub(a,b));

system("pause");

return 0;

}

数据类型:

字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。在某些语言中它们可作为基本类型获得,在另一些语言中做为复合类型获得。多数高级语言的语法允许通常用某种方式引用起来的字符串来表示字符串数据类型的实例;这种元字符串叫做“文本”或“字符串文本”。

以上内容参考:网络-字符串

Ⅲ C语言如何统计并输出不同字符在文章中出现的次数或频率(空格、换行、标点等也按字符处理)

至于思路嘛,其实也没什么,就是分别进行判断是否数字、字母、空格之类,并和用自增运算符来统计数量。具体看注释。

#include"stdio.h"
void main()
{
int qita=0,english=0,space=0,number=0,i,j;

while((i=getchar())!='\n') /**执行循环,把获得的字符赋给i,直到i等于换行符\n时循环终止**/
{
if(('a'<=i&&i<='z')||('A'<=i&&i<='Z'))
english++; /**如果a<=i<=z或A<=i<=Z,则字母的个数自加一**/
else if('0'<=i&&i<='9') /**如果是0--9之间的数字,则执行下面的number++**/
number++;
else if(i==' ') /**这个是判断空格的**/
space++;
else
qita++; /**这个是统计其他未知字符个数**/
}
printf("english=%d,space=%d,number=%d,qita=%d",english,space,number,qita);
getch();
}

Ⅳ C语言中统计字符出现的次数

是有些错误,我帮你改了下 ,你自己看看:
# include "stdio.h"
# include "string.h"
main()
{
char a[100],b[100];
int i,n1,n2,k,num,flag;
printf("输入原文:\n");
scanf("%s",a);
fflush(stdin); /* flush the input stream in case of bad input */

printf("输入字符串:\n");
scanf("%s",b);
fflush(stdin); /* flush the input stream in case of bad input */

n1=strlen(a);
n2=strlen(b);
num=0;
for(i=0;i<n1-n2;i++)
{
for(k=i;k<n2+i;k++)
{
flag=1;
if(a[k]!=b[k-i])
{
flag=0;
break;
}
if((k-i)==(n2-1))
{
num++;
i+=n2;
}
}
}
printf("总共出现%d\n",num);
system("pause");
}
首先,最好是在scanf("%s",a);后面加上这句 fflush(stdin);
/* flush the input stream in case of bad input */
其次,你的思路有问题,在第二个for循环里面
第二个if的条件应该改成(k-i)==(n2-1),即检查到了字符数组b的结尾了,说明前面的都匹配,那么才加1,呵呵呵,自己好好想想吧

Ⅳ C语言中写入数据怎样才可以刷新写入谢谢!~

你好!!
不知你向文件输入的是什么数据,输入数据的函数很多,有fputc(s,fp);有fwrite()函数、、、、
下面是想文件输入字符,并把字符串中的小写字符转换成大写字符:
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>

int main()
{
FILE *fp;
char filename[20];
printf("请输入文件的名称:");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("cannot open file !!!\n");
exit(0);

}
printf("请输入字符直至结束(ctrl +z):");
fflush(stdin);
char s;

while(scanf("%c",&s)!=EOF)
{
if(islower(s))
s=toupper(s);//把小写字符转换成大写字符
fputc(s,fp);

}

rewind(fp);//是位置指针重新返回文件的开头,此函数没有返回值

if((fp=fopen(filename,"r"))==NULL)//以读的方式打开文件
{
printf("cannot open file !!!\n");
exit(0);

}

while(!feof(fp))
{
s=getc(fp);
putchar(s);

}

return 0;

}
测试:
请输入文件的名称:hello
请输入字符直至结束(ctrl +z):hello world !
Z
Z
HELLO WORLD !
Press any key to continue

Ⅵ C语言字符串

代码功能:

1、输入任意行数的内容(如果你想限制最多10行,自己加个变量计数好了)。

2、不想输入时,新行直接回车,会刷新显示统计个数。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
typedefstructstrs
{
charstr[100];
structstrs*next;
}STRS;
voidcontWord(char*str);//对字符串大小写字母计数
voidintput(STRS**strsHead,STRS**strsTail);//输入字符串,并显示统计结果(每输入完一行回车时,刷新数据)
voidprfStrs(STRS*strsHead,inttj);//打印字符串及统计结果
intdCon=0;//大写字母计数
intnCon=0;//数字计数
intmain()
{
STRS*strsHead=(STRS*)malloc(sizeof(STRS));
strsHead->next=NULL;
STRS*strsTail=NULL;
intput(&strsHead,&strsTail);
return0;
}
voidprfStrs(STRS*strsHead,inttj)//tj=1输出统计结果;tj=0不输出统计结果
{
while(strsHead->next!=NULL)
{
printf("%s ",strsHead->next->str);
strsHead=strsHead->next;
}
if(tj==1)
{
printf("大写字母个数:%d ",dCon);
printf("数字输入个数:%d ",nCon);
}
}
voidcontWord(char*str)
{
intlen=strlen(str),i;
for(i=0;i<len;i++)
{
if(str[i]>='A'&&str[i]<='Z')
dCon++;
if(str[i]>='0'&&str[i]<='9')
nCon++;
}
}
voidintput(STRS**strsHead,STRS**strsTail)
{
STRS*strsNew;
charc;
while(1)
{
strsNew=(STRS*)malloc(sizeof(STRS));
memset(strsNew->str,0,100);
if(strsNew->str[0]==0)
{
c=0;
c=getchar();
if(c==' ')
{
system("cls");
prfStrs(*strsHead,1);
break;
}
else
{
strsNew->str[0]=c;
}
}


gets(&strsNew->str[1]);
strsNew->next=NULL;
if((*strsHead)->next==NULL)
(*strsHead)->next=strsNew;
else
(*strsTail)->next=strsNew;
*strsTail=strsNew;
contWord(strsNew->str);
}
}

Ⅶ (C语言)关于统计一行数字字符中每个数字字符出现的次数。

大部分错误都集在中stat方法中,如下:

voidstat(char*s,int*num){
inti;
charch;
ch=s[i];//你上面只是定义了i,从未赋值,i的值就是一个随机数
while((ch=getchar())!=' '){//你前面的indata就已经读入数据到s中了,这里只应该从s中读取并比较它是不是就可以了,而不应该是getchar
if(ch>='0'&&ch<='9')
num[ch-'0']+=1;
}
}
另外一个很重要的错误,你的num数组在使用前也并未初始化,会导至num中的数字也全部是随机的

修改如下

#include<stdio.h>
#defineM10
#defineN10
voidindata(char*s){
inti;
for(i=0;i<M;i++)
s[i]=getchar();
}
voidstat(char*s,int*num){
inti=0;
charch;
ch=s[i];//取第一个元素
for(;i<N;i++)num[i]=0;//num初始化
i=0;
while(ch!=''){
if(ch>='0'&&ch<='9')
num[ch-'0']++;
ch=s[++i];//取下一元素
}
}
voidoutdata(int*num){
inti;
for(i=0;i<N;i++)
printf("%d:%d ",i,num[i]);
}
main(){
intnum[N];
chars[M];
indata(s);
stat(s,num);
printf("Outputtheresult: ");
outdata(num);
}

//当然stat也可以进一步简化,变为
voidstat(char*s,int*num){
inti=0;
charch;
for(;i<N;i++)num[i]=0;
i=0;
while((ch=s[i++])!=''){
if(ch>='0'&&ch<='9')
num[ch-'0']++;
}
}

Ⅷ c语言如何统计字符个数

在C语言中,要统计一个字符串的字符个数,可以采用char类型的字符数组,再进行逐个字节的扫描,如果它的ASCII值大于零,这个字节算一个字符;如果它的ASCII值小于零的,就连同后续的一个字节算一个字符。遇到ASCII值等于零,就停止统计输出统计的结果。

Ⅸ c语言统计字符串中每个字符出现的次数

#include&lt;stdio.h&gt;

#include&lt;stdlib.h&gt;

int findsub(char*src,char*s)

{

char*ptr=src,*p=s;//定义两个指针

char*ptr2=src+strlen(src),*prev=NULL;//ptr2为src的末位置指针

int len=strlen(s),n=0;//子串的长度和计数器

for(;*ptr;ptr++)//循环整个串

{

if(ptr2-ptr&lt;len)//如果一开始子串就大于src,则退出

break;

for(prev=ptr;*prev==*p;prev++,p++)//寻找第一个相等的位置,然后从此位置开始匹配子串

{

if(*(p+1)==0||*(p+1)==10)//如果已经到了子串的末尾

{

n++;//自增

p=s;//重新指向子串

break;//退出

}

}

}

return n;

}

int main(void)

{

char a[81],b[81];//定义两个字符数组

printf("输入原字符串:");

fgets(a,81,stdin);//输入

printf("输入子字符串:");

fgets(b,81,stdin);

printf("找到:%d ",findsub(a,b));

system("pause");

return 0;

}

(9)c语言统计字符时怎么刷新扩展阅读:

①printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。

格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。

要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。

②printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。

printf()函数的调用格式为:printf("&lt;格式化字符串&gt;",&lt;参量表&gt;)。

其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。

Ⅹ C语言中怎样在统计字符时即时刷新

使用getch();函数, 接收字符窜, 不需要按回车键
返回的是输入的字符
头文件为 conio.h