#统计整数个数(指针)

2023-05-16

以下面这题为例:

题目内容:

输入一个字符串,其包括数字和非数字字符,如:a123x456 17935? 098tab,将其中连续的数字作为一个整数,依次存放到数组a中,统计共有多少个整数,并输出这些数。

输入格式:

数字和非数字字符的字符串

输出格式:

1)整数个数2)分别输出整数

输入样例:

a123x456 17935? 098tab583【注意需要保留带有空格的字符串,请不要使用gets,cin,练习使用cin.getline(char *str, int maxnum)】

输出样例:

5

123

456

17935

98

583

//关键在于你要实现数字字符向整型数字的转换,因为单纯的使用字符数组存储每一个字符数字在输出的时候并不能做到输出每个独立的数据,你还是需要通过进位运算将字符变为整型数据

//还有一个关键点在于你要怎么让字符串从数字变到字母时停止操作

#include <iostream>
using namespace std;
int main()
{
	char str[50]={0};
	cin.getline(str,50);
	int num[50]={0};
	char *p=str;
	int *q=num;
	int length=0;
	for(;*p!='\0';p++)
	{
		if(*p>='0'&&*p<='9')
		{*q=*p-'0';
		p++;
		while(*p>='0'&&*p<='9')
		{
			*q=(*q)*10+(*p-'0');
			p++;//这个地方p++刚好续上for条件中地p++ 不会出现对于数字重复数的情况
		}
		length++;
		q++;
		}
	}
	for(int i=0;i<length;i++)
	cout<<num[i]<<" ";
}

这一部分通过指针实现。单纯的通过数组实现理论上应该也可。 

注意length 和 q的++,只有在第一个字符是1-9之间,进入判断以后再进行,一开始写到if外了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

#统计整数个数(指针) 的相关文章

随机推荐

  • 7. Reverse Integer

    文章目录 Reverse IntegersolutionAlgorithm Reverse Integer Easy Given a 32 bit signed integer reverse digits of an integer Ex
  • 8. String to Integer (atoi)

    String to Integer atoi Implement atoi which converts a string to an integer The function first discards as many whitespa
  • 9. Palindrome Number

    Palindrome Number Easy Determine whether an integer is a palindrome An integer is a palindrome when it reads the same ba
  • 1071. Greatest Common Divisor of Strings

    1071 Greatest Common Divisor of Strings Easy 30985Share For strings S and T we say 34 T divides S 34 if and only if S 61
  • 这个问题搞了我一天

  • 150逆波兰式

    文章目录 150 Evaluate Reverse Polish NotationSolution 150 Evaluate Reverse Polish Notation Medium Evaluate the value of an a
  • 收到礼物最大值

    题目描述 在一个m n的棋盘的每一个格都放有一个礼物 xff0c 每个礼物都有一定价值 xff08 大于0 xff09 从左上角开始拿礼物 xff0c 每次向右或向下移动一格 xff0c 直到右下角结束 给定一个棋盘 xff0c 求拿到礼物
  • 64. Minimum Path Sum

    64 Minimum Path Sum Given a m x n grid filled with non negative numbers find a path from top left to bottom right which
  • 找出亲密对数

    题目内容 xff1a 求数n之内的亲密对数 所谓 亲密对数 xff0c 即A的所有因子 xff08 包含1但不包含其本身 xff09 之和等于B xff0c 而B的所有因子之和等于A 输入格式 某个数字n 输出格式 xff1a 此数字n之内
  • 5. Longest Palindromic Substring

    5 Longest Palindromic Substring Given a string s find the longest palindromic substring in s You may assume that the max
  • 516. Longest Palindromic Subsequence

    516 Longest Palindromic Subsequence Given a string s find the longest palindromic subsequence s length in s You may assu
  • 第一讲_网站架构的演变及海量数据的解决方案

    文章目录 看透springMVC 读书笔记 第一讲单机类型CS结构 xff08 Client Server xff09 BS结构 xff08 Browser Server xff09 BS结构网络传输方式OSI七层模型 TCP IP四层模型
  • 10. Regular Expression Matching

    10 Regular Expression Matching Given an input string s and a pattern p implement regular expression matching with suppor
  • 866. Prime Palindrome

    866 Prime Palindrome Find the smallest prime palindrome greater than or equal to N Recall that a number is prime if it s
  • CMakeLists用法总结

    分一下几个方面来描述 xff1a 1 每一个LIB要编译成静态库或动态库如何描述 xff0c 每一个TOOL要编译成可执行文件如何描述 xff1f 2 LIB和TOOL可能会依赖于其他LIB xff0c 该如何描述 xff1f 3 每个LI
  • 声明变量为类成员变量(静态变量)的条件

    建议在全部具备下列条件的情况下使用静态变量 1 静态所包含的对象体积较大 xff0c 占用的内存比较大时 xff1a 2 变量所包含的对象数据稳定 3 变量包含的对象生命周期比较长时 4 用于该类的对象实例化之后 xff0c 实例的数据共享
  • HDFS读流程

    文章目录 HDFS读流程读流程的概述读流程大体步骤对逻辑图的解释读流程代码 剖析OPEN方法客户端类关系图NameNode数据存储逻辑图 服务端方法关系图 对Block列表进行排序 剖析READ方法数据传输格式客户端方法关系图服务端方法关系
  • 应用层log函数的写法

    int my log const char format va list args FILE fp fp 61 fopen 34 tmp my log 34 34 a 43 34 if fp fprintf stderr 34 fp is
  • 工程计算流体力学软件FloEFD

    推荐一款工程计算流体力学软件FloEFD 此前一直使用ICEM 43 FLUENT软件 xff0c 后来由于工作原因 xff0c 使用的机会逐渐变少了 对不少人而言 xff0c CFD通常作为一种工程的辅助工具 xff0c 不想花太多精力
  • #统计整数个数(指针)

    以下面这题为例 xff1a 题目内容 xff1a 输入一个字符串 xff0c 其包括数字和非数字字符 xff0c 如 xff1a a123x456 17935 098tab xff0c 将其中连续的数字作为一个整数 xff0c 依次存放到数