1、1C+指针函数习题一、选择题1以下程序的运行结果是( ) 。sub(int x, int y, int *z) *z=y-x; void main() int a,b;sub(10,5,sub(7,a,cout2#includeint main() char * s1=“AbDeG“;char * s2=“Abdeg“;s1+=2; s2+=2;cout# define f(x) (x*x)int main( ) int i1, i2; i1=f(8)/f(4) ; i2=f(4+4)/f(2+2) ; coutint fun(int n) if(n=1) return 1; else ret
2、urn (n+fun(n-1); int main( ) int x; cinx; x=fun(x); cout#includemain() char st20= “hello0t”;coutstruct WWW int X; int Y; ;void main( ) struct WWW A3=7,8,9,10,12,13;int a;a=A1.X+A2.Y;cout int i = 1;test() int i;cout int main() int x=0,1,2,3,4,5,6,7,8,9;int s,i,*p;s=0;p=for(i=1;i int main( ) int x4=1,
3、3,5,7;int *p;p=x;Cout*(a+i);for(k=0; ;k+)for(i=0;i int main() char s180,s280;gets(s1); gets(s2);conj(s1,s2);puts(s1);return 0;void conj(char *p1, char *p2) /此函数实现把字符串 p2 连接在 p1 的后面。 while( (*p1) != 0) ; while( (*p2) != 0 ) *p1= ; p1+; p2+;3.下面程序的功能是比较 2 个字符串的大小,请填空。#include int main() char s180, s28
4、0;gets(s1); gets(s2);Cout #define N 10int main() int numN,i=0;for(i=0;inumi; /输入数据sort( num, N); /调用子函数,对数组的元素进行排序。printf(“n 排序之后:“);for(i=0;i*p2五 编程题第一题:思路#define N 100int main()char strN;void fun(char *s); /子函数说明gets(str); /读入字符串fun(str);/函数调用return 0;/*以下为子函数,请补充完整 把参数字符串间隔输出要求使用指针,在这里,参数是指针,满足要求
5、在子函数中,使用一个 while 循环,使得指针每次递增 2,输出它所指向的字符即可。也就是说,子函数只需要一个 while 语句。*/9void fun(char *s)。 。 。 。 。 。 。 。 。 。 。 。 。 。 。第二题:思路#define N 100int main()char str1N,str2N;int m;void fun(char *s1,char *s2,int n); /函数声明gets(str1);Cinm;fun(str1,str2, m);/函数调用puts(str2);return 0;/*以下为子函数部分要求实现把字符串 s1 中从第 n 个字符开始的
6、所有数据复制到字符串 s2 中例如 s1 为“students”,n 为 4,则运算之后,s2 应该是“dents”*/void fun(char *s1,char *s2,int n)参考算法,1、找到 s1 的第 n 个字符2、开始复制:从当前 s1 所对应的字符开始,逐个复制到 s2 里面第三题:思路int n =10; /数组的成员个数int main()int aN;int *p = a;/三个函数,分别是输入,输出,处理数组函数void scan(int *), print(int *),pro(int *);scan(p); /调用函数,给数组输入数据cout“n 原始数据为:n
7、“;print(p); /调用函数,输出数组pro(p); /调用函数,对数组进行处理cout“n 交换之后的数据为:n“;print(p); /调用函数,输出数组10void scan(int *p) /给数组输入数据,数组成员个数为全部变量 n。 。 。 。 。 。 。 。 。void print(int *p) /输出数组,数组成员个数为全部变量 n。 。 。 。 。 。 。 。/*以下为子函数,处理函数,按照要求对数组进行处理,数组的成员个数为全局变量 n*/void pro(int *p) int max=0, min=0;int i, temp;/以下循环求出数组的最大值放在 max 变量中 for(/以下循环求出数组的最小值放在 min 变量中 for(/*以下为交换语句最小的数和第一个数对换把最大的数和最后一个对换。*/