文档详情

C语言实验4-指针.doc

发布:2017-05-17约2.74千字共9页下载文档
文本预览下载声明
实验4的内容和要求 1.同学们在上机的时候,请选择开机菜单中的“Internet”项进入系统。 2.在实验过程中,你编写的程序不要存放在桌面或者C盘,要存在D盘上。 【】1蔡娟/课程作业文件夹下的/C语言/homework中各班文件夹中的实验4文件夹中。 实验4的内容 第1题 1.编写一段程序,程序名称命名为test4-1.c,完成如下任务: 输入3个整数,按由小到大的顺序输出。 #include stdio.h int main() { void swap( ); int a,b,c,*p,*q,*r; p=a; q=b; r=c; printf(请输入3个整数:\n); scanf(%d%d%d,p,q,r); swap(p,q,r); printf(已输入3个整数按由小到大的顺序为:%d,%d,%d\n,a,b,c); return 0; } void swap(int *x,int *y,int *z) {int t; if(*x=*y*x=*z) if(*y=*z) { t=*y; *y=*z; *z=t; } if(*y=*x*y=*z) { t=*x; *x=*y; *y=t; if(*y=*z) { t=*y; *y=*z; *z=t; } } if(*z=*x*z=*y) { t=*x; *x=*z; *z=t; if(*y=*z) { t=*y; *y=*z; *z=t; } } } 第2题 编写一段程序,程序名称命名为test4-2.c,完成如下任务: 输入3个字符串,按按由小到大的顺序输出。 //输入3个字符串,按按由小到大的顺序输出。 #includestdio.h #includestring.h int main() { char a[30],b[30],c[30],*x=a,*y=b,*z=c,*t; int i; printf(请输入三个字符串\n); gets(x); gets(y); gets(z); if(strcmp(x,y)-1) { t=x; x=y; y=t; } if(strcmp(x,z)-1) { t=x; x=z; z=t; } if(strcmp(y,z)-1) { t=y; y=z; z=t; } printf(输入3个字符串,按由小到大的顺序输出为\n); puts(x); puts(y); puts(z); return 0; } 第3题 编写一段程序,程序名称命名为test4-3.c,完成如下任务: 输入10个整数,最大的与最后一个元素交换输出。 //4.写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 #include stdio.h #include string.h int main() { int f(char *x); char c[100],*p=c; int a; gets(c); printf(该字符串的长度为:%d,f(p)); return 0; } int f(char *x) { return strlen(x); } 第5题 编写一段程序,程序名称命名为test4-5.c,实现如下任务: 有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成另一个字符串。(参见例题,字符串的拷贝) //有一个字符串,包含n个字符。写一个函数, //将此字符串中从第m个字符开始的全部字符复制成另一个字符串。 #includestdio.h #includestring.h int main() { char a[]=ABCDEFGHIJKLMNOPQRSTUVWXYZ,b[30]; int i,p,m; p=strlen(a); printf(请输入开始复制的字符序数\n); scanf(%d,m); for(i=0;*(a+i)!=\0;i++) *(b+i)=*(a+i+m-1); *(b+i)=\0; printf(原字符串为%s\n,a); printf(从第%d个字符开始的全部字符复制成另一个字符串为:,m); for(i=0;b[i]!=\0;i++) printf(%c,b[i]); printf(\n); return 0; } 第6题 编写一段程序,程
显示全部
相似文档