void Swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
void Selectsort(int *arr, int sz)
{for (int end=sz-1; end>=0; end--)
{
int max = end;
int i;
for ( i = 0; i <= end; i++)//选出最大下标
{
if (arr[i] > arr[max])
{
max = i;
}
}
Swap(&arr[end], &arr[max]);
}
}
int main()
{
int arr[5] = { 1, 3, 2, 5, 4 };
int sz = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i <= sz - 1; i++)
{
scanf("%d", &arr[i]);
}
Selectsort(arr, sz);
for (int i = 0; i <= sz - 1; i++)
{
printf("%d ", arr[i]);
}
system("pause");
return 0;
}
printf函数使用注意事项
1、域宽
%d:按整型数据的实际长度输出。
如果想输出指定宽度可以指定域宽,%md-->m域宽,打印出来以后,在控制台上,显示m位;
如果要打印的数的位数如果超过我们设定m则原样输出;
如果要打印的数的位数如果小于设定的位数,则补空白,具体如下:
如果m为正数,则左对齐(左侧补空白);
如果m为负数,则右对齐(右侧补空白)。
2、转义字符
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。
如:printf("%f%%",1.0/3);输出结果:0.333333%。