C语言考试题
#define SUM(a,b,c)a*b+c
main()
{
int i = 1,j=2,k =3;
printf("%o\n",SUM(i+j,j+k,i+k));
}
//1+2*2+3+1+3 = 12 转成八进制 14
链表
1.反转链表
2.找链表中点
3.找环
排序
1.快排
void quickarray(int s[], int l, int r)
{
if (l < r)
{
int i = l, j = r;
int x = s[l]; //s[l]即s[i]就是第一个坑
while (i < j)
{
// 从右向左找小于x的数来填s[i]
while (i < j && s[j] >= x)
j--;
if (i < j)
{
s[i] = s[j]; //将s[j]填到s[i]中,s[j]就形成了一个新的坑
i++;
}
// 从左向右找大于或等于x的数来填s[j]
while (i < j && s[i] < x)
i++;
if (i < j)
{
s[j] = s[i]; //将s[i]填到s[j]中,s[i]就形成了一个新的坑
j--;
}
}
s[i] = x;
quickarray(s, l