Операции со строками: найти числа в строке - C (СИ)
Формулировка задачи:
Здравствуйте! Можете растолковать, как такое провернуть.
Например, дана нам строка 12a923rs34.
Как мне найти число? Не цифру! Например число 12 или число 923, ну или число 23 или 4.
При этом пользуясь библиотеками string.h и stdlib.h.
Мои тщетные попытки работают только с числами одного порядка, оно и понятно, потому что операции проводятся только с цифрами.
В данном примере осуществляется ввод двух строк, поиск в них общего числа, состоящего из 8 символов, включая символы цифр. А у меня осуществляется просто суммирование цифр и подсчёт разности.
Добрые люди, подскажите, пожалуйста, как сделать так, чтобы я находил не цифры, а числа.
int n=9,i,k,k1,sum1=0,sum2=0; char stroka1[n],stroka2[n]; gets(stroka1); gets(stroka2); for(i=0;i<n;++i){ if((stroka1[i]>='0'&&stroka1[i]<='9')&&(stroka2[i]>='0'&&stroka2[i]<='9')) k=stroka1[i]-'0',k1=stroka2[i]-'0'; else{continue;} sum1+=k,sum2+=k1;} printf("%d",sum2-sum1);
Решение задачи: «Операции со строками: найти числа в строке»
textual
Листинг программы
s = 0; //сумма ЧИСЕЛ chislo = 0; for(i=0; i<n; i++) { if (str[i] >='0' && str[i]<='9') { chislo = 10*chislo + str[i] - '0'; } else { s += chislo; chislo = 0; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д