言葉遣い:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
int a[]={2,4,5,3,9,6};
int i ,j,tmp=0,n;
n=sizeof(a)/sizeof(a[1]);
printf("总共有%d个数字",n);
printf("排序前:\n");
for(i=0;i<n;i++)
{
printf("%d",a[i]);
printf("\n");
}
for(i=0;i<5;i++)
{
for(j=0;j<5-i;j++)
{
if(a[j]<a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
printf("排序后:\n");
for(i=0;i<n;i++)
{
printf("%d",a[i]);
}
printf("\n");
}
:(書かれた二つの新しい名前)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
int a[]={2,4,5,3,9,6};
int i ,j,tmp=0,n;
n=sizeof(a)/sizeof(a[1]);
printf("总共有%d个数字",n);
printf("排序前:\n");
for(i=0;i<n;i++)
{
printf("%d",a[i]);
}
printf("\n");
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
printf("排序后:\n");
for(i=0;i<n;i++)
{
printf("%d",a[i]);
}
printf("\n");
}
また、パッケージ機能することができる。
ここで特に重要なポイントを伴います!!!
パッケージの関数、ポインタ配列パラメータ劣化として配列パラメータ場合。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void print_array(int a[],int n)
{ int i;
n=sizeof(a)/sizeof(a[1]);
printf("总共有%d个数字",n);
printf("排序前:\n");
for(i=0;i<n;i++)
{
printf("%d",a[i]);
}
printf("\n");
}
void sort_array(int a[],int n)
{
//可以在这里实验:n=sizeof(a)/sizeof(a[1]);
//可以证明数组已经退化为指针。
int i,j,tmp;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
}
int main(void)
{
int a[]={2,4,5,3,9,6};
int i ,j,tmp=0,n;
print_array(a,n);
sort_array(a,n);
printf("排序后:\n");
print_array(a,n);
printf("\n");
}