『壹』 請問在c語言中,怎樣利用指針來比較多個字元串的大小
每個字元串用一個指針指向首地址 再設置一個計數器
在尾地址前指針移動計數器就加1
最後可以通過比價計數器的大小來比較字元串長度
『貳』 C語言用指針比較多個數的大小
沒有任何輸出是因為你這句:if(k='\n')
寫的不對,應該是if(k=='\n')
其它還有些邏輯錯誤,你自己再看看
『叄』 用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語言題:使用指針進行排序 請用程序實現 使用指針變數對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語言指針問題,利用指針比大小
inthuandi(int*a,int*b)
{
int*temp;
temp=a;
a=b;
b=temp;
}
出在這個函數裡面
交換的是a和b的值。 這個是交換形參本身的值,無法帶回主函數。
要影響實參,那麼只能交換*a和*b的值。
『陸』 C語言:用指針實現字元串大小的比較,應該怎樣做呢
字元串比較,可採用循環遍歷字元串,用對應位置的指針所指向的字元進行比較,當相等時,循環,遇到不等或其中一個字元串結束時,結束循環,返回對應指針的對應的字元的差值,根據差值判斷兩個字元串的大小:
返回值大於0,則前串大,
返回值小於0,則前串小,
返回值等於0,兩個字元串相等。
參考代碼:
#include<stdio.h>
intstringcompare(char*a,char*b)
{
while(*a&&*a==*b)
{
a++;
b++;
}
return*a-*b;
}
intmain()
{
intret;
chara[10];
charb[10];
printf("請輸入字元串a:");
gets(a);
printf("請輸入字元串b:");
gets(b);
ret=stringcompare(a,b);
if(ret>0)
printf("a>b ");
elseif(ret<0)
printf("a<b ");
else
printf("a=b ");
system("pause");
return0;
}
運行結果:
請輸入字元串a: abcde
請輸入字元串b: acd
a<b
請輸入字元串a: acd
請輸入字元串b: abcde
a>b
請輸入字元串a: abc
請輸入字元串b: abc
a=b
『柒』 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);
}
『捌』 c語言中,十個整數從小到大的順序排列,用指針
#include <stdio.h>
int main()
{
void sort(int x[],int n);
int i,a[10];
int *p=a;
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);//scanf("%d",p++);
}
sort(p,10);
printf("the sorted numbers:\n");
for(p=a;p<a+10;p++)
{
printf("%d ",*p);
}
printf("\n");
return 0;
}
void sort(int x[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)//選擇排序
{
k=i;
for(j=i+1;j<n;j++)
if(x[j]<x[k]) k=j;
if(k!=i)
{
t=x[i];
x[i]=x[k];
x[k]=t;
}
}
}
————————————————
版權聲明:本文為CSDN博主「huangyuxiaoge」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u014795767/article/details/39455785
『玖』 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
}
冒泡排序的方法你應該再去看看書,搞清楚是怎麼個思路的