输入一个字符串,内有数字和非数字字符,例如A123x456 17960? 302tab5876,将其中连续的数字作为一个整数,依此存放到一个数组a中。
输入一个字符串,内有数字和非数字字符,例如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中。相关推荐
- 输入一个字符串,内有数字和非数字字符,例如: A123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123放在a[0],456放在a[1]……
输入一个字符串,内有数字和非数字字符,例如: A123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组a中.例如,123放在a[0],456放在a[1]-- ...
- 习题 6.16 输入一个字符串,内有数字和非数字字符,例如: a123x456 17960? 302tab5876将其中连续的数字作为一个整数,依次存放到一数组a中。
习题 6.16 输入一个字符串,内有数字和非数字字符,例如: a123x456 17960? 302tab5876将其中连续的数字作为一个整数,依次存放到一数组a中.例如,123存入在a[0],456 ...
- .输入一个字符串,内有数字和非数字字符,例如: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 ...
- 【C】8.16输入一个字符串,内有数字和非数字字符,例如:A123x456 17960?302tab5876 ,将其中连续的数字作为一个整数,依次存放到一数组a中。例如:123放在a[0],456放在
//输入一个字符串,内有数字和非数字字符,例如:A123x456 17960?302tab5876 //将其中连续的数字作为一个整数,依次存放到一数组a中. //例如:123放在a[0],456放在a ...
- 输入一个字符串,内有数字和非数字字符,例如:A123x456 17960? 302tab5876,将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123放在a[0],456放在a[1]...
输入一个字符串,内有数字和非数字字符,例如:A123x456 17960? 302tab5876,将其中连续的数字作为一个整数,依次存放到一数组a中.例如,123放在a[0],456放在a[1]-统计 ...
- 输入一个字符串,内有数字和非数字字符,例如: 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 ...
- 输入一个字符串,内有数字和非数字,例如:A123x456 17960,将其中连续的数字作为一个整数,依次放到一数组a中。例如,123放在a[0],456放在a[1],统计共有多少个整数,并输出这些数。
代码如下: #include <stdio.h> #include <string.h> #include <ctype.h> #include <mallo ...
- C语言小练习:输入一个字符串,内有数字和非数int字符,如a123x456,将其中连续的数作为一个整数,依次存放到整形数组a中。
例:123存放在a[0],456存放在a[1].统计共有多少整数,并输出这些整数 #include<stdio.h> int main(int argc, char const *argv ...
- 输入一个字符串,内有数字和非数字字符
输入一个字符串,内有数字和非数字字符,例如: A123x456 17960?302tab5876 将其中连续的数字作为一个整数,依次存放到一数组a中.例如,123存放在a[0],456存放在a[1]. ...
- 输入一个字符串,内有字符和非数字字符,如A123x4561789>TA587
题目:输入一个字符串,内有数字和非数字字符,例 - 将其中连续的数字字符作为一个整数,依次存放到一数组a中,例如123存放a0,456存放a1,统计一共有多少个整数,并输出这个整数 思路:在网上看大家 ...
最新文章
- Ampere 携手 Rigetti 开发混合量子经典计算机
- [转] GMT、UTC与24时区 等时间概念
- ML之FE:对pandas的dataframe中的类别型字段进行数字编码化(类别型特征数值化)并导出映射表daiding
- es6 混合commjs_es6的模块化文件mjs为什么无法运行呢 | 学步园
- Delphi中判断控件的详细类型
- 彭博社:中企游说政府否决英伟达收购Arm
- Taro+react开发(88):大写px 控制样式
- python编译成dll文件_用vc生成可被python调用的dll文件
- 【PAT】B1004 成绩排名
- php读取oracle,php读取oracle中数据库文件
- Qt配置OpenCV教程
- unity3D人物模型
- Simulink建模:LKA系统功能状态机建模
- opencapwap简要分析
- matlab 贪吃的蛇,贪吃的蛇教案
- 图像融合(Image Fusion)简介
- RAD Studio 11.X Alexandria release有何新的改变及改变实务
- 我的项目开发经验积累总结
- 1072:鸡尾酒疗法(C C++)
- 上海11.15特大火灾唱响生命绝唱
热门文章
- 计算机考研基础必考知识点,2019计算机考研高数49个基础知识点(必知)
- 智能3D可视化建模展示系统-220KV变电站
- (附源码)springboot+vue.js+mysql+基于VUE框架的商城综合项目自动化系统的实现 毕业设计051018
- 朴素贝叶斯和AODE算法详解
- 全套免费视频下载平台
- 【HPCC】在ubuntu下测试本机的HPCC分数
- 净水设备的反冲洗方法
- 前端工程师的一生之敌ajax
- vue 登录页vue模板_Vue材质设计管理员模板
- 【C】 字符数组:char,char*,char a[], char *a[], char **s 的区别与联系