//C程序设计第四版(谭浩强)
//章节:第八章 善于利用指针
//题号:8.16
//题目:输入一个字符串,内有数字和非数字字符,例如:A123x456 17960? 302ta5876
//将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123放在a[0],456放在a[1]……
//统计共有多少个整数,并输出这些数。
#include <stdio.h>
#include <string.h>
void count(char *s)
{
int i,j,a[20],temp,num=0,sum;
for(i=0;i<strlen(s);i++)
{
if(*(s+i)>='0'&&*(s+i)<='9') //判断当前字符是否为数字字符
{
temp=*(s+i)-'0'; //将数字字符转换成整数
for(j=i+1;j<strlen(s);j++)
{
if(*(s+j)>='0'&&*(s+j)<='9') //判断数字字符的下一个字符是否为数字字符
{
temp=temp*10+*(s+j)-'0'; //计算连续几个整数连成的整数的值
i++;
}
else
break;
}
*(a+num)=temp; //将整数值储存在数组a中
num++;
}
}
printf("the number of integers:%d",num);
printf("\nthey are:\n");
for(i=0;i<num;i++)
printf("%d ",*(a+i));
}
int main()
{
int i;
char s[81];
printf("input string:\n");
gets(s);
count(s);
return 0;
}
8.16输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组a中。统计共有多少个整数,并输出这些数。
猜你喜欢
转载自blog.csdn.net/weixin_44589540/article/details/86669529
今日推荐
周排行