第 1 頁:選擇題 |
第 5 頁:程序填空題 |
第 6 頁:程序改錯題 |
第 7 頁:程序設計題 |
四、程序設計題
43請編寫函數proc(),該函數的功能是:將放在字符串數組中的M個字符串(每串的長度不超過N),按順序合并組成一個新的字符串。
例如,若字符串數組中的M個字符串為:
ABCD
BCDEFG
CDEFGHI
則合并后的字符串內容應該是ABCDBCDEFGCDEFGHI。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填入所編寫的若干語句。
試題程序:
#include
#include
#define M 3
#define N 20
void proc(char arr[M][N].char*b)
{
}
void main()
{
char str[M][N]={”ABCD”,”BCDEFG”,”
CDEFGHl”),i;
char arr[100]={”#############
#####”);
printf(”The string:\n”);
for(i=0;i<2M;i++)
puts(str[i]);
printf(”\n”);
proc(str,arr);
printf(”The A string:\n”);
printf(”%S”,arr);
printf(”\nln”);
}
參考解析:
voidproc(chararr[M][N],char*b){
inti,j,k一0;
for(i=0;i
for(j=0;arr[i][j]!=’\0';J++)//由于每行的個數不等,因此用a[i][j]!一‘\o'來作為循環結束的條件
b[k++]=arrEi][j];//把二維數組中的元素放到b的一維數組中,
b[k]=’\o';//最后給b賦'\0’作為字符串結束的標志)
【解析】字符串數組中每一行都是一個完整的字符串,其結束標志為’\0'。因此,通過字符串的結束標志來判斷每一個字符串是否結束,將字符串數組中的所有字符串均賦值給新的一維數組b來完成字符串的合并。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |