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ế.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?