Операции со строками: найти числа в строке - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Можете растолковать, как такое провернуть. Например, дана нам строка 12a923rs34. Как мне найти число? Не цифру! Например число 12 или число 923, ну или число 23 или 4. При этом пользуясь библиотеками string.h и stdlib.h.
Листинг программы
  1. int n=9,i,k,k1,sum1=0,sum2=0;
  2. char stroka1[n],stroka2[n];
  3. gets(stroka1);
  4. gets(stroka2);
  5. for(i=0;i<n;++i){
  6. if((stroka1[i]>='0'&&stroka1[i]<='9')&&(stroka2[i]>='0'&&stroka2[i]<='9')) k=stroka1[i]-'0',k1=stroka2[i]-'0';
  7. else{continue;}
  8. sum1+=k,sum2+=k1;}
  9. printf("%d",sum2-sum1);
Мои тщетные попытки работают только с числами одного порядка, оно и понятно, потому что операции проводятся только с цифрами. В данном примере осуществляется ввод двух строк, поиск в них общего числа, состоящего из 8 символов, включая символы цифр. А у меня осуществляется просто суммирование цифр и подсчёт разности. Добрые люди, подскажите, пожалуйста, как сделать так, чтобы я находил не цифры, а числа.

Решение задачи: «Операции со строками: найти числа в строке»

textual
Листинг программы
  1. s = 0; //сумма ЧИСЕЛ
  2. chislo = 0;
  3. for(i=0; i<n; i++) {
  4.   if (str[i] >='0' && str[i]<='9') {
  5.     chislo = 10*chislo + str[i] - '0';
  6.   }
  7.   else {
  8.       s += chislo;
  9.       chislo = 0;
  10.   }
  11. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы