1. 程序調(diào)試題1
調(diào)試要求:下列程序包含3個(gè)錯(cuò)誤,請(qǐng)按題中的功能要求,調(diào)試并修改該程序(在所修改語(yǔ)句后加/*******/字樣的注釋),使其運(yùn)行能得到正確的結(jié)果。將結(jié)果(包括C_2_1.C文件和C_2_1.EXE文件)保存到實(shí)驗(yàn)結(jié)果文件夾中。
功能說(shuō)明:程序從鍵盤(pán)輸入5個(gè)字符串(每個(gè)字符串長(zhǎng)度不超過(guò)80,且字符串中不含有空格),程序找出其中最大的字符串放到max中,最后輸出該最大的字符串。如輸入:BASICJavaC++PascalPHP
則輸出:Pascal
帶錯(cuò)誤原程序(見(jiàn)素材\\C_2_1.C):#include int i; char s[81], max[81]={'\\0'}; for (i=0; i<5; i++) { gets(s); if (strcmp(s,max)) strcpy(max,s); } puts(max); getchar(); /*本句無(wú)錯(cuò);暫停程序,按任意鍵繼續(xù) */} 2. 程序調(diào)試題2 調(diào)試要求:下列程序包含3個(gè)錯(cuò)誤,請(qǐng)按題中的功能要求,調(diào)試并修改該程序(在所修改語(yǔ)句后加/*******/字樣的注釋),使其運(yùn)行能得到正確的結(jié)果。將結(jié)果(包括C_2_2.C文件和C_2_2.EXE文件)保存到實(shí)驗(yàn)結(jié)果文件夾中。 功能說(shuō)明:函數(shù)aver的功能是計(jì)算n個(gè)整數(shù)去掉一個(gè)最大值和一個(gè)最小值后的平均值,程序從鍵盤(pán)輸入8個(gè)整數(shù),通過(guò)調(diào)用函數(shù)aver計(jì)算這8個(gè)整數(shù)去掉一個(gè)最大值和一個(gè)最小值后的平均值,然后輸出(保留一位小數(shù))。 如輸入:1 2 3 4 5 6 7 8 則輸出:average=4.5帶錯(cuò)誤原程序(見(jiàn)素材\\C_2_2.C):#include s=max=min=a[0]; for (i=0; i return (s-max-min)/(n-2);} int main(){ int b[8], i; for (i=0; i<8; i++) scanf(\"%d\ printf(\"average=%.1f\\n\ getchar(); /*本句無(wú)錯(cuò);暫停程序,按任意鍵繼續(xù) */} 3. 程序調(diào)試題3 調(diào)試要求:下列程序包含2個(gè)錯(cuò)誤,請(qǐng)按題中的功能要求,調(diào)試并修改該程序(在所修改語(yǔ)句后加/*******/字樣的注釋),使其運(yùn)行能得到正確的結(jié)果。將結(jié)果(包括C_2_3.C文件和C_2_3.EXE文件)保存到實(shí)驗(yàn)結(jié)果文件夾中。 功能說(shuō)明:程序從鍵盤(pán)輸入8個(gè)整數(shù),統(tǒng)計(jì)并輸出其中數(shù)值在70~80之間(含70和80)的數(shù)的個(gè)數(shù)。 如輸入:23 71 56 85 94 78 63 80 則輸出:3帶錯(cuò)誤原程序(見(jiàn)素材\\ C_2_3.C):#include int a[8], i, c; c=0; for (i=0; i<8; i++) { sanf(\"%d\ if (70<=a[i] and a[i]<=80) c++; } printf(\"%d\\n\ getchar(); /*本句無(wú)錯(cuò);暫停程序,按任意鍵繼續(xù) */} 4. 程序調(diào)試題4 調(diào)試要求:下列程序包含3個(gè)錯(cuò)誤,請(qǐng)按題中的功能要求,調(diào)試并修改該程序(在所修改語(yǔ)句后加/*******/字樣的注釋),使其運(yùn)行能得到正確的結(jié)果。將結(jié)果(包括C_2_4.C文件和C_2_4.EXE文件)保存到實(shí)驗(yàn)結(jié)果文件夾中。 功能說(shuō)明:程序從鍵盤(pán)輸入一個(gè)字符串s(長(zhǎng)度不超過(guò)80),然后用冒泡法將s中下標(biāo)值為偶數(shù)的元素按照字符順序從小到大排序,其它元素不變,最后輸出排序后的字符串。 如輸入:2d4a3b1c 則輸出:1d2a3b4c帶錯(cuò)誤原程序(見(jiàn)素材\\ C_2_4.C):#include #include char s[],t; int i, j, k; gets(s); k=strlen(s); for (i=0; i<=k-2; i+=2) // 用冒泡法對(duì)下標(biāo)值為偶數(shù)的元素從小到大排序 for (j=2; j<=k-3-i; j++) if (s[j]>s[j+2]) // 下標(biāo)值為偶數(shù)的相鄰兩個(gè)元素逆序,則交換 { t=s[j]; s[j]=s[j+2]; s[j+2]=tt; } puts(s); getchar(); /*本句無(wú)錯(cuò);暫停程序,按任意鍵繼續(xù) */} 5. 程序調(diào)試題5 調(diào)試要求:下列程序包含3個(gè)錯(cuò)誤,請(qǐng)按題中的功能要求,調(diào)試并修改該程序(在所修改語(yǔ)句后加/*******/字樣的注釋),使其運(yùn)行能得到正確的結(jié)果。將結(jié)果(包括C_2_5.C文件和C_2_5.EXE文件)保存到實(shí)驗(yàn)結(jié)果文件夾中。 功能說(shuō)明:函數(shù)secondary_max的功能是在n個(gè)整數(shù)中找出次大值,程序從鍵盤(pán)輸入8個(gè)整數(shù),通過(guò)調(diào)用函數(shù)secondary_max找出這8個(gè)整數(shù)中的次大值,然后輸出。 如輸入:71 23 56 85 94 78 63 80 則輸出:85帶錯(cuò)誤原程序(見(jiàn)素材\\ C_2_5.C):#include int secondary_max(int a[], int n){ int i, max1, max2; max1=a[0]; max2=a[1]; if (max1 return max2;} int main(){ int b[8],i; for (i=0; i<8; i++) scanf(\"%d\ printf(\"average=%d\\n\ getchar(); /*本句無(wú)錯(cuò);暫停程序,按任意鍵繼續(xù) */} 因篇幅問(wèn)題不能全部顯示,請(qǐng)點(diǎn)此查看更多更全內(nèi)容
Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號(hào)-2
違法及侵權(quán)請(qǐng)聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市萬(wàn)商天勤律師事務(wù)所王興未律師提供法律服務(wù)