-
你錯了:if(k<=n 2) printf("%s",s[k+n/2]);
如果 k=n 2 k+n 2=n 陣列下標越界。
而且你的掃瞄中沒有&
另外,人們說保險的要點比20個字多,比如21個,不能恰到好處,否則容易出錯。
#include
#include
int main()
int i,j,k,n,n;
char str[22];
char s[100][22];
scanf("%d",&n);
for(i=0;iscanf("%d",&n);
scanf("%s",&str);
for(j=0;jscanf("%s",&s[j]);
for(k=0;kif(strcmp(str,s[k])==0)if(kelse printf("%s",s[k-n/2]);
return 0;
-
實際上,你的 if(k<=n 2) printf("%s",s[k+n/2]);
else printf("%s",s[k-n/2]);這一段是有問題的。
如果這樣寫,就會出現這樣一種情況,當只有四個人的時候,再標記第二個人稱,按你的**,即s[2+2]=s[4]已經出界了。
如果你這樣寫,那就好了:if(i>=(n 2)) printf("%s",player[i-(n/2)])
else printf("%s",player[i+(n/2)])
-
#include#include
int main()
int i,j,k,n,n;
char str[22];
char s[100][24];
scanf("%d",&n);
for(i=0;iscanf("%d",&n);
scanf("%s",str);
for(j=0;jscanf("%s",s[j]);
for(k=0;kif(strcmp(str,s[k])==0)if(k<=n/2-1) printf("%s",s[k+n/2]);
else printf("%s",s[k-n/2]);
return 0;
下面的滿意好像是不對的吧,字串不是沒有加禁字嗎? 事實上,你沒有掌握關鍵條件。
-
#include ""
void main()
int i,n,m,j=0,t,y;
scanf("%d",&n);
while(n--)
printf("%d %ld",y,a[m-2]);
for(i=0;ia[j+1])
for(j=0;ja[j+1])
下標溢位陣列。
此外,要獲得下乙個最大值,您只需要對其進行兩次排序。
-
在每個問題的底部都有乙個提交,即提交**,您應該注意提交時選擇的語言。
-
1. 先註冊賬號,登入,選擇你想做的主題,點選“提交”提交**
-
在此頁面,填寫使用者資訊、使用者名稱、密碼、郵箱等,點選註冊即可完成註冊
-
如果你刪除了這句話,你可以通過OJ測試,如果你自己測試,檔案應該建立在程式的原始檔中,或者應該改變路徑。
c:\\
我新組裝的電腦配置:CPU i5 2310,(四核)主機板微星H61M,記憶體金士頓DDR3 4G,硬碟希捷1TG顯示卡明鑫GT430視訊記憶體2G匯流排寬128位光碟機飛利浦燒錄電源大水牛450w加飛利浦19液晶惠普鍵盤和滑鼠低音炮喇叭共4200元。 盧師傅在效能測試中考出3950分,被授予“**獎章”。 >>>More