字符串中提取数字

1e34995b97c5443a9bbbc2e31ec31332.jpg

 #include<stdio.h>

int main() {

char str[1000];

 int i, count = 0, sum = 0, flag;

 gets(str);//输入字符串 

 for (i = 0; str[i] != '\0'; i++) //判断是否为数字 

 {

 

  if (str[i] >= '0' && str[i] <= '9') 

  {

   count = count * 10 + (str[i] - '0');

  }

  else if(str[i]=='-')//用flag判断是否为负数 

  {

   flag=-1;    

  }

  else 

  {

   if (flag==-1)//判定为负数 

   {

   count=-count;

   flag=1;

   }

   sum = sum + count;//遇到非数字的先求和 

   count = 0;

   if(str[i]>='a'&&str[i]<='z')//题目固定5个字符串,避免字符串内含有数字 

   i=i+4;

  }

 

 }

 if (flag==-1)//最后一组数据,判断是否为负数 

   {

   count=-count;

   flag=1;

   }

 sum = sum + count;//最后求和 

 printf("%d\n", sum);

 

 return 0;

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值