#include
int main() {
char s[100]={0}; scanf(\,s); int start = 0;
int end = strlen(s)-1;
for (;start printf(\,s); } 7.9 *编程判断输入的一串字符是否为“回文”。所谓“回文”就是指顺读和倒读都一样的字符串,例如\、\都是回文。 [提示:由题意可知,回文就是一个对称的字符串,利用这一特点可采用如下算法进行判断: (1)设置两个指针pStart和pEnd,让pStart指向字符串首部,让pEnd指向字符串尾部; (2)利用循环从字符串两边对指针所指字符进行比较,当对应的两字符相等且两指针未超越对方时,使指针pStart向前移动一个字符位置即加1,使指针pEnd向后移动一个字符位置即减1,一旦发现对应的两字符不等或两指针以互相超越(不可能是回文),则立即停止循环; (3)根据退出循环时两指针的位置,判断字符串是否为回文。] 答案: #include int main() { char s[100]={0}; scanf(\,s); int start = 0; int end = strlen(s)-1; int flag = 1; for (;start 6 } printf(\,flag?\:\); } 7.10 *编写一个能对任意m×n的矩阵进行转置的函数Transpose。 [提示:参考例7.9,用指针变量做函数参数编程实现。] 答案: #include void Transpose(int *arrDest,int *arrSource,int m,int n) { for (int i=0;i *(arrDest+m*j+i) = *(arrSource+n*i+j); } } } int main() { int s[3][4] = { 0,1,2,3, 4,5,6,7, 8,9,10,11, }; int t[4][3]; Transpose(&t[0][0],&s[0][0],3,4); for (int i=0;i<4;i++){ for (int j=0;j<3;j++){ printf(\,t[i][j]); } printf(\); } } 7.11 *用指针数组编程实现:任意从键盘输入一个数字表示的月份值n,程序输出该月份的英文表示,若n不在1~12之间,则输出“Illegal month”。 答案: 7 #include int main() { char* months[]={ \,\,\,\,\,\, \,\,\,\,\,\, }; int m; scanf(\,&m); if (m<1 || m>12){ printf(\); } else{ printf(\,months[m-1]); } } 7.12 *用指针数组编程改写例7.4中的两个函数DayofYear和MonthDay。 答案:由于函数原型和用途都不知,故此题没有答案。 8 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库c语言程序设计试题答案(2)在线全文阅读。
相关推荐: