首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
1.程序填空
給定程序的功能是將十進制正整數m轉換成k進制(2≤k≤9)數的數字輸出。例如,
若輸入8和2,則應輸出1000(即十進制數8轉換成二進制表示是1000)。
請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。
注意:不得增行或刪行,也不得更改程序的結構!
試題程序:
#include<stdio.h>
Void fun(int m,int k)
{
im aa[20],i;
for(i=0;m;i++){
aa[i]。_l_;
m/=_2_;
}
for(;i;i--)printf("%d",-3-[i-1]);
}
main()。
{
int b,n;
printf("\nPlease enter a number and a base:\n");
scanf("%d%d",&n,&b);
fun(n'b);
}
【答案】
(1)m%k
(2)k
(3)aa
【評析】
(1)此語句是將十進制的整型數據m轉換為k進制數據時,將余數保存在數組aa中。
(2)此語句是將十進制的整型數據m轉換為k進制數據時,每除一次k后,把商重新賦值給正整數m,以便重復取余。
(3)在for循環之后,i即為轉換成的k進制數的位數,所以根據題意要求,此語句應該是:"print("%d", aa[i-l]);"
2.程序修改
給定程序modi.c中,函數fun的功能是:將s所指字符串中最后一次出現的、tl所指子串替換成t2所指子串,所形成的新串放在w所指的數組中。在此處,要求tl和t2所指字符串的長度相同。例如,當s所指字符串中的內容為: "abcdabfabc",t1所指子串中的內容為:
"ab",t2所指子串中的內容為:"99"時,結果,在w所指的數組中的內容應為:
"abcdabf99c"。
請改正程序中的錯誤,使它能得出正確結果。
注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!
試題程序:
#include<conio.h>
#include<stdio.h>
#include<string.h>
int fun(char*s,char*t1,char*t2,char*w)
{int i;char*p,*r,*a;
strcpy(w,s);
while(w)
(p=w;r=tl;
while(*r)
IF(*r=*p) {r++;p++;}
else break;
if(*r=:=`\0`)a=w;
w++:
}
r=t2;
while(*r){*a蘆*r;a++;r++;)
)
main()
{
char s[100],t1[100],t2[100],w[100];
clrscr();
printf("\nPlease enter string S:");scanf("%s",s);
printf("\nPlease enter substring t1:");scanf("%s",t1);
printf("\nPlease entei substring t2:");scanf("%s",t2);
if(strlen(t1)==strlen(t2))
{fun(s,t1,t2,w);
printf("\nThe resuk is:%s\n",w);
}
else printf("\nError:strlen(t1)!=strlen(t2)\n");
}
【答案】
(1)錯誤:第7行while(w)
正確:while(*w)
(2)錯誤:第11行 IF(*r==*p) {r++;p++;}
正確:if(*r==*p) {r++;p++;}
【評析】
第7行:題意中要求對這個地址所指向的內容進行判斷,所以須在地址前加上+,源程序"while(w)"應改為"while(*w)"或相同作用的語句。
第11行:c語言中,大小寫的字母含意不同。源程序中"IF(*r==*p)"是錯誤的,"IF"應為小寫,程序應改為"if(*r==*p)"或相同作用的語句。
3.程序設計
請編寫函數fun,函數的功能是:將所有大于1小于整數m的非素數存入xx所指數組中,非素數的個數通過k傳回。例如,若輸入:17,則應輸出:9和4 6 8 9 10 12 14 15 16。
注意:請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
Void fun(int m,int*k,int xx[])
{
}
main()
void fun(int m,int*k,int xx[])
{ int I,j;*k=0;
for(i=2;i<m;i++)
{ for(j=2;j<I;j++)/*判斷i是否能被比它小的整數整除*/
if(i0/oj=:0)break; 。,= '
if(j<i){xX[*k]=i;*k=*k+l;}/*假如i能被整除即為非素數,則將i存Xxx數組中,計數變量k加l*/
}
}
【評析】
非素數的判斷方法與素數的判斷方法正好相反,它除了能被1和自身整除外,還可被其它的數整除。用求余的方法來判斷整除。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |