算法就像楼上说的,具体代码如下 建议你百度百科一下选择排序的概念,更有助于理解,希望采纳 #include<stdioh> main() { int a[50],n,i,j,temp,k; printf("请输入总计要排序的人数:"); scanf("%d",&n); printf("输入%d个人的年龄(要求各不相同):\n",n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } for(i=0;i<n-1;i++) { k=i; for(j=i+1;j<n;j++) { if(a[k]>a[j]) k=j; if(k!=i) { temp=a[k]; a[k]=a[i]; a[i]=temp; } } } printf("排序后的输出"); for(i=0;i<n;i++) { printf("%d\n",a[i]); } }
#include
<stdioh>
void
Sort(
int
s,
int
n
)
{
int
p
=
s;
//定义一个指向数组首地址的指针
int
q,
tmp;
for(
;
p
<
s+10;
p++
)
//当指针移动到数组的末端结束
{
for(
q
=
p
;
q
<
s+10;
q++
)
//按照插入排序的方式执行
{
if(
q
<
p
)
{
tmp
=
p;
p
=
q;
q
=
tmp;
}
}
}
}
int
main()
{
int
i;
int
s[10]
=
{9,8,7,6,5,4,3,2,1,0};
Sort(s,10);
//调用排序函数
for(
i
=
0;
i
<
10;
++i
)
//输出排序后的结果
{
printf("%d
",s[i]);
}
printf("\n");
return
0;
}
Private Sub CommandButton1_Click()
Dim Myint
Dim iLb, iUb, iTmp As Integer
Myint = Array(TextBox1Text, TextBox2Text, TextBox3Text)
iLb = LBound(Myint)
iUb = UBound(Myint)
For i = iUb To iLb + 1 Step -1
For ii = iLb To i - 1
If Myint(ii) < Myint(ii + 1) Then
iTmp = Myint(ii)
Myint(ii) = Myint(ii + 1)
Myint(ii + 1) = iTmp
End If
Next ii
Next i
Label1Caption = Join(Myint, ">")
End Sub
以上就是关于求C程序语言代码,假如有n个人,各人年龄不同,希望按年龄将他们从小到大排列(采用选择排序法)。拜托各全部的内容,包括:求C程序语言代码,假如有n个人,各人年龄不同,希望按年龄将他们从小到大排列(采用选择排序法)。拜托各、编写一个C语言程序,利用指针对数组进行排序,并解释所编写的代码、在vba中给输入文本框中的数字从大到小排序的程序代码怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)