Anyview习题 { *t=*(s+i-1); while(--n) *(++t)=*(s+(++i)-1); *(++t)='\\0'; } /********** 【习题8.234】编写函数,通过将s字符串中所有小写 字母转换成大写字母,构造一个字符串并存储在t已经 指向的存储区域,但原来的s串不改变。例如,若s字 符串为\则构造的t串为\ STUDENT.”。 **********/ void func(char *s, char *t) { while(*(s++)) if(*(s-1)>='a'&&*(s-1)<='z') *(t++)=*(s-1)-32; else *(t++)=*(s-1); *(t+1)='\\0'; } /********** 【习题8.237】编写函数,通过将s字符串中所有大写 字母转换成小写字母,构造一个字符串并存储在t已经 指向的存储区域,但原来的s串不改变。例如,若s字 符串为\则构造的t串为\ student.”。 **********/ void func(char *s, char *t) { while(*(s++)) if(*(s-1)>='A'&&*(s-1)<='Z') *(t++)=*(s-1)+32; else *(t++)=*(s-1); *(t+1)='\\0'; } /********** 36 Anyview习题 【习题8.243】编写函数,在字符串s中顺序查找字 符串t,若找到,则返回其出现的位置,否则返回0。 例如,设s=\,若t=\,则返 回值是8;若t=\,则返回值是0。注意:字符串 结束符是'\\0',不允许调用字符串库函数。 **********/ int func(char *s, char *t) { int i=0,flag=0; while(*(s+i-1)) //防止第一个if语句不返回 { if (*(t)=='\\0') return (i-flag+1); else if(*(s+i)==*(t++)){ flag++; i++; } else{ t-=flag+1; i++; flag=0; } } return 0; } /********** 【习题8.246】假设字符串中每个连续字母序列称为 “单词”。编写函数,在字符串s中顺序获取每个单 词,依次存入w指示的二维数组,并返回单词个数。 例如,若有s=\,则w={\\。注意:字符串结束符是'\\0',不 允许调用字符串库函数。 **********/ int func(char *s, char (*w)[10]) { int i,j,k=0; for(i=0;*(s+i)!='\\0';i++) { for(j=0;(*(s+i+j)>='a'&&*(s+i+j)<='z')||(*(s+i+j)>='A'&&*(s+i+j)<='Z');j++) *(*(w+k)+j)=*(s+i+j); *(*(w+k)+j)='\\0'; if(j!=0) k++; //判断是否出现新单词 i+=j; //使i定位到下一个单词开头 37 Anyview习题 } return k; } /********** 【习题8.282】编写函数,查找并返回p指示的二维数 组中的元素最大值。例如,二维数组的元素值依次为 {{45,38,-6,78},{34,48,70,4},{-9,0,4,20}},则 函数返回值为78。 **********/ int func(int (*p)[4], int n) /* 求二维数组中的最大值 */ { int i,j,max=p[0][0]; for(i=0;i
广工anyview的题目和答案(8)
2018-11-21 15:10
广工anyview的题目和答案(8).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!