程序常见错误的类型刷题记录
1. C程序常见的错误分类不包含:
2. 有序序列合并
输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。
int main()
{
int n = 0;
int m = 0;
scanf("%d %d", &n, &m);
int arr1[n];//c99
int arr2[m];//c99
int i = 0;
int j = 0;
// 输入
for (i = 0; i < n; i++)
scanf("%d", &arr1[i]);
for (i = 0; i < m; i++)
scanf("%d", &arr2[i]);
// 合并打印
i = 0;
j = 0;
while (i < n && j < m)
{
if (arr1[i] < arr2[j])
{
printf("%d ", arr1[i]);
i++;
}
else if (arr1[i] >= arr2[j])
{
printf("%d ", arr2[j]);
j++;
}
}
if (i == n)
{
for (; j < m; j++)
printf("%d ", arr2[j]);
}
else
{
for (; i < n; i++)
printf("%d ", arr1[i]);
}
return 0;
}
3. X形图案
int main()
{
int n = 0;
while (scanf("%d", &n) == 1)
{
int i = 0;
int j = 0;
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
if (i == j)
printf("*");
else if (i + j == n - 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
return 0;
}
4. 箭形图案
int main()
{
int n = 0;
while (scanf("%d", &n) == 1)
{
// 打印图案
//上 - n行
int i = 0;
for (i = 0; i < n; i++)
{
// 打印一行
// 打印空格
int j = 0;
for (j = 0; j < n - i; j++)
{
printf(" ");
}
//打印*
for (j = 0; j <= i; j++)
{
printf("*");
}
printf("\n");
}
//下 - n+1行
for (i = 0; i < n + 1; i++)
{
// 打印一行
// 打印空格
int j = 0;
for (j = 0; j < i; j++)
{
printf(" ");
}
//打印*
for (j = 0; j < n + 1 - i; j++)
{
printf("*");
}
printf("\n");
}
}
return 0;
}