。1)本題主要考查數(shù)據(jù)的排序算法,這里使用簡單的選擇排序,為雙重循環(huán),外層j從0到n-2;內(nèi)層i應(yīng)該從j+1到n-1。因此應(yīng)該改為:for (i=j+1;i<n;i++)或for (i=j+1;i<=n-1; i++)。
。2)當(dāng)a[p]>a[i]時(shí),應(yīng)該用p=i;記錄最大元素的位置,循環(huán)結(jié)束后進(jìn)行元素交換,因此第2處錯(cuò)誤應(yīng)該改為p=i;。
三、編程題
請(qǐng)編寫函數(shù)fun,它的功能是:將M行N列的二維數(shù)組中的字符數(shù)據(jù),按列的順序依次放到一個(gè)字符串中。
例如,二維數(shù)組中的數(shù)據(jù)為:
W W W W
S S S S
H H H H
則字符串中的內(nèi)容應(yīng)是:WSHWSHWSH。
注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
#include <stdio.h>
#define M 3
#define N 4
voidfun(char(*s)[N], char *b)
{
}
main()
{
char a[100],w[M][N]={{'W','W','W','W'},
{'S','S','S','S'},
{'H','H','H','H'}};
int i,j;
printf("The matrix:\n");
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%3c",w[i][j]);
printf("\n");
}
fun(w,a);
printf("The A string:\n");puts(a);
printf("\n\n");
}
【答案與解析】
相關(guān)推薦:2009年9月計(jì)算機(jī)等級(jí)考試二級(jí)C語言模擬試題(1)北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |