列出输入字符串中的整数
来源:互联网 发布:淘宝开店描述一下你的小铺怎么写 编辑:程序博客网 时间:2024/04/29 03:04
问题描述:
输入一个字符串,内有数字和非数字字符,如:
a123x456 34x>302addfds46
要求将其中连续的数字作为一个整数,依次存放到数组a中。并输出这些证书。
源代码:
#include<stdio.h>
int a[10]; //定义全局数组
int find(char *str)
{ //将字符串str中证书放在数组a中,并返回证书的个数
int i=0,j=0,k,digit,m,e,num = 0;
while(*(str+i) != '\0')
{
if((*(str+i) >= '\0')&&(*(str+i) <= '9'))
j++;
else if(j>0)
{
digit = *(str+i-1)-48; //将连续数字的个数为赋予digit
k=1;
while(k<j) //若d连续数字个数大于2,将其他为数值累加与digit
{
e=1;
for(m=1;m<=k;m++)
e*=10;
digit +=(*(str+i-1-k)-48)*e;
k++;
}
a[num] = digit;
num++;
j=0;
}
i++;
}
if(j>0)
{
digit = *(str+i-1)-48;
k=1;
while(k<j)
{
e=1;
for(m=1;m<=k;m++)
e*=10;
digit += (*(str+i-1-k)-48)*e;
k++;
}
a[num] = digit;
num++;
}
return num;
}
void main()
{
char str[50];
int n;
printf("input a string:\n");
gets(str);
n = find(str);
printf("There are %d numbers in the string. They are:\n",n);
for(int i=0;i<n;i++)
printf("%d\t",a[i]);
}
上面的代码是书上的方法,我觉得十分繁琐和复杂,简单的问题复杂化了,但另一方面,更加锻炼了逻辑和算法。。。- -
源代码二:
#include <ctype.h>
#include <stdio.h>
int main ()
{
int i;
char str [ 256 ];
int a [ 20 ];
int num, alpha;
printf ( "input a string contains alnum\n" );
gets ( str );
for ( i = 0, num = 0, alpha = 1; str [ i ]; i ++ )
{
if ( isdigit ( str [ i ] ) )
{
if ( alpha )
alpha = a [ num ] = 0;
a [ num ] *= 10;
a [ num ] += str [ i ] - '0';
}
else if ( ! alpha )
{
num ++;
alpha = 1;
}
}
if ( ! alpha ) num ++;
printf ( "\n there is %d numbers:\n", num );
for ( i = 0; i < num; i ++ )
printf ( " %d\n", a [ i ] );
return 0;
}
这是选自百度一位老兄的,简单了许多,运用到了ctpye库中的函数。
源代码三:
#include<stdio.h>
#include<ctype.h>
int main()
{
int a[20];
char ch;
int i=0,j;
while((ch = getchar()) != '\n')
{
if(isdigit(ch))
{
a[i] = ch-48;
i++;
}
}
for(j=0;j<i;j++)
printf("%4d",a[j]);
return 0;
}
这是我后来写的,更加简洁了一些,当然输出结果略有些差异。
- 列出输入字符串中的整数
- 提取字符串中的整数
- 输入一个字符串,取出其中的整数
- 将CString字符串输入转化成整数
- 第20题 输入字符串 输出整数
- acm--保留字符串中的整数
- 输入整数的字符串,输出相应的整数
- 输入一串不重复的字符串,列出所有可能的组合(java实现)
- 输入一个整数,输出所有可能的整数序列,使得序列中的整数之和等于输入的整数
- 列出字符串所有组合
- 输入一个字符串查找字符串中的字符
- 输入一个表示整数的字符串,把该字符串转换成整数并输出
- 20、输入一个表示整数的字符串,把该字符串转换成整数并输出
- 输入一个表示整数的字符串,把该字符串转换成整数并输出
- 输入一个整数字符串,将该字符串转换成整数并输出
- 20.输入一个表示整数的字符串,把该字符串转换成整数并输出
- 20.输入一个表示整数的字符串,把该字符串转换成整数并输出。
- 输入一个表示整数的字符串,把该字符串转换成整数并输出
- OpenSceneGraph基础:光照
- intellij idea细节
- CSDN你好吗?
- android json数据的解析
- 内核态到用户态切换(二)
- 列出输入字符串中的整数
- Python之greenlet学习
- 报表制作简化版
- 题目(线段树)
- android中常用的小技巧
- Android 的 SDK Manager 无法启动 闪退解决方法
- 大数据技术基础(笔记)
- MySQL for MAC 重置root密码
- R语言--数组和列表