定义函数findNumber和findSpace,功能分别是查找字符串中数字的个数和字符串中空格的个数,并返回。在主函数中输入一串字符串放入char str[20]中,调用findNumber和findSpace函数,输出数字和空格的个数。
设计思路:
1.首先定义全局变量:整型变量number,space并且都赋初值为0;
2.自定义函数fingNumber(功能查找字符串的数字)。在自定义函数内,定义两个整型变量c和i且给i赋初值为0,用strlen函数求出字符串长度并且赋值给c,然后采用for循环,如果i<c成立,执行循环体语句,如果下标为i的值在字符常量0到9,则number加1,否则,number不加1,执行以上步骤直到循环结束;如果i>c,则不执行循环体语句,跳出循环。for循环结束后,返回返回值0。
3. 自定义函数findSpace(功能查找字符串的空格)。在自定义函数内,定义两个整型变量c和i且给i赋初值为0,用strlen函数求出字符串长度并且赋值给c,然后采用for循环,如果i<c成立,执行循环体语句,如果下标为i的值等于空格,则space加1,否则,space不加1,执行以上步骤直到循环结束;如果i>c,则不执行循环体语句,跳出循环。for循环结束后,返回返回值0。
4.在主函数中,定义一个大小为20的字符串变量s,首先对自定义函数申明,然后通过键盘输入字符串s,再调用函数fingNumber和findSpace查找字符串中的数字和空格,最后输出字符串中的数字和空格的个数并且返回返回值0。
代码如下:
#include<stdio.h>
#include<string.h>
int number=0;
int space=0
int findNumber(char s[])
{
int c,i;
c=strlen(s);
for(i=0;i<c;i++)
{
if(s[i]>='0'&&s[i]<='9')
number++;
}
return 0;
}
int findSpace(char s[])
{
int c,i;
c=strlen(s);
for(i=0;i<c;i++)
{
if(s[i]==' ')
space++;
}
return 0;
}
int main()
{
char s[20];
int findNumber(char s[]);
int findSpace(char s[]);
gets(s);
findNumber(s);
findSpace(s);
printf("\n统计结果:\n数字=%d \n空格=%d\n",number,space);
return 0;
}