⑴ 整数排序 c语言
排序有以下几种:
冒泡法。
选择法。
快速法。
插入法。
shell法。
以下是冒泡法和选择法的例子:
#include"stdio.h"
#defineN10
voidsort(inta[],intmethod)
{
inti,k,t,j;
switch(method)
{
case1:
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(a[j]>a[i])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
break;
case2:
for(i=0;i<N;i++)
{
k=i;
for(j=i+1;j<N+1;j++)
if(a[j]<a[k])
k=j;
t=a[k];
a[k]=a[i];
a[i]=t;
}
break;
default:break;
}
}
voidmain()
{
inta[N]={16,5,8,12,1,17,3,6,10,2};
inti,method;
printf("排序前: ");
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("请选择:1表示冒泡法,2表示选择法: ");
scanf("%d",&method);
sort(a,method);
printf("排序后: ");
for(i=0;i<N;i++)
printf("%d ",a[i]);
}
⑵ C语言程序从键盘任意输入两个整数,按照其从小到大的顺序输出
main()
{
int a,b,num;
scanf("%d%d",&a,&b);
if (a>b)
{num=a;a=b;b=num;} /*因为a值大,把a值先赋给num,然后把b值赋给a,a就变小,然后把num也就是之前a的大值赋给b,这个时候就把a和b的值交换了。*/
printf("小到大排序: %d %d\n",a,b);
}
上面那一行解释就是这个题的思路,有什么不懂欢迎继续追问
⑶ C语言指针实现整数排序
#include<stdio.h>
intmain()
{
inta[3],i,n,j;
int*q;
q=&a[0];//这里是将数组的第一位的地址赋值给指针q,也是数组a的首地址
for(i=0;i<3;i++)
{
printf("请输出1个整数:");
scanf("%d",&a[i]);
}
for(j=0;j<2;j++)//简单的排序。
{
for(i=0;i<2;i++)
{
if(*(q+j)<*(q+1+i))
{
n=*(q+j);
*(q+j)=*(q+1+i);
*(q+1+i)=n;
}
}
}
printf("三个整数是:%d,%d,%d ",*q,*(q+1),*(q+2));
}
这道题的主要是弄清楚指针的加法和排序的方法。
⑷ C语言编程 ,输入两个整数,按由小到大的次序输出。
我这个比较简单
#include"stdio.h"
main
{int a,b,c;
scanf("%d %d",&a,&b);
if(a>b){c=b;b=a;a=c;}
printf("%d,%d",a,b);
}
⑸ 大学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语言 任意输入的 两个整数,按照由小到大的顺序排列后输出
#include "stdio.h"
main()
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if (a>b)
{t=a;a=b;b=t;} /*交换a,b的值*/
if(a>c)
{t=c;c=a;a=t;} /*交换a,c的值*/
if(b>c)
{t=b;b=c;c=t;} /*交换c,b的值*/
printf("small to big: %d %d %d\n",a,b,c);
}