字符串中某个数字出现的次数 c语言 简单易懂 谁借莪1个温暖的怀抱¢ 2022-11-16 13:51 212阅读 0赞 //题目叙述:编写 fun()函数 void fun(char\* s, int\* t) //其功能是实现统计形式参数 s 所指字符串中数字字符出现的次数, //并存放在形参 t 所指的变量中。 //例如:形参 s 所指字符串为:abcdef35agd3khe7, //则数字出现的次数为 4 次。 //在 main()函数中, //从键盘输入一行字符(字符个数不超过 80 个)到字符数组 str 中, //调用 fun()函数,统计出数字出现的次数, //并在屏幕上输出结果。 //要求:用指针实现 fun 函数的功能,否则按零分处理。 \#include<stdio.h>//标准的输入和输出流 \#include<stdlib.h>//system(“pause”)要用 void fun(char\* s, int\* t);//进行统计字符串中出现了数字的次数的函数 int main(void) \{ char str1\[99\];//定义一个长度为99的字符串数组, int t = 0;//定义一个整形的变量t printf(“请输入一串字符串\\n”);//提示用户输入相应信息 scanf\_s("%s", str1, 99);//将用户刚刚输入到缓冲区的字符串进行读入 fun(str1, &t);//注意第二个参数一定要传变量的地址, //否则返回回来的将是一个随机的数,而不是字符串中数字出现的次数, //因为没有传地址的话,只是将变量的地址复制了一份, //并没有操作原先变量的地址,导致出错 printf("%d次", t);//打印出字符串中数字出现的次数 system(“pause”);//将黑色窗口停留,用户按任意键后才会退出 return 0;//程序正常运行要返回一个0 \} void fun(char\* s, int\* t) \{ int i = 0,count = 0;//定义两个整形的变量,并初始化为0,其中count是一个计数器 while (*(s + i) != ‘\\0’)//以字符串中反斜杠0作为结束的标志, \{ if (*(s + i) - ‘\\0’ >= 0 && *(s + i) - ‘0’ <= 9) \{//如果字符串中的字符是*(s + i) - ‘\\0’ >= 0 && \*(s + i) - ‘0’ <= 9 //代表他是一个数字,是我们想要的字符,所以计数器count就可以++ count++; \} i++;//每进行一次,字符串都要向后移动一位 \} \*t = count;//将字符串中数字出现的次数返回给 \*t,这样当我们返回主函数的时候, //t的值就是字符串中数字字符出现的次数了 \}
还没有评论,来说两句吧...