当前位置:首页 » 编程语言 » c语言使用指针排列大小
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言使用指针排列大小

发布时间: 2022-09-02 00:45:41

‘壹’ 请问在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
}

冒泡排序的方法你应该再去看看书,搞清楚是怎么个思路的