程式設計入門 C語言 翁愷 第8周程式設計練習

2021-07-25 06:29:45 字數 2334 閱讀 7074

你的程式要讀入一行文字,其中以空格分隔為若干個單詞,以『.』結束。你要輸出這行文字中每個單詞的長度。這裡的單詞與語言無關,可以包括各種符號,比如「it』s」算乙個單詞,長度為4。注意,行中可能出現連續的空格。

輸入在一行中給出一行文字,以『.』結束,結尾的句號不能計算在最後乙個單詞的長度內。

在一行中輸出這行文字對應的單詞的長度,每個長度之間以空格隔開,行末沒有最後的空格。

it』s great to see you here.

4 5 2 3 3 4

#include 

int main()

else

printf(" %d",cnt);

cnt=0;

}break;

}if (c==' ')

else

printf(" %d",cnt);

cnt=0;

}continue;

}cnt++;

}printf("\n");

return

0;}

nmea-0183協議是為了在不同的gps(全球定位系統)導航裝置中建立統一的btcm(海事無線電技術委員會)標準,由美國國家海洋電子協會(nmea-the national marine electronics associa-tion)制定的一套通訊協議。gps接收機根據nmea-0183協議的標準規範,將位置、速度等資訊通過串列埠傳送到pc機、pda等裝置。

nmea-0183協議是gps接收機應當遵守的標準協議,也是目前gps接收機上使用最廣泛的協議,大多數常見的gps接收機、gps資料處理軟體、導航軟體都遵守或者至少相容這個協議。

nmea-0183協議定義的語句非常多,但是常用的或者說相容性最廣的語句只有gpgga、gpgsa、gpgsv、gprmc、gpvtg、gpgll等。

其中gprmc語句的格式如下:

gprmc,024813.640,a,3158.4608,n,11848.3737,e,10.05,324.27,150706,,,a*50

這裡整條語句是乙個文字行,行中以逗號「,」隔開各個字段,每個欄位的大小(長度)不一,這裡的示例只是一種可能,並不能認為欄位的大小就如上述例句一樣。

欄位0:gprmc,語句id,表明該語句為recommended minimum specific gps/transit data(rmc)推薦最小定位資訊

欄位1:utc時間,hhmmss.sss格式

欄位2:狀態,a=定位,v=未定位

欄位3:緯度ddmm.mmmm,度分格式(前導位數不足則補0)

欄位4:緯度n(北緯)或s(南緯)

欄位5:經度dddmm.mmmm,度分格式(前導位數不足則補0)

欄位6:經度e(東經)或w(西經)

欄位7:速度,節,knots

欄位8:方位角,度

欄位9:utc日期,ddmmyy格式

欄位10:磁偏角,(000 - 180)度(前導位數不足則補0)

欄位11:磁偏角方向,e=東w=西

欄位16:校驗值

這裡,「」為校驗和識別符,其後面的兩位數為校驗和,代表了「」和「」之間所有字元(不包括這兩個字元)的異或值的十六進製制值。上面這條例句的校驗和是十六進製制的50,也就是十進位制的80。

現在,你的程式要讀入一系列gps輸出,其中包含gprmc,也包含其他語句。在資料的最後,有一行單獨的

end

表示資料的結束。

你的程式要從中找出gprmc語句,計算校驗和,找出其中校驗正確,並且欄位2表示已定位的語句,從中計算出時間,換算成北京時間。一次資料中會包含多條gprmc語句,以最後一條語句得到的北京時間作為結果輸出。

你的程式一定會讀到一條有效的$gprmc語句。

多條gps語句,每條均以回車換行結束。最後一行是end三個大寫字母。

6位數時間,表達為:

hh:mm:ss

其中,hh是兩位數的小時,不足兩位時前面補0;mm是兩位數的分鐘,不足兩位時前面補0;ss是兩位數的秒,不足兩位時前面補0。

gprmc,024813.640,a,3158.4608,n,11848.3737,e,10.05,324.27,150706,,,a*50

end10:48:13

#include

#include

int main()

}while (strcmp(str, str1) != 0);

hh = hh + 8;

if (hh >= 24)

hh = hh - 24;

printf("%02d:%02d:%02d", hh, mm, ss);

return

0;}

程式設計入門 C語言 翁愷 第2周程式設計練習

乙個整數,表示bjt的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分 如果小時是0,則沒有百位部分 如果小時不是0而分小於10分,需要保留十位上的0 如果小時是0而分小於10分的,則不需要保留十位上的0。乙個整數,表示utc的時和分。整數的個位和十位表示分,百位...

程式設計入門 C語言 翁愷 第3周程式設計練習

你的程式要讀入一系列正整數資料,輸入 1表示輸入結束,1本身不是輸入的資料。程式輸出讀到的資料中的奇數和偶數的個數。一系列正整數,整數的範圍是 0,100000 如果輸入 1則表示輸入結束。兩個整數,第乙個整數表示讀入資料中的奇數的個數,第二個整數表示讀入資料中的偶數的個數。兩個整數之間以空格分隔。...

程式設計入門 C語言 翁愷 第4周程式設計練習

我們認為2是第乙個素數,3是第二個素數,5是第三個素數,依次類推。現在,給定兩個整數n和m,0 兩個整數,第乙個表示n,第二個表示m。乙個整數,表示第n個素數到第m個素數之間所有的素數的和,包括第n個素數和第m個素數。2 415 時間限制 500ms記憶體限制 32000kb include inc...