指针练习参考代码_第1页
指针练习参考代码_第2页
指针练习参考代码_第3页
指针练习参考代码_第4页
指针练习参考代码_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、基础能力训练:1) 编写一个程序实现功能:将字符串”Computer Secience”赋给一个字符数组,然后从第一个字母开始间隔的输出该串,用指针完成。#include #include int main(char str=”Computer Science”;int flag=1;char *p=str;while(*pif ( flag printf(“%c”,*p;flag = (flag + 1 % 2;p+;printf(“n”;return 0;2) 输入一个字符串,用指针求出字符串的长度。#include int main(char str20, *p;int length

2、=0;printf(“Please input a string: ”;gets(str;p=str;while(*p+length+;printf(“The length of string is %dn”, length;return 0;3) 用指针将数组s8=1,2,3,4,5,6,7,8中的值逆序存放。#include int main(int s8=1,2,3,4,5,6,7,8;int *p,*q,count,swap;count = sizeof(s/sizeof(int;p=s; q=s+count-1;while( p < q swap = *p;*p = *q;*q

3、 = swap;p+;q-;for(p=s; p “ %d ” , *p; return 0;4)编写一个程序实现功能:将两个字符串合并为一个字符串并且输出,用指针实现。char str120=“Hello ”, str220=“World ”;#include int main(char str120=“Hello ”, str220=“World ”;char *p=str1, *q=str2;while( *p p+;while( *q *p = *q;p+;q+;*p = 0;printf(“%sn”, str1;return 0;5 编写一个程序实现以下功能:用指针数组处理一个二维数

4、组,要求求出二维数组所有元素的和。int array34= 7, 10, -2, 3,14, 30, 6, -15,0, 5, 27, -7 #include int main(int array34=7,10,-2,3,14,30,6,-15,0,5,27,-7;int *pa3=array0, array1, array2, i, j;int sum=0;for(i=0;i<3;i+for(j=0;j<4;j+,pai+sum+=*pai;printf("%dn",sum;return 0;二、进阶能力落实:1) 已知数组a10和b10中元素的值递增有序,用

5、指针实现将两个数组中的元素按递增的顺序输出。#include int main(int a10=1, 4, 12, 13, 14, 20, 25, 32, 33, 40;int b10=0, 3, 15, 18, 19, 25, 39, 43, 44, 50;int *p=a, *q=b;while( (p < (a+10 && (q < (b+10 if( *p < *q printf("%d ", *p;p+;elseprintf("%d ", *q;q+;if( p = = (a+10 p = q;q = b;el

6、seq = a;while( p < (q+10 printf("%d ", *p+;printf("n"return 0;2 定义字符指针数组char *str5分别指向5个字符串常量,从小到大输出字符串的内容。#include int main(int i,j,min;char *str5= "Shanghai","Beijing","Guangzhou","Tianjin","Chongqin"char *p;for(i=0;i<4;i+

7、min = i;for(j=i+1;j<5;j+ if( strcmp(strmin,strj > 0 min = j;p = stri;stri = strmin;strmin = p;for(i=0;i<5;i+printf("%sn", stri;return 0;3 已知数组内容如下s=1,2,3,4,5,6,7,8,9, 输入一个数n(1 <= n <= 9,使得该数组内容顺序后移n个位置。如n=3时,数组后移3个位置后的内容为7,8,9,1,2,3,4,5,6#include #include #define LEN 9 int m

8、ain(int arrayLEN=1,2,3,4,5,6,7,8,9;int i,num,temp,*p;printf("Please input the number(1-9 of elements you want to move:"scanf("n%d", #if(num < 1 | (num > 9printf("The number is out of range(1-9, exit.n"exit(0;for(i=0;i temp = *(array+LEN-1;for(p=array+LEN-1;p>ar

9、ray;p-*p = *(p-1;*p = temp;for(p=array;p printf("n"return 0;4 Page-269 10.16#include #define LEN 80int main(char strLEN,*p;int arrayLEN/2,value = 0,n = 0;int begin_count=0; printf("Please input a string which including any digits:n"gets(str;/printf("%sn", str;p = str;wh

10、ile( *p if (*p >= '0' && (*p <= '9'begin_count = 1;value = value*10 + *p - '0'elseif ( begin_count = = 1arrayn+=value;begin_count = 0;value = 0;p+; if (begin_count = = 1 arrayn+=value;for(value=0;value printf("n" return 0;#include #define LEN 80int main(char strLEN,*p = str;int arrayLEN/2,value = 0,n = 0;printf("Please input a string which including any digits:n"gets(str;/printf("%sn", str;while( *p if (*p >= '0' && (*p <= '9'value = value*10 + *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论