在C語言中,可以使用printf
函數(shù)結(jié)合格式控制符來實(shí)現(xiàn)輸出居中對(duì)齊。具體實(shí)現(xiàn)方法如下:
%*s
來控制輸出寬度,其中*
表示通過參數(shù)指定寬度。printf
函數(shù)輸出居中對(duì)齊的字符串。以下是一個(gè)示例代碼:
#include <stdio.h>
#include <string.h>
void printCenter(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() {
char str[] = "Hello, World!";
int width = 20;
printCenter(str, width);
return 0;
}
運(yùn)行結(jié)果:
Hello, World!
在上面的示例中,將字符串"Hello, World!"居中對(duì)齊輸出,輸出寬度為20個(gè)字符。使用printCenter
函數(shù)來實(shí)現(xiàn)居中對(duì)齊,如果字符串長(zhǎng)度小于輸出寬度,則在字符串前后添加合適數(shù)量的空格來實(shí)現(xiàn)居中對(duì)齊;如果字符串長(zhǎng)度大于等于輸出寬度,則直接輸出字符串。