2.编写一函数,由实参传来一个字符串,统计此字符串中字母,数字,空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果
3.写一函数,求一个字符串的长度。在MAIN的函数中输入字符串,并输出其长度
不会很难吧?
试着做做
第一题昨天以做过了:
http://bbs.bc-cn.net/viewthread.php?tid=167695&extra=&page=10#311928
第二题我是这样做的.:
#include "stdio.h"
void main()
{
int mymain(char a[], int b[]);
int x[4]={0};
char s[100];
printf("please input:");
gets(s);
mymain(s,x);
printf("空格:%d个\n",x[0]);
printf("数字:%d个\n",x[1]);
printf("字母:%d个\n",x[2]);
printf("其它:%d个\n",x[3]);
}
void mymain(char a[],int b[])
{
int i;
for(i=0;a[i]!='\0';i++)
if(a[i]==' ' || (a[i]>='a' && a[i]<='z') || (a[i]>='A' && a[i]<='Z') || (a[i]>='0' && a[i]<='9') )
{
if(a[i]==' ' )
b[0]++;
if(a[i]>='0' && a[i]<='9')
b[1]++;
if((a[i]>='a' && a[i]<='z') || (a[i]>='A' && a[i]<='Z'))
b[2]++;
}
else
b[3]++;
}
第三题:
#include "stdio.h"
void main()
{
int len(char a[]);
char s[100];
printf("请输入一个字符串:");
gets(s);
printf("字符串长为%d\n",len(s));
}
int len(char a[])
{
int i;
for(i=0;a[i]!='\0';)
i++;
return (i);
}
void mymain(char a[],int b[])
{
int i;
for(i=0;a[i]!='\0';i++)
if(a[i]==' ' || (a[i]>='a' && a[i]<='z') || (a[i]>='A' && a[i]<='Z') || (a[i]>='0' && a[i]<='9') )
{
if(a[i]==' ' )
b[0]++;
if(a[i]>='0' && a[i]<='9')
b[1]++;
if((a[i]>='a' && a[i]<='z') || (a[i]>='A' && a[i]<='Z'))
b[2]++;
}
else
b[3]++;
}
应该改为
void mymain(char a[],int b[])
{
int i;
for(i=0;i<100;i++)
if(a[i]==' ' )
b[0]++;
else if(a[i]>='0' && a[i]<='9')
b[1]++;
else if((a[i]>='a' && a[i]<='z') || (a[i]>='A' && a[i]<='Z'))
b[2]++;
else
b[3]++;
return(b)
}
主函数中定义int i;
输出结果 for (i=0;i<4;i++)
printf("x[%d]=%d",x[i]);
\* printf("空格:%d个\n",x[0]);
printf("数字:%d个\n",x[1]);
printf("字母:%d个\n",x[2]);
printf("其它:%d个\n",x[3]);*\就不用了,太复杂