c语言编程。从标准输入设备上输入一个字符串,分别统计其中每个数字,空格,字母及其他字符出现的次数。

作者&投稿:帛邹 (若有异议请与网页底部的电邮联系)
c语言 从标准输入设备上输入一个字符串,分别统计其中每个数字,空格。字母及其他字符出现的次数~


#include#includeint main(){char s[200]; int dx,xx,sz,kg,qt,i; gets(s); for(dx=xx=sz=kg=qt=i=0;s[i];i++) if(isupper(s[i]))dx++; else if(islower(s[i]))xx++; else if(isdigit(s[i]))sz++; else if(s[i]==' ')kg++; else qt++; printf("大写字母:%d
",dx); printf("小写字母:%d
",xx); printf("数字:%d
",sz); printf("空格:%d
",kg); printf("其它字符:%d
",qt); return 0;}

#include
using namespace std;
void main(){
char input[1000];
int i=0,out[26]={0},j;
char outstring[26]=
{'A','B','C','D','E','F','G','H','I','J','K','L',
'M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
cout<<"Please
input capital password:";
fgets(input,1000,stdin);
while(input){
if(input>=
'A'&&input<='Z'){
out[input-'A']++;
}
i++;
}
cout<<"输出:"<<endl;
for(j=0;j<26;j++){
cout<<outstring[j]<<
":"<<out[j]<<endl;
}
}
再出一个统计输入数字中各个数字的个数的代码
#include
using namespace std;
void main(){
int m,i=0,a[10]={0};
cout<<"Please input number:";
cin>>m;
while(m!=0){
i=m%10;
a++;
m=m/10;
}
for(int j=0;j<10;j++){
cout<<j<<":"<<a[j]<<endl;
}
}

扩展资料:return是C++的关键字,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值.
说到return,有必要提及主函数的定义,下面是从网络上找到的资料,好好消化吧,对了解主函数中返回值的理解有很大的帮助.
很多人甚至市面上的一些书籍,都使用了void main(),其实这是错误的。C/C++中从来没有定义过void main()。
C++之父Bjarne Stroustrup在他的主页上的FAQ中明确地写着
The definition void main(){/*...*/}is not and never has been C++,nor has it even been C.(void main()
从来就不存在于C++或者C)。下面我分别说一下C和C++标准中对main函数的定义。
1、C
在C89中,main()是可以接受的。Brian W.Kernighan和Dennis M.Ritchie的经典巨著The C programming Language 2e(《C程序设计语言第二版》)用的就是main()。不过在最新的C99标准中,只有以下两种定义方式是正确的:
int main(void)
int main(int argc,char*argv[])
例如:char*argv[]可以写成char**argv;argv和argc可以改成别的变量名(如intval和charval),不过一定要符合变量的命名规则。
如果不需要从命令行中获取参数,请用int main(void);否则请用int main(int argc,char*argv[])。
main函数的返回值类型必须是int,这样返回值才能传递给程序的激活者(如操作系统)。
如果main函数的最后没有写return语句的话,C99规定编译器要自动在生成的目标文件中(如exe文件)加入return 0;,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return语句,虽然没有这个必要,但这是一个好的习惯。
注意,vc6不会在目标文件中加入return 0;,大概是因为vc6是98年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上return语句了吧!不过,gcc3.2(Linux下的C编译器)会在生成的目标文件中加入return 0;。
2、C++
C++98中定义了如下两种main函数的定义方式:
int main()
int main(int argc,char*argv[])
int main()等同于C99中的int main(void);int main(int argc,char*argv[])的用法也和C99中定义的一样。同样,main函数的返回值类型也必须是int。
如果main函数的末尾没写return语句,C++98规定编译器要自动在生成的目标文件中加入return 0;。同样,vc6也不支持这个特性,但是g++3.2(Linux下的C++编译器)支持。

代码如下:

#include <stdio.h>

int main(){

char stringss[1024];

int i,num[4]={0};

int j = 0;

char c;

while((c=getchar()) !='
'){

stringss[j] = c;

j++;

}

for(i=0;i<j;i++)//统计字符串,遇到'\0'结束

{

if(stringss[i]>='0'&&stringss[i]<='9')//统计数字个数

num[0]++;

else if(stringss[i]==' ')//统计空格

num[1]++;

else if(stringss[i]>='A'&&stringss[i]<='Z'||stringss[i]>='a'&&stringss[i]<='z')//统计字符

num[2]++;

else

num[3]++;//其他

}

printf("出现的数字%d个,出现的空格%d个,出现的字母%d个,其他字符%d个
",num[0],num[1],num[2],num[3]);

}

程序运行结果如下:

扩展资料

C语言中对字符串的统计:可以通过循环数组的方式去一个一个的比较字符,然后进行统计。首先可以通过循环的方式读取每个数字,直到读到换行符“
”,就结束读取,把读取的字符存到数组中,同时记录下字符的长度,然后进行循环统计,打印出现个数就完成了。

参考资料:百度百科-C语言



//.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。
#include"stdio.h"
void scan(char *a);
int word=0,space=0,num=0,nother=0;
void main()
{
printf("输入一行字符:");
char a[40];
gets(a);
scan(a);
printf("字母%d,\n空格%d,\n数字%d,\n其他%d\n\n",word,space,num,nother);
}
void scan(char *a)
{
int i;
for(i=0;a[i]!='\0';i++)
{
if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))word++;
else if(a[i]==32)space++;
else if(a[i]>='0'&&a[i]<='9')num++;
else nother++;
}
}

只需对这个字符串进行遍历-------第一步
使用if -----else if----else 条件判断你要得条件就行了!

#include <stdio.h>
void main()
{
char c;
int letters=0,space=0,digit=0,others=0;
printf("please input some characters\n");
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters++;
else if(c==' ')
space++;
else if(c>='0'&&c<='9')
digit++;
else
others++;
}
printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,space,digit,others);
}


c语言编程。从标准输入设备上输入一个字符串,分别统计其中每个数字...
int main(){ char stringss[1024];int i,num[4]={0};int j = 0;char c;while((c=getchar()) !='\\n'){ stringss[j] = c;j++;} for(i=0;i<j;i++)\/\/统计字符串,遇到'\\0'结束 { if(stringss[i]>='0'&&stringss[i]<='9')\/\/统计数字个数 num[0]++;else if(str...

cin是什么意思?
cin是C++编程语言中的标准输入流对象,即istream类的对象。cin主要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。cin读取数据是从缓冲区中获取数据,缓冲区为空时,cin的成员函数会阻塞等待数据的到来,一旦缓冲区中有数据,就触发cin的成员函数去读取数据。cin的常用读取方法 使用cin从标准...

cin是什么意思?
cin是C++编程语言中的一个输入流对象,用于从标准输入设备(通常是键盘)读取数据。它是iostream库中的一个重要组成部分,与cout一起构成了C++的基本输入输出功能。在C++程序中,我们可以使用cin对象来读取用户输入的各种类型的数据,例如整数、浮点数、字符、字符串等。例如,如果要读取一个整数,可以这样...

cin什么意思
cin是编程中的输入流对象。详细解释如下:cin的含义 在计算机编程中,cin是一个代表输入流的对象,常用于C++编程语言中。它允许程序从标准输入设备读取数据。通过cin,程序员可以轻松地获取用户在运行时输入的数据,从而实现程序的交互性。cin的使用 在C++程序中,cin通常与变量一起使用,以读取并存储用户...

cin是什么意思啊中文?
cin是C++编程语言中的一个关键字,用于从标准输入流中读取数据。cin可以读取来自键盘、文件或其它输入源的数据。使用cin可以方便地将用户输入的数据存储到变量中,进而在程序中进行处理和操作。在C++中,cin和cout是一对重要的输入输出关键字。cin用于获取输入数据,而cout则用于输出数据。cin和cout的使用...

sacnf是什么意思?
Scanf是计算机编程语言中的一个函数,用于从标准输入设备(通常是键盘)中读取数据。该函数主要用于将用户输入的数据存储到指定的变量中,从而实现数据的读取。Scanf函数在C语言、C++语言以及许多其他编程语言中都有应用。Scanf函数的主要作用是进行数据的输入,通常被用于与其它输入函数结合来读取用户输入的数据...

“标准输入”和“标准输出”是什么?
标准输入和标准输出是计算机编程中两个核心的概念。它们源于C语言,当命令解释程序(shell)启动一个程序时,会为程序创建三个标准文件描述符,分别对应0、1和2,代表标准输入(stdin)、标准输出(stdout)和标准错误(stderr)。这些描述符实际上连接到终端或文件,允许程序接收用户输入、输出结果和错误...

C语言中的scanf是什么意思
C语言中的scanf函数是一种至关重要的标准库函数,它主要用于从用户处接收数据。这一函数与printf函数一样,都在stdio.h头文件中定义,使用前需包含此头文件。它的作用是根据预先设定的格式,从键盘读取数据并将其存储到指定的变量中。scanf的函数格式是:intscanf(char*format,args,...);它的功能是...

cin是什么意思数学?
cin通常与cout流一起使用,用于从标准输入设备(通常是键盘)读取用户输入的数据。cin是C++编程语言中最基本和实用的输入方式之一。通过cin,程序员可以轻松地从用户处读取信息,从而有效地实现一些程序运行逻辑。cin是一种非常方便的输入方法,许多新手程序员都会选择使用它。cin输入流操作符是C++编程中一个...

java scanner是什么意思
Java Scanner指的是Java编程语言中的Scanner类,它是Java.util包中的一个类。Java Scanner类的主要功能是从标准输入读取基本类型值和字符串。Scanner类可以将数据从一个输入流中读取到程序中并解析数据。Java Scanner类是一种非常简单且常用的工具,可以帮助Java程序员更轻松地读取用户输入的数据,也可以从...

八公山区15714511289: C语言程序设计:从标准输入设备上输入一个字符串,分别统计其中每个数字、空格、字母及其他字符出现的次 -
充明三七: #include <stdio.h> void main() { char str[1024]; int i,num[4]={0}; memset(str,0,1024); gets(str); for(i=0;str[i]!='\0';i++) { if(str[i]>='0'&&str[i]<='9') num[0]++; else if(str[i]==' ') num[1]++; else if(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z') num[2]++; else ...

八公山区15714511289: c语言编程.从标准输入设备上输入一个字符串,分别统计其中每个数字,空格,字母及其他字符出现的次数. -
充明三七: 代码如下:#include int main(){ char stringss[1024]; int i,num[4]={0}; int j = 0; char c; while((c=getchar()) !='\n'){ stringss[j] = c; j++; } for(i=0;i{ if(stringss[i]>='0'&&stringss[i]num[0]++; else if(stringss[i]==' ')//统计空格 num[1]++; else if(stringss[i]>='A'&&...

八公山区15714511289: c语言:从标准输入中读入一个整数算术运算表达式,如10+52 - 28,计算表达式结果,并输出 -
充明三七: 你把while(1)后面花括号内的语句改成下面的语句试一下:while(1) { scanf("%d",&a2); op1=='+'?a1+=a2:a1-=a2; scanf("%c",&op1); if(op1=='\n')break; } 如果还不行请留言.

八公山区15714511289: C语言如何从标准输入一次读入指定字符数量的字符串 -
充明三七: 在源码里插入汇编代码 INT 21H的0AH是输入字符串的 可以限定输入字符的个数我就知道这个了 据说C语言不是能插入汇编代码么

八公山区15714511289: 从标准输入设备上输入一字符串,分别统计其中每个数字,空格,字母及其他字符出现的次数. -
充明三七: #include<stdio.h>#include "string.h"void main(){ char ch[256],chh[56]; //用chh数组保存含有的字符 int n[56],sum=0,i=0,j,len,flag; // 用flag判断是否存在 float rate[56]; gets(ch); len=strlen(ch); printf("The Lenth is:%d\n",len); while (i<len) { flag=0...

八公山区15714511289: c语言中从标准输入上读入整数正整数n,使用递归函数逆序输出n的各位数字.例如123输出321,1 -
充明三七: #include <stdio.h> int main() { int a, t; scanf ("%d", &a); t = 0; while (a){ t= t*10+a%10; a/=10; } printf("%d\n", t); return 0; }

八公山区15714511289: C语言[那为大虾能帮忙一下]题目:编写一个程序,从标准输入读取一些字符,并把它们写到标准输出上.它同时应该计算checksum值,并写在字符的后面.
充明三七: singed char cc=-1; char * s1[100]; int ii=0; scanf("%s",s1); for(ii=0;s1[ii]!='\0';ii++) cc=(cc+s1[ii])%127; printf("%s\n%d",s1,cc)

八公山区15714511289: 在C语言编程中,什么时候要在开始时写上:#include<stdio.h> -
充明三七: stdio.h就是指“standard input&output" 意思就是说标准输入输出头文件! 所以了,用到标准输入输出函数时,就要调用这个头文件! 调用:#include 或#include"stdio.h"需要预处理的语句:int getch() //从标准输入设备读入一个字符...

八公山区15714511289: 求解答C语言初学者不会用一个函数来实现将一行字符中最长的单词输出.要求主程序从标准输入设备读入一串字 -
充明三七: #include void max(char s[]){ int sum=0,m=0,n=0,i; for(i=0;i

八公山区15714511289: 请问下面这段C语言的输入结果是怎么得出的? -
充明三七: ls的解释的是a函数啊,lz不明白的是b函数... b和a的区别就在于++和--操作符中间多了一个空格,这样x+ +就不再是x自增操作了(+ +和++不同),x后的单独的一个+可以看做一个正号,不影响数值,所以第一个y =x + +-1就相当于y=x-1,这时x值不变,y值为1,其它的同理.你说用括号括出来,这个+和-的优先级都一样的,就是按照从左往右顺序计算的,单独的+如果后面不是数值的话可以给忽略掉.也可以把第一个数值后面的所有+ -都看做正负号,累加到第二个数上...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网