提问人:Rohan Benny 提问时间:12/7/2022 更新时间:12/7/2022 访问量:77
UTF-8 编解码器无法解码位置 377 中的字节0x87:起始字节无效
utf-8 codec can't decode byte 0x87 in position 377: invalid start byte
问:
该程序将接受一个矩阵和一个整数,并用星号('*')替换所有元素,但左上角和右三角形以及右下角和左下角三角形中存在的元素除外。
法典:
#include <stdio.h>
int main()
{
int n, x, i, j;
// Inputs
printf("n: ");
scanf("%d\n", &n);
char a[n][n], b[n][n];
printf("Enter the matrix elements\n");
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
printf("[%d][%d]: ", i, j);
scanf("%c\n", &a[i][j]);
b[i][j] = '*';
}
}
printf("x: ");
scanf("%d\n", &x);
printf("x: %d\n",x);
// Implementation
// Top right and left triangles
for (i = 0; i < n; i++)
{
for (j = 0; j < x - i; j++)
{
b[i][j] = a[i][j];
}
for (j = n - 1; j >= (n - x) + i; j--)
{
b[i][j] = a[i][j];
}
}
// Bottom right and left triangles
int c = 0;
for (i = n - 1; i >= (n - x); i--)
{
for (j = 0; j < x - c; j++)
{
b[i][j] = a[i][j];
}
for (j = n - 1; j >= (n-x) + c; j--)
{
b[i][j] = a[i][j];
}
c++;
}
// Printing the mat
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
printf("%c ", b[i][j]);
}
printf("\n");
}
return 0;
}
该程序适用于输入 1 到 8...我没有尝试超过 8 的输入,因为它对于键入 64 个元素来说已经足够乏味了,但是当我提交程序时,它显示对于矩阵大小为 50 的测试用例,结果是一个错误,特别是“utf-8”编解码器无法解码位置 377 中的字节0x87:无效的起始字节该程序适用于输入 1 到 8。知道为什么会这样吗?
答: 暂无答案
评论
x