C语言实验4-指针.doc
文本预览下载声明
实验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题
编写一段程序,程
显示全部