输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组a中。统计共有多少个整数,并输出这些数。
2013-10-16 09:41
1166 查看
#include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> int main(){ setvbuf(stdout,NULL,_IONBF,0); char s[255]; int a[255]; //存放得到的整数 int i,length; int f(char *s,int *a); printf("Input the string:"); gets(s); length=f(s,a); printf("There are %d numbers.\n",length); printf("They are:"); for(i=0;i<length;i++) printf("%d ",a[i]); return EXIT_SUCCESS; } int f(char *s,int *a){ char *p; int t[255]; //存放一个整数的每位数 int len=strlen(s); int flag=0; //标记当前字符是否为0-9 int i=0,j; int num=0; //整数的个数 for(p=s;p<=s+len;p++) //把最后的\0字符也当作非数字字符处理 { if(*p>='0'&&*p<='9') { flag=1; t[i++]=*p-'0'; //把字符'0'~'9'装换为数字0~9 } else if(flag==1) //如果当前字符非数字字符,且前一个字符为数字字符时,开始记录整数 { a[num]=0; for(j=0;j<i;j++) a[num]=a[num]+t[j]*pow(10,i-1-j); num++; flag=0; i=0; } } return num; }
[b]//如果使用VC,去掉第7行。[/b]
相关文章推荐
- 习题 8.16 输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组a中。统计共有多少个整数,并输出这些数。
- 输入字符串,内有数字和非字符数组,例如A123x456将其中连续的数字作为一个整数,依次存放到一个数组中,如123放到a[0],456放到a[1],并输出a这些数
- 输入一个字符串内有数字和非数字字符,将连续的数字作为一个整数,存到数组a中,统计整数的个数,并输出这些数
- C输入一个字符串,将其中连续的数字做为一个整数存放在一个整形数组中,统计其中数字的个数并输出这些整数。
- C 输入一个字符串,将其中连续的数字作为一个整数存到一数组中,统计整数个数并输出这些整数
- 输入一个字符串,内有数字和非数字字符,例如 A123x456 17960? 302tab5876 操作:将连续的数字作为一个整数,一次存放到一数组a中,例如123存放在a【0】中,456放在a【1】中
- 输入一个字符串,将其中连续的数字作为一个整数,一次存放到另一个整型数组,设计一个函数,把指向字符串的指针和指向整数的指针作为函数形参
- 输入一个字符串,将其中的连续数字字符组成整数,并放入数组中,在主函数中打印这个数组及数组的个数。
- 编写一个函数,由实参传来一个字符串,统计此字符串中字母,数字,空格,和其他字符的个数,在主函数中输入字符串以及输出上述统计的结果。再考虑将算的的结果放在一个数组中
- 编写一个函数,从实参传来一个字符串,统计其中字母,数字,空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果
- 对于给定的一个字符串,统计其中数字字符出现的次数。输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
- 输入一个字符串,统计共有多少个整数并输出。
- 输入一个字符串,统计共有多少个整数并输出。
- p279_1016在字符串有数字与非字符,找出连续的数字作为整数存放并统计个数。方法简洁,不同于答案书
- p279_10162 答案书版:在字符串有数字与非字符,找出连续的数字作为整数存放并统计个数
- 从键盘输入一个带有数字的字符串,将其中所在的数字的位置输出,并把数字串小写字符变大写字符再输出
- 在控制台上输入一个字符串,将其中夹杂的字母去除,只剩数字,然后对对这些数字进行全排列,输出全排列结果
- 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
- 设计算法来统计一个输入字符串中所包含的整数个数,并输出这些数
- 把字符串里面连续的数字依次存放到一个数组中