-
你在判斷中沒有考慮過這種情況。
例如,在 11:05,您得到乙個負值,因為您總是從分針的角度中減去時針的角度。 但是,在負值的情況下,它也分為大於180和小於180。 在這裡你沒有考慮到它。
更改後,操作步驟如下:
#include""
int main(){
int a,b;
float c;
scanf("%d %d",&a,&b);
c=(b*6)-(30*a+b/2);
if (c<0) {
c=-c;if (c>180)
c=360-c;
printf("at %d:%02d the angle is %.1f degrees.",a,b,c);
elseprintf("at %d:%02d the angle is %.1f degrees.",a,b,c);
return 0;
-
我已經為你改變了它,你看:
#include""
int main()
int a,b;
float c;
scanf("%d %d",&a,&b);
c=(b*6)-(30*a+b/2);
把這句話單獨拉出來。
if (c<0)
c=-c;將 c 是否大於 180 視為乙個單獨的分支。
if (c>180)
c=360-c;
printf("at %d:%02d the angle is %.1f degrees.",a,b,c);
elseprintf("at %d:%02d the angle is %.1f degrees.",a,b,c);
-
#include
int main()
int a,b;
float c;
scanf("%d%d",&a,&b);
c=(b*6)-(30*a+b/2);
if(c==12)c=0;
if (c<0)
c=-c;printf("at %d:%02d the angle is %.1f degrees.",a,b,c);
else if (c>180)
c=360-c;
printf("at %d:%02d the angle is %.1f degrees.",a,b,c);
else printf("at %d:%02d the angle is %.1f degrees.",a,b,c);
我這樣跑,你能試試嗎?
-
你的第二個是else },或者else if{}
-
你能更詳細地描述一下這個問題嗎?
秒針指向 s,逆時針方向為 6*s 度至 12 點鐘方向。
分針指向m,即6*m+s 10度逆時針到12點鐘方向,時針指向h,即30*h + m 2+s 120度逆時針到12點鐘位置,然後計算度差。 總體思路應該是這樣的。
-
#include
#include
#include
#define pi
螢幕中央的坐標(在 640x480 模式下)定義中間 x 320
#define mid_y 240
int main()
closegraph();關閉VGA螢幕,即在文字模式下返回0; }
-
#include
#include
#include
#define pi
螢幕中央的坐標(在 640x480 模式下)定義中間 x 320
#define mid_y 240
int main()
closegraph();關閉VGA螢幕,即在文字模式下返回0;
-
沒錯,太少了,我問了乙個簡單多的問題,我懸賞200,呵呵
-
這個話題似乎少了一點
-
新增標頭檔案。
#include
新增到您的。 #include
上面。 應該是printf函式沒有定義吧? 只需新增此標頭檔案即可。
printf("letter:%d,digit:%d,space:%d,others:%d",letter,digit,space,others); >>>More