『壹』 大學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);
}