có thể bỏ một if đi không?
Chuyển đổi thời gian định dạng 12 giờ thành định dạng 24 giờ bằng C
À ừ nhỉ, bỏ được, cứ nghĩ nó trong if nên chưa có giá trị nên mới tách ra
#include<stdio.h>
int main(int c,char a[]){
if(
scanf("%d:",&c),
gets(a),
a[6]=='P'&&c<12?c+=12:1,
a[5]='\0',
printf("%d:%s",c,a)
){}
}
Tks @Dark.Hades =)) vì chi tiết đưa biến vào argv của main =))
Code mình (124 chars):
#include<stdio.h>
char s[10],m[3];
int main(int H){
if(scanf("%d:%s%s",&H,&s,&m)==3,printf("%d:%s",H+12*(m[0]=='P'),s)){}
}
Sao @Dark.Hades đưa char a[]
vào argv của main được nhỉ, mình không quen viết C lắm @@
Nó là biến nhận giá trị ở lúc khởi tạo runtime.
Mình không nhầm thì chương trình/ngôn ngữ nào cũng có cái này, tiếng anh là argument thì phải:
./p.exe --help
c=2 // count của arg
a[0]=p.exe
a[1]=--help
Quả đề oái oăm thật :3, làm cái này thì không biết có tác dụng gì nhỉ, em thấy code của bác @sueruan012 là khó đọc lắm r, cơ mà chân thành cảm ơn các bác @sueruan012, @graktung, @MeigyokuThmn và @Dark.Hades đã đóng góp ý kiến để giải bài này. Mặc dù vẫn có 1 dấu chẩm phẩy nhưng em tạm set thành answer đã :3.
p/s: Chắc em cứ truyền thống mà phang cho dễ đọc vậy, chẳng ham hố làm gì đau mắt quá (trình C của em còn cùi, em cũng mới nhập môn thôi) :((
Thật ra làm cái này biết cho vui thôi. Hãy nghĩ đơn giản như thế này, nếu điều đó hay ho thì 90% (không phải tuyệt đối nhé) sẽ được chia sẻ lên trên Internet, mọi người được biết ) Vả lại code là cần sự dễ hiểu không chỉ cho bạn mà còn người khác. Code nhiều dòng chưa biết được giỏi hay dỡ và code ít dòng cũng thế.