c语言怎么编程居中对齐

时间:2025-03-01 21:07:07 明星趣事

在C语言中,可以使用`printf`函数结合格式控制符来实现输出居中对齐。以下是一个示例代码:

```c

include

include

void printCenter(const char *str, int width) {

int len = strlen(str);

int left_space, right_space;

if (len >= width) {

printf("%s", str);

} else {

left_space = (width - len) / 2;

right_space = width - len - left_space;

printf("%*s%s%*s", left_space, "", str, right_space, "");

}

}

int main() {

const char *str = "Hello, World!";

int width = 20;

printCenter(str, width);

return 0;

}

```

在这个示例中,`printCenter`函数接受一个字符串和一个宽度值,然后计算出需要在字符串两侧添加的空格数量,以实现居中对齐。`printf`函数使用`%*s`格式控制符来控制输出宽度,其中`*`表示通过参数指定宽度。

如果你需要动态计算输出宽度,可以根据字符串的长度来计算。以下是一个示例代码:

```c

include

include

void printCenter(const char *str) {

int len = strlen(str);

int console_width = 80; // 假设控制台宽度为80字符

int left_space, right_space;

if (len >= console_width) {

printf("%s", str);

} else {

left_space = (console_width - len) / 2;

right_space = console_width - len - left_space;

printf("%*s%s%*s", left_space, "", str, right_space, "");

}

}

int main() {

const char *str = "Hello, World!";

printCenter(str);

return 0;

}

```

在这个示例中,`printCenter`函数使用了一个固定的控制台宽度(80字符),但你可以根据需要修改这个值。