‘壹’ 大学C语言题:使用指针进行排序 请用程序实现 使用指针变量对2个整数进行从小到大排序
#include <stdio.h>
int main () {
// TODO 请在此处编写代码,完成题目要求
int a,b,t;
int *p,*q;
p = &a;
q = &b;
scanf("%d%d",p,q);
if(*p>*q)
{t=*p;
*p=*q;
*q=t;}
printf("%d %d",*p,*q);
return 0;
}
经提交可以
‘贰’ 用C语言里的指针对三个输入的数进行由大到小的排序
首先,输入三个数,你的数组开才开了2,数组开小了!a[3]
其次,scanf
("%d",
&a[i]);这里要使用取地址符号才能进行输入
再次,你加的else
;这些语句都没有用,直接删除
#include
int main()
{
int *p,a[3],temp,i;
p=a;
printf("请输入三个数字");
for(i=0;i<=2;i++)
scanf("%d",&a[i]);
if(*p<*(p+1))
{
temp=*p;
*p=*(p+1);
*(p+1)=temp;
}
if(*p<*(p+2))
{
temp=*p;
*p=*(p+2);
*(p+2)=temp;
}
if(*(p+1)<*(p+2))
{
temp=*(p+1);
*(p+1)=*(p+2);
*(p+2)=temp;
}
printf("%d\n",*p);
printf("%d\n",*(p+1));
printf("%d\n",*(p+2));
return 0;
}
‘叁’ C语言,指针的,大小排序,求解
#include<stdio.h>
void main()
{int *p;
int i, j;
int a[3];
int t=0;
for(i=0;i<3;i++)
scanf("%d",&a[i]);
p=a;
for(i=0;i<3;i++)
{
for(j=i;j<3;j++)
{
if(*(p+i) > *(p+j))
{
t = *(p+i);
*(p+i) = *(p+j);
*(p+j) = t;
}
}
}
for(i=0;i<3;i++)
printf("%d",*(a+i)); //1
}
冒泡排序的方法你应该再去看看书,搞清楚是怎么个思路的
‘肆’ C语言用指针比较多个数的大小
没有任何输出是因为你这句:if(k='\n')
写的不对,应该是if(k=='\n')
其它还有些逻辑错误,你自己再看看
‘伍’ C语言,,输入3个数,从小到大排序,,用指针做,
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。
‘陆’ C语言,用指针对三个数从小到大排序
#include <stdio.h>
void swep(int *a,int *b,int *c)
{
int tmp;
if(*a>*b)
{
tmp=*a;
*a=*b;
*b=tmp;
}
if(*a>*c)
{
tmp=*a;
*a=*c;
*c=tmp;
}
if(*b>*c)
{
tmp=*b;
*b=*c;
*c=tmp;
}
}
void main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
swep(&a,&b,&c);
printf("%4d%4d%4d",a,b,c);
}