1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 输入一个字符串 内有数字和非数字字符 例如: a123x456 17960? 302ta

输入一个字符串 内有数字和非数字字符 例如: a123x456 17960? 302ta

时间:2020-08-19 00:25:34

相关推荐

输入一个字符串 内有数字和非数字字符 例如:  a123x456   17960?   302ta

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

#include <stdio.h>

int main()

{

void search(char * parr, int * pnum);

char arr[100], *parr;

int num[30], *pnum;

parr = arr;

pnum = num;

printf(“请输入一个包含数字的字符串\n”);

gets_s(arr);

//统计字符串中整数的个数(连续数字作为一个整数),并放到一个数组中

search(parr, pnum);

return 0;

}

void search(char * parr, int * pnum) {

int i = 0, j = 0, x = 0;

while ((parr + i) != ‘\0’) {

if ((parr + i) >= ‘0’ && *(parr + i) <= ‘9’) j++;//j表示数字的位数

else if (j>0) {//碰到字母,并且之前的是数字

int digit, k, m, e10;

digit = *(parr + i - 1) - 48; //个位上的值

k = 1;

while (k<j) { //整数的位数大于1的话e10 = 1;for (m = 1; m <= k; m++) {e10 = 10 * e10;}digit += (*(parr + i - 1 - k) - 48)*e10;k++;}*(pnum + x) = digit;x++;j = 0;}i++;}

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。