文档库 最新最全的文档下载
当前位置:文档库 › C语言上机作业

C语言上机作业

1.有3个整型变量i j k。请编一程序,设置3个指针变量p1,p2,p3,分别指向i,j,k。然后通过指针变量使i,j,k3个变量的值顺序交换,即i的原值赋给j,把j的原值赋给k,把k的原值赋i。i,j,k的原值由键盘输入,要求输出i,j,k,的原值和新值。

#include
int main()
{
int i,j,k,t;
int *p1,*p2,*p3,*p4;
scanf("%d%d%d",&i,&j,&k);
p4 = &t;
printf("交换顺序以前的值:%d\t%d\t%d\n",i,j,k);
p1 = &i;
p2 = &j;
p3 = &k;
*p4 = *p1;
*p1 = *p2;
*p2 = *p3;
*p3 = *p4;
printf("交换顺序以后的值:%d\t%d\t%d\n",i,j,k);
return 0;
}

2.指针法对十个数排序。
#include
#define N 10
int main()
{ int i,j,num[N],temp;
int *p;
p=num; //指针p指向数组num[N]的首地址
printf("请输入十个数: ");
for (i=0;i{
scanf("%d",p+i);
}
for(i=0;i{
for(j=0;j{
if (*(p+j)<*(p+j+1))
{
temp=*(p+j);

*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
printf("\n\n排序之后顺序:");
for (i=0;i{
printf("%d ",*(p+i));
}
printf("\n");
return (0) ;
}

用数组和指针连接字符串
#include
#include
int main()
{
char a[1000],b[1000],c[2000];
char *p1,*p2,*p3;
printf("请输入第一个字符串 a:");
scanf("%s",a);
printf("请输入第二个字符串 b:");
scanf("%s",b);
p1=a;p2=b;p3=c;
while(*p1!='\0')
{
*p3++=*p1++;
}
while(*p2!='\0')
{
*p3++=*p2++;
}
puts(c);
return (0);

}

相关文档