编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入
#include
#include
int letter,number,blank,other;
void count(char str[])
{
int i;
for(i=0;str[i]!='\0';i++)
{
if((str[i]>='a'&&str[i]='A'&&str[i]<='Z'))
letter++;
else if(str[i]>='0'&&str[i]<='9')
number++;
else if(str[i]==' ')
blank++;
else
other++;
}
}
int main()
{
char a[80];
gets(a);
puts(a);
strcat(a,"\0");
letter=0;
number=0;
blank=0;
other=0;
count(a);
printf("
%5d,%5d,%5d,%5d
",letter,number,blank,other);
return 0;
}
扩展资料:
C语言需要说明的是:
1、一个C语言源程序可以由一个或多个源文件组成。
2、每个源文件可由一个或多个函数组成。
3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。
4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。
5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”。
6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
参考资料:
百度百科-c语言
参考以下代码
#include
int main()
{
char ch[100] = "";
void sum(char* ch);
gets(ch);
sum(ch);
puts(ch);
return 0;
}
void sum(char *ch)
{
int character=0,number=0,others=0;
int i = 0;
while(ch[i]!='\0')
{
if((ch[i]>='A'&&ch[i]='a'&&ch[i]<='z'))character++;
else if(ch[i]>='0'&&ch[i]<='9')number++;
else others++;
i++;
}
printf("character:%dnumber:%dothers:%d
",character,number,others);
}
private static int chars = 0;//字母个数
private static int nums = 0;//数字个数
private static int spaces = 0;//空格个数
private static int others = 0;//其他字符个数
public static void printString (String str) {
for (int i=0; i<str.length(); i++) {
if (str.charAt(i) >= 'a' && str.charAt(i) <= 'z') {
chars ++;
} else if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z') {
chars ++;
} else if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {
nums ++;
} else if (str.charAt(i) == ' ') {
spaces ++;
} else {
others ++;
}
}
System.out.println("字母个数:" + chars
+ "\n数字个数:" + nums
+ "\n空格个数:" + spaces
+ "\n其他字符个数:" + others);
}
/**
* @param args
*/
public static void main(String[] args) {
printString("....abcdefghijklmnopqrstuvwxyz ABCD 01 234 5678 901234-[]/].");
}
}
#include<stdio.h>
void f(char s[100])
{int i,a,b,c,d;
a=b=c=d=0;
for(i=0;s[i]!='\0';i++)
if((s[i]>='a'&&a[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
a++;
else if(a[i]>='0'&&a[i]<='9')
b++;
else if(a[i]==' ')
c++;
else
d++;
printf("字母的个数有%d,数字的个数有%d,空格的个数有%d,其它字符个数有%d\n",a,b,c,d);
}
void main()
{ char s[100];
gets(s);
f(s);}
望采纳!
public class CountString {
public int nullCount=0;
public int strCount=0;
public int numCount=0;
public int otherCount=0;
public void getCount(String s)
{
char[] cArr=s.toCharArray();
for(char c:cArr)
{
if((c>='a'&& c<='z')||(c>='A'&&c<='Z'))
{
this.strCount+=1;
}
else if(c==' ')
{
this.nullCount+=1;
}
else if(c>='0'&&c<='9')
{
this.numCount+=1;
}
else
this.otherCount+=1;
}
System.out.println("字符串:"+this.strCount+"数字:"+this.numCount+"空格"+this.nullCount+"其它:"+this.otherCount);
}
public static void main(String[] args) {
CountString s=new CountString();
s.getCount("abcd9&& ^");
}
}
运行结果:字符串:4数字:1空格1其它:3
...void count(char str[ ]),由实参传来一个字符串,统计此字符串中字母...
include<stdio.h>int i=0,j=0,k=0,m=0;void count(char str[ ]);int main(){ char str1[100]; gets(str1); count(str1); printf("字母有:%d个\\n数字有:%d个\\n空格有:%d个\\n其他字符有:%d个\\n",i,k,j,m);}void count(char str[]){ int b=0; for(;str[b]!=...
C预言 编写一个函数,由实参传来一个字符串,统计字符串中字母,数字,空 ...
2016-08-19 编写函数,由实参传来一个字符串,统计字母、数字、空格和其他字... 2015-02-06 写一个函数,由实参传来一个字符串,统计字符串中的字母,数字,... 1 2012-03-18 程序改错 ,编写一函数,由实参传来一个字符串,统计此字符串中... 2 2012-12-03 编写函数,由实参传来字符串,统计此字符串中...
2.编写函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和...
public static void main(String[] args) { showCount("sdfhad$%.sg7sgo%24df,gsdgo sd(fsd89l dfgd@sg32423");} public static void showCount(String s) { System.out.println(s + " 总字符个数:" + s.length());System.out.println("数字个数:" + s.replaceAll("\\\\D", ""...
编写一个函数fun(str),它的功能是:统计由实参传来的一个字符串中的字 ...
{ int len = strlen(str);int i;for(i=0;i<len;i++){ if((str[i]>='a' && str[i]<='z') ||(str[i]>='A' && str[i]<='Z')){ b[0]++;} else if(str[i]==' '){ b[2]++;} else if(str[i]>='0' && str[i]<='9'){ b[1]++;} else { b[3]++;...
由实参传来字符串是什么意思
由实参传来字符串意思是C语言程序主函数传递的字符。根据查询相关资料可知,在C语言编程中,编写函数由实参传来字符串,是主函数传递的字符,可以统计此字符串中字母、数字、空格和其它字符的个数,从实参传入字符串到形参进行统计字符的数量。由实参传来字符串包括控制字符、通信专用字符和可显示字符。
编写函数,由实参传来一个字符串,统计字母、数字、空格和其他字符的个...
这两个函数没有定义,删掉
写一个函数,分别传入实参 year年,month月,day日,输出这一天的下一天_百...
{ printf("下一天是:%d年%d月%d日。",y,m,d);} int main(int argc, char *argv[]){ int year, month, day;printf("请输入年:");scanf("%d",&year);printf("请输入月:");scanf("%d",&month);printf("请输入日:");scanf("%d",&day);switch( month ){ case 1:case 3...
c51指针的问题——通过函数传递字符串,求指导!
text 确实是指针变量,而调用时,是可以直接带字符串作为实参的。那么text 里是这个字符串存储的地址,而地址是经过库函数计算出来的,这个可以不用管。这个函数只能显示字符串,是不能显示数值的。2、按理,液晶厂家的驱动程序中还应该有一个显示数值的函数,这样,在调用时,形参可以直接是数字0~9,...
C++写的DLL 如何传递字符串?
你将函数声明为:bool x(char **a){ *a = "123123";}调用时,char *str = "aaaaa";x(&str);原因是:如果将将str作为参数,str在函数执行完了之后,其值是不会改变的(任何参数的值在函数结束后都不会改变),还是"aaaaa"的地址。当你将参数改为&str,记为p,p的值是一个地址,该...
c语言:字符串做为函数参数传递
函数调用时,这里系统不会为形参分配数组存储空间,而是仅仅分配一个存放数组地址(第一个元素地址)的存储空间,此后,将实参数组的首地址传递给形参变量。其实本质与下相同,只不过还是数组形式的(数组名代替指针)。既然数组型变量名本身只是该数组所占存储空间的首地址,我们当然可以用指针做形参来接收...