C言語を使って入力された文字列の中から数字のみを削除する、というプログラムを書こうとしてるのですが、数字が連続するとちゃんと動きません。どのように直せば良いのでしょうか?
C
1#include <stdio.h> 2 3int del_digit(char s[]) { 4 int j, i = 0; 5 int flag = 0; 6 7 while (s[i]) { 8 if (s[i] - '0' < 10) { 9 if (s[i+1] - '0' < 10) flag = 1; 10 do { 11 j = i; 12 while (s[j]) { 13 s[j] = s[j+1]; 14 j++; 15 } 16 if ((s[i+1] - '0' > 10) && (s[i] - '0' > 10)) flag = 0; 17 } while(flag == 1); 18 } 19 i++; 20 } 21 return 0; 22} 23 24int main (void) { 25 char w[50]; 26 int j; 27 28 printf("文字列を入力してください"); 29 scanf("%s", w); 30 31 del_digit(w); 32 33 printf("%s\n", w); 34 return 0; 35}
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。