第 1 頁:選擇題 |
第 5 頁:程序填空題 |
第 6 頁:程序改錯題 |
第 7 頁:程序設計題 |
四、程序設計題
43請編寫函數(shù)proc(),該函數(shù)的功能是:將放在字符串數(shù)組中的M個字符串(每串的長度不超過N),按順序合并組成一個新的字符串。
例如,若字符串數(shù)組中的M個字符串為:
ABCD
BCDEFG
CDEFGHI
則合并后的字符串內(nèi)容應該是ABCDBCDEFGCDEFGHI。
注意:部分源程序給出如下。
請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)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++)//由于每行的個數(shù)不等,因此用a[i][j]!一‘\o'來作為循環(huán)結(jié)束的條件
b[k++]=arrEi][j];//把二維數(shù)組中的元素放到b的一維數(shù)組中,
b[k]=’\o';//最后給b賦'\0’作為字符串結(jié)束的標志)
【解析】字符串數(shù)組中每一行都是一個完整的字符串,其結(jié)束標志為’\0'。因此,通過字符串的結(jié)束標志來判斷每一個字符串是否結(jié)束,將字符串數(shù)組中的所有字符串均賦值給新的一維數(shù)組b來完成字符串的合并。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |