编写一个函数由实参传来一个字符串统计数字,空格和其他字符的个数在主函数中输入字符串以及输出上述结果 编写函数,由实参传来一个字符串,统计字母、数字、空格和其他字...

作者&投稿:地烟 (若有异议请与网页底部的电邮联系)
用C语言实现如下:
/*统计函数*/
void check(char *str)
{
int i,number=0,space=0,other=0;
char *p=str;
for(i=0;i<strlen(str);i++)
{
if(*(p+i)>='0' && *(p+i)<='9') /*数字*/
number++;
else if(*(p+i) == 32) /*空格*/
space++;
else
other++; /*其它字符*/
}
printf("%s\n",str);
printf("number:%d\nspace:%d\nother char:%d\n",number,space,other);
}

/*主函数*/
main()
{

char *string;
gets(string); /*输入字符串,因为要包括空格,不能用scanf()*/
check(string); /*调用函数*/
getch();
}

#include "stdio.h"
main(int argc, char *argv[])
{
输入一个字符串的,scanf吧,str好了
放到buff[getlenth(str)]中.
然后从buff[0]开始判断啊.
用ASCII判断吧.在一个范围的是数字,一个范围的是字符
设几个数,buff[i]是数字就+1,是字符另外个数就+1这样.

然后把这几个数统计就可以了阿.

}

感觉说的很清楚了,怎麼写程序,还是自己动手好.不然学不到的

晕,不是要写整个程序吧?用什么语言实现啊?

不清楚你说的是什么意思哦?

编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字~

#include
void count(char s[],int *zm,int *sz,int *kg,int *qt)
{int i;
*zm=0;*sz=0;*kg=0;*qt=0;
for(i=0;s[i];i++)
if(s[i]>='a'&&s[i]='A'&&s[i]<='Z')
(*zm)++;
else if(s[i]>='0'&&s[i]<='9')
(*sz)++;
else if(s[i]==' ')
(*kg)++;
else (*qt)++;
}
void main()
{char s[200];
int zm,sz,kg,qt;
gets(s);
count(s,&zm,&sz,&kg,&qt);
printf("字母:%d
数字:%d
空格:%d
其它:%d
",zm,sz,kg,qt);
getch();
}


这两个函数没有定义,删掉

...是代表这个元素的地址吗 ?可以在函数中作地址实参传送给形参指针变量...
答:不是 代表的是值~~~地址这样表示&a[i][j] 代表第i行j列的元素地址 所以不能做地址实参。补充的问题里 传送的是数组名(相当于是地址)所以可以 如果要传送整个数组地址用a 二维数组第i行行地址就用a[i]

C语言程序中,当调用函数时()。
答:实参和虚参各占一个独立的存储单元,选择A。函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z。函数调用的一般形式加上分号即构成函数语句。例如: printf ("%d",a);scanf ("%d",&...

当调用函数时,实参是一个数组名则向函数传送的是是什么?
答:2、相关概念简介:函数调用:计算机编译或运行时,使用某个函数来完成相关命令。对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式。各实参之间用逗号分隔。函数实参:函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此...

C++一个简单程序
答:因为你在执行void function(double val){val=3;} 这个函数的时候其实只main()函数val的值得的一个拷贝,这样说吧:函数全是值传递。。参数都是传递原变量的值的一个 拷贝。不过你要弄明白传递的是什么值。a,普通变量时值传递,嗯,没问题。你不能改变原来变量的值。对于传值调用,是把实...

一个自定义函数中怎么看哪些是实参函数?
答:实参函数可以是任意的表达式,包括函数调用、变量、常量等。例如,以下函数调用中,my_func的第一个实参函数是other_func(),第二个实参函数是变量x:def other_func():return 1 x = 2 my_func(other_func(), x, 3)在自定义函数中,我们可以使用这些实参函数来进行各种操作和计算,例如对它们进行...

JavaScript 中一个函数有多个形参,当调用的时候可不可以只传递一个实参...
答:可以,只传一个就是使用形参的第一个,后面的参数为null。

C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是_百度知 ...
答:答案是B,单向的值传递 简单变量做实参时,相应的形参变量也是简单变量,它们之间的数据传递方式是单向的值传递,即数据只能由实参传到形参,形参值的改变不影响实参值的变化。

c语言中,形参和实参的区别是什么?
答:2、目的不同:实参可以是常量、变量或表达式,无论实参是何种类型的量,在进行函数调用时,都必须具有确定的值,以便把这些值传送给形参。需要注意当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候...

如果能把C语言的要点给我列的在详细一点就更好了
答:表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。表达式的种类有:算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号表达式(顺序表达式)、条件表达式、指针表达式。6.数据的输入/输出C语言本身没有输人/输出...

关于C指针形参的问题,指针作为形参传入,函数分配一个同类型指针指向形参...
答:没看懂你的意思,不过指针,我可以讲讲。void Strdelspace(char* pStr)这个函数,他的形参只有一个,在函数括号内的叫形参,形参是个指针。我们假设主函数内有一个字符数组a,char a[2]={'a','b'};这是一个字符数组,两个元素,一个字符'a',一个字符'b',我们把这参数给void Strdelspace(...