C言語を使って問題を解いています。問題は以下のようなものです。
時刻が12:34、01:03というように、4桁の数字と間の:で表される。(24時間表記を採用する)これを
12
34 や、
1
3 というように数字の部分だけ、時間と分で行がえして表したい。また、時刻、分ともに十のくらいが0であれば0を除くこと。
この問題の「0を除く」部分の書き方が分かりません。それ以外の部分は記述することができました。
以下に示します。
#include <stdio.h>
#include <string.h>
int main(void){
char buf[1000];
char str[1000];
fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%s", &str);
char *tp;
tp = strtok(str, ":");
printf("%s\n", tp);
tp = strtok(NULL, ":");
printf("%s\n", tp);
}
strtokで区切るところを":0"にしてみたりもしましたが、それをすると00:00で何も出力されなくなり、やはりダメかという感じでした。
「十のくらいの0」を除く部分はどうしたら良いのか、ご教授ください。恐縮ですが初学者ですので易しめにお願いいたします
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/08/24 14:34