c语言程序设计试题答案(2)

2019-01-26 18:57

#include #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 #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


c语言程序设计试题答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2007级地理信息系统专业本科人才培养计划 - 2 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: