C语言指针精选习题和答案 下载本文

运行情况如下: ① Input two strings: CHINA↙ Chen↙

Result: -32 ② Input two strings: hello! ↙ Hello! ↙ Result: 0 ③ Input two stings: dog↙ cat↙

result: 1

9.10

编一个程序,打入月份号,输出该月的英文月名。例如,输入“3”,则输出

“March”,要求用指针数组处理。

#include

.. ..

main()

{ char *month_name[13]={\

month\

\cember\ int n;

printf(\ scanf(\

if((n<=12)&&(n>=1))

printf(\ else

printf(\

} 运行结果:

.. ..

① Input month: 2↙ It is February. ② Input month: 8↙ It is August.

③ Input month: 13↙ It is wrong.

9.11c语言: 将字符串computer赋给一个字符数组,然后从第一个字母开

始间隔地输出该串。请用指针实现

#include #include #define MAX_LENGTH 32

int main() {

char str[MAX_LENGTH] = {0}; char *pStr = (char*)&str;

//1. 将字符串computer赋给一个字符数组

.. ..

strcpy(str, \

//2. 然后从第一个字母开始间隔地输出该串 while(*pStr != '\\0' ) {

printf(\ pStr++; }

return 1; }

9.12从键盘上输入一个字符串,按后按照下面要求输出一个新字符串, 新的字符串

是在原来字符串中, 每两个字符之间插入一个空格, 如原来的字符串为“abcd”, 新产生的字符串应为“a b c d”

编写一个程序咯 用C 就是输出的字符 是 每两个字符之间有一个空格

#include void main() {

char a[10],b[10],i=0,j=0; printf(\输出字符串\scanf(\for(i=0;a[i]!='\\0';i++) {

.. ..

b[j++]=a[i]; b[j++]=' '; } b[j]='\\0'; printf(\}

9.13

设有一数列,包含10 个数,已按升序排好。现要求编一程序,它能够把从指

定位置开始的n个数按逆序重新排列并输出新的完整数列。进行逆序处理时要求使用指针方法(例如:原数列为2,4,6,8,10,12,14,16,18,20,若要求把从第4个数开始的5个数按逆序重新排列,则得到新数列为2,4,6,16,14,12,10,8,18,20。)

#include

void method(int n,int m,int *a) {

int *p=a,*q=new int[m];

p=p+n-1;

for(int i=0;i

.. ..