|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 不想起名字a 于 2022-9-7 18:33 编辑
#include<stdio.h>
#include<string.h>
#define Max 1024
int main()
{
char a[Max];
int length;
int i, j, k = 0;
gets(a);
length = strlen(a);
while(++k*k <= length);
char (*p)[k] = (char(*)[k])&a;
for(i = 0; i < k-1; i++)
{
for(j = 0; j < k-1; j++)
{
printf("%c ",p(i)[j]);//这里i处为"[]",会变成斜体字
}
printf("\n");
}
return 0;
}
然而想要矩阵输出需要使k的值减一
- #include<string.h>
- #define Max 1024
- int main() {
- char a[Max];
- int length;
- int i, j = 0, k = 0;
- gets_s(a, Max);
- // 求长度
- length = strlen(a);
-
- // k = 求log(2,length)
- while (k * k <= length)k++;
- k--;
- // 打印 k * k 方阵
- for (i = 0; i < k; i++) {
- for (; j <= (1+i)*(k-1); j++) {
- printf("%c ", *((char*)a + i * sizeof(char) + j));
- }
- j--;
- printf("\n");
- }
- return 0;
- }
复制代码
|
|