//入力例1
10:31
//入力例2
00:00
//入力例3
01:03
という入力があったとき
":"を削除し、二桁が0だった場合0を消し、00だった場合、0だけになり、最後に末尾を改行して
//1出力
10
31
//2出力
0
0
//3入力
1
3
と出力したいです。
strtokで分解した、char *型をなんとかint型にして10以上は0を消さないように処理したいのですが、方法が見つからず苦戦しております。
回答よろしくおねがいします
C++
1#include <iostream> 2#include <stdio.h> 3#include <string.h> 4using namespace std; 5int main(void){ 6 int *p; 7 char* tp; 8 char str[100]; 9 fgets(str, sizeof(str), stdin); 10 11//ここで:を消去 12 tp = strtok(str,":"); 13//tpの文字を整数型に変更したい 14 p = (int *)tp; 15 16 if(p != 00 || p >= 10 ){ //ここでエラーが発生します 17 cout << tp << endl; 18 } 19 20 else{ 21 cout << 0 << endl; 22 } 23 24//後半も同じように処理する 25 tp = strtok(NULL,":"); 26 p = (int *)tp; 27 28 if(p != 00 || p >= 10 ) 29 cout << tp << endl; 30 } 31 else{ 32 cout << 0 << endl; 33 } 34 return 0; 35}
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/09 19:21