爲了使廣大考生在備戰計算機等級考試時,更快的掌握相應知識點,下面是小編搜索整理的計算機二級C上機考試簡單應用題,供參考練習,預祝考生們考出自己理想的成績!
簡單應用題
使用VC++6.0打開考生文件夾下的源程序文件2.cpp。閱讀下列函數說明和代碼,補充空出的代碼。函數IsPalindromes(char*string)實現的功能是判定給定的字符串是否構成迴文字符串,如果是則返回1,否則返回0。
例如:abcdcba或者l234321都認爲是迴文字符串。
如果串爲空或一個字母時,均認爲是迴文字符串。
注意:不能修改程序的其他部分,只能補充IsPatin-dromes函數。
試題程序:
#include
#defineMAXLEN1024
boolIsPalindromes(char*string)
{
}
voidmain()
{
charstr[MAXLEN];
cout<<"請輸入一行文字"<<erdl;
cin.getline(str,MAXLEN);
cout<<ispalindromes(str)<<endl;
return;
}
答案:
intlen=0:
for(;string[len]!=NULL;len++)//獲取字符串
的長度
;
len--;//下標從0開始到1en-1
for(inti=0;i<len;i++,len--)//第一個和最後一個比較,第二個和倒數第二個比較
if(string[i]!=string[1en])//不等說明不同,返
回0
return0;
}
return1;
【解析】本題由於字符串的長度是未知的`,先利用循環求出字符串的長度,循環變量從0開始,直到數組的末尾,string[len]==NULL爲循環結束條件,如此便得到了數組的長度len。知道長度後就可以判斷對稱位置的元素是否相同,比如第一個元素和最後一個元素,第二個元素和倒數第二個元素,如此比較下去直到到了最中間的元素爲止。可以利用循環來比較是否對稱,設置另一個循環變量i,i從0開始表示從數組的頭部開始讀數,len從數組的尾部開始讀數,如果string[i]!=slring[len],則跳出循環返回0,如果循環結束還沒發現不同,則返回1。