C语言高分求助!!!速度~~~

来源:百度知道 编辑:UC知道 时间:2024/05/24 17:40:13
修改下列程序中的错误。
1、使指针变量P1指向a和b中的较大者,P2指向较小者。如不能实现要求,请修改。
# include <stdio.h>
swap(int *p1,int *p2)
{
int *p;
p=p1; p1=p2; p2=p;
}

void main()
{
int a,b,pt1,pt2;
printf("请输入两个整型数:\n");
scanf("%d%d",&a,&b);
pt1=&a; pt2=&b;
if(a<b)
swap(pt1,pt2);
printf("pt1指向a 则*pt1=%d\n",*pt1);
printf("pt2指向b 则*pt2=%d\n",*pt2);
}
2、如果要输出a数组中的10 各元素,下面程序能否实现?有问题请修改。
# include<stdio.h>
void main()
{
static int a[10]={1,3,5,7,9,2,4,6,8,10};
int i;
for (i=0;i<10;i++,a++)
printf("a[%d]=%5d",i,*a);
}

3、下列程序要求在中一个自定义函数stringcmp()实现两个字符串的比较,请填空完善程序。
当输入rechard回车 rechard回车时,程序的运行结果是什么?
当输入rechard回车 heland回车时,程序的运行结果是什么?
当输入heland回车 rechard回车时,程序的运行结果是什么?
分析以上运行情况,指出程序实现的具体功能。

# include<stdio.h>
# include <string.h>

楼上已经更正1.2了
2.也可以改为
# include<stdio.h>
void main()
{
static int a[10]={1,3,5,7,9,2,4,6,8,10};
int i;
for (i=0;i<10;i++)
printf("a[%d]=%5d\n",i,*(a+i)); //这里修改
}
----------------------------------
3.完善后的程序,请比对
# include<stdio.h>
# include <string.h>
int stringcmp(char *p,char *q);
void main()

{
int n;
char s1[20],s2[20];
char *p,*q;
printf("请输入两个字符串:\n");
gets(s1);
gets(s2);
p=s1;
q=s2;
n=stringcmp(p,q);
printf("比较结果为:%d\n",n);
}

int stringcmp(char *p,char *q)
{
int i=0,m;
while(*(p+i)==*(q+i))
{
if(*(p+i)=='\0')
break;
i++;
}
m=*(p+i)-*(q+i);
return m;
}
----------------
当输入rechard回车 rechard回车时,程序的运行结果是什么?
0
当输入rechard回车 heland回车时,程序的运行结果是什么?