输入一个字符串,内有数字和非数字字符,例如A123x456 17960? 302tab5876,将其中连续的数字作为一个整数,依此存放到一个数组a中。例如,123放在a[0],456放在a[1]...统计总共有多少个整数,并输出这些数

int Get_str_Num_Count(const char* str)//求一共需要存几个数
{int count = 0;//计数器count=0while (*str != '\0')//从str的首位置开始遍历,直到遇到'\0'结束{if (isdigit(*str) && !isdigit(*(str + 1)))//判断是否为1个数的标准是当前位置为数且下一个位置不是数{count++;//计数器+1}str++;//str到下一个位置}return count;
}int* Get_str_Num(const char* str)//获取数的函数
{bool tag = false;//设置一个标签,为假int n = Get_str_Num_Count(str);//获取需要存的数的个数int* arr = (int*)malloc(n * sizeof(int));//动态申请格子数为n的数组int sum = 0;int k = 0;//k为数组arr的下标while (*str != '\0')//从str的首位置开始遍历,直到遇到'\0'结束{if (isdigit(*str))//如果为数字{tag = true;//将标签修改为真sum = sum * 10 + (*str - '0');//求出这个数字。(*str - '0')是因为str是字符数,减去字符0,才是数}else{if (tag)//如果{arr[k] = sum;//将得到的数存到arr[k]k++;sum = 0;//重置sumtag = false;//修改标签}}str++;}if (tag)//最后一个数由于遇到\0结束while循环,没有进入while循环的else中,没有存入arr,现在将其存入{arr[k] = sum;}return arr;
}
int main()
{const char* str = "000A123x456 17960? 302ta0b5876";//const char* str = "A123x456 17960? 302tab5876";int* p = Get_str_Num(str);int len = Get_str_Num_Count(str);for (int i = 0; i < len; i++){printf("%d\n", p[i]);}return 0;
}

结果:

输入一个字符串,内有数字和非数字字符,例如A123x456 17960? 302tab5876,将其中连续的数字作为一个整数,依此存放到一个数组a中。相关推荐

  1. 输入一个字符串,内有数字和非数字字符,例如: A123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123放在a[0],456放在a[1]……

    输入一个字符串,内有数字和非数字字符,例如: A123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组a中.例如,123放在a[0],456放在a[1]-- ...

  2. 习题 6.16 输入一个字符串,内有数字和非数字字符,例如: a123x456 17960? 302tab5876将其中连续的数字作为一个整数,依次存放到一数组a中。

    习题 6.16 输入一个字符串,内有数字和非数字字符,例如: a123x456 17960? 302tab5876将其中连续的数字作为一个整数,依次存放到一数组a中.例如,123存入在a[0],456 ...

  3. .输入一个字符串,内有数字和非数字字符,例如:A123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到已数组a中,例如,123放在a[0],456放在a[1]…

    #include<stdio.h> int jishu(char *p) {     int a[10]={0};     int i=0,j=0,b=0;     for(i=0;*(p ...

  4. 【C】8.16输入一个字符串,内有数字和非数字字符,例如:A123x456 17960?302tab5876 ,将其中连续的数字作为一个整数,依次存放到一数组a中。例如:123放在a[0],456放在

    //输入一个字符串,内有数字和非数字字符,例如:A123x456 17960?302tab5876 //将其中连续的数字作为一个整数,依次存放到一数组a中. //例如:123放在a[0],456放在a ...

  5. 输入一个字符串,内有数字和非数字字符,例如:A123x456 17960? 302tab5876,将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123放在a[0],456放在a[1]...

    输入一个字符串,内有数字和非数字字符,例如:A123x456 17960? 302tab5876,将其中连续的数字作为一个整数,依次存放到一数组a中.例如,123放在a[0],456放在a[1]-统计 ...

  6. 输入一个字符串,内有数字和非数字字符,例如: A123x456 17960?302tab5876 将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123放在a[0],456放在a[1]……统

    #include<stdio.h> int getnum(char *p,int *num); //函数声明 int getnum(char *p,int *num){int tnum,f ...

  7. 输入一个字符串,内有数字和非数字,例如:A123x456 17960,将其中连续的数字作为一个整数,依次放到一数组a中。例如,123放在a[0],456放在a[1],统计共有多少个整数,并输出这些数。

    代码如下: #include <stdio.h> #include <string.h> #include <ctype.h> #include <mallo ...

  8. C语言小练习:输入一个字符串,内有数字和非数int字符,如a123x456,将其中连续的数作为一个整数,依次存放到整形数组a中。

    例:123存放在a[0],456存放在a[1].统计共有多少整数,并输出这些整数 #include<stdio.h> int main(int argc, char const *argv ...

  9. 输入一个字符串,内有数字和非数字字符

    输入一个字符串,内有数字和非数字字符,例如: A123x456 17960?302tab5876 将其中连续的数字作为一个整数,依次存放到一数组a中.例如,123存放在a[0],456存放在a[1]. ...

  10. 输入一个字符串,内有字符和非数字字符,如A123x4561789>TA587

    题目:输入一个字符串,内有数字和非数字字符,例 - 将其中连续的数字字符作为一个整数,依次存放到一数组a中,例如123存放a0,456存放a1,统计一共有多少个整数,并输出这个整数 思路:在网上看大家 ...

最新文章

  1. Ampere 携手 Rigetti 开发混合量子经典计算机
  2. [转] GMT、UTC与24时区 等时间概念
  3. ML之FE:对pandas的dataframe中的类别型字段进行数字编码化(类别型特征数值化)并导出映射表daiding
  4. es6 混合commjs_es6的模块化文件mjs为什么无法运行呢 | 学步园
  5. Delphi中判断控件的详细类型
  6. 彭博社:中企游说政府否决英伟达收购Arm
  7. Taro+react开发(88):大写px 控制样式
  8. python编译成dll文件_用vc生成可被python调用的dll文件
  9. 【PAT】B1004 成绩排名
  10. php读取oracle,php读取oracle中数据库文件
  11. Qt配置OpenCV教程
  12. unity3D人物模型
  13. Simulink建模:LKA系统功能状态机建模
  14. opencapwap简要分析
  15. matlab 贪吃的蛇,贪吃的蛇教案
  16. 图像融合(Image Fusion)简介
  17. RAD Studio 11.X Alexandria release有何新的改变及改变实务
  18. 我的项目开发经验积累总结
  19. 1072:鸡尾酒疗法(C C++)
  20. 上海11.15特大火灾唱响生命绝唱

热门文章

  1. 计算机考研基础必考知识点,2019计算机考研高数49个基础知识点(必知)
  2. 智能3D可视化建模展示系统-220KV变电站
  3. (附源码)springboot+vue.js+mysql+基于VUE框架的商城综合项目自动化系统的实现 毕业设计051018
  4. 朴素贝叶斯和AODE算法详解
  5. 全套免费视频下载平台
  6. 【HPCC】在ubuntu下测试本机的HPCC分数
  7. 净水设备的反冲洗方法
  8. 前端工程师的一生之敌ajax
  9. vue 登录页vue模板_Vue材质设计管理员模板
  10. 【C】 字符数组:char,char*,char a[], char *a[], char **s 的区别与联系