1樓:網友
你是要一次性輸入?
scanf("%s",string);不能接收空格符,因為%s遇到空白字元(空格、製表符、、)就結束了。
有3種途徑可輸入帶有空格的字串:
1) scanf("%n]%*c",a);%n]的作用就是讀之外的所有字元,也就是說讀到為止,%*c的。
作用就是把去掉,否則再次讀的時候一直遇到的都是;
2) gets("%s",a); 直接獲取一行的字串,如果在linux下使用gets,就會出現warning: the `gets'
function is dangerous and should not be used.問題出在程式中使用了 gets linux 下gcc編譯。
器不支援這個函式,不過也可以執行。
3) fgets(a, 20, stdin);/stdin 意思是鍵盤輸入20個任意字串。
fputs(a, stdout); stdout 輸出陣列a的內容。
【求救】卡在usaco 第一題your ride is here上了!!!!到底是怎麼了~!
2樓:網友
1全部讀入的時候需要判斷是不是有六個,可能只有五個值。
3樓:
要做三個改動:
首先是comet[6] 和group[6] 大小不對,至少是7,因為是字串,最後還有乙個『\0』;
其次是讀的時候長度也要改成7 ,7) ;7);
最後就是 com[i]=comet[i]+'0'-64 改成 com[i]=comet[i]-』a『+1, group 也做相應改動。
usaco第一題your ride is here 為什麼我的程式錯了。。pascal的
4樓:
yjw40的話比較正確,本題資料範圍適中,longint足夠解決,但要取餘。
若還不行的話, s:string[6];
試著改成string
5樓:網友
範圍不夠,你看一看資料範圍就知道了,變數b和c這樣一直乘下去,肯定要超過longint範圍的,建議你把兩個for迴圈裡的b:=b*(ord(s[a])-64)和c:=c*(ord(s[a])-64)改成b:
b*(ord(s[a])-46) mod 47和c:=c*(ord(s[a])-64) mod 47,這樣應該對了。
your ride is here~~暈死
6樓:網友
你的函式應該改成這樣。
long count(char* temp)
返回結果就行了,反正你裡面沒對陣列進行操作沒必要傳個多引數用來得結果。不過我實在不明白你-64%47這步想得到什麼結果?
用c語言求字串中的最大的數怎麼求
7樓:阿四哥
c語言字串的學習,輸入指定字串,並且計算字串的位數。
prob your ride is here 為什麼我的程式無法提交呢?o(︶︿︶)o 唉,第一次做usaco的題目
8樓:網友
加標頭檔案。#include
追問。請教大神,為什麼電腦上可以執行 a?
你的電腦的編譯器和usaco的不一樣。
這種圓規怎麼用三用圓規怎麼用?
圓規的使用方法來 1 用尺子 源量出圓規兩腳之bai 間的距離,作為du半徑。2 把帶有針的zhi一端dao固定在一個地方,作為圓心。3 把帶有鉛筆的一端旋轉一週。圓規裝芯 1 將如同所示的部位的螺帽擰下。2 將擰下來的針換成筆芯,重新擰上去。需要把抄右邊螺帽鬆動了把鐵針倒出來襲 然後才能換bai上...
海用太空豆怎麼用,太空豆怎麼用?
步驟一 正常子線,上調前座5 10釐米,接著用太空豆將其固定即可,這樣就相當於為子線增加了5釐米的長度。步驟二 避免子線纏繞,將兩粒太空豆穿到子線上,在綁好釣鉤後,將兩粒太空豆分到兩邊,然後在打結。步驟三 接著將太空豆移動到打結處,這樣由於受到太空豆的阻攔,因此子線不會輕易地纏繞到一起了。步驟四 定...
在牆上,英語是用on還是用in,窗戶在牆上用介詞on還是in
一般用on,比如 the picture is on the wall the clock is on the wall.the kite is on the wall.等等,凡是掛在牆上的都用on,但是 窗戶在牆上用in 門也是,他們是潛在牆裡的,所以用in 窗戶嵌入牆體內,所以用in。一幅畫掛在...