姓名,15列,左对 ⻬;性别,8列,右对⻬;年龄,8列,右对⻬;表头(Name、Gender、Age)和每⼀名学⽣,⽤ 单个printf输出。
时间: 2023-09-08 20:04:57 浏览: 110
实现一个数据单元,包括学号和姓名两部分。编写两个线程,一个线程往数据单元中写,另一个线程往出读。要求每写一次就往出读一次。
5星 · 资源好评率100%
### 回答1:
可以使用以下代码实现:
printf("%-15s%-8s%-8s\n", "Name", "Gender", "Age");
printf("%-15s%-8s%-8s\n", "John", "Male", "25");
printf("%-15s%-8s%-8s\n", "Jane", "Female", "22");
printf("%-15s%-8s%-8s\n", "Bob", "Male", "30");
这段代码可以输出一个表格,其中姓名、性别和年龄都有对齐的效果。注意,printf中的“-”表示左对齐,不加则为右对齐。
### 回答2:
这里使用`printf`函数来输出表头和每一个学生的信息。我们可以分别设置姓名、性别和年龄的列数来对齐输出。
```c
#include <stdio.h>
int main() {
printf("%-15s %-8s %-8s\n", "Name", "Gender", "Age");
// 以下为每个学生的信息
printf("%-15s %-8s %8d\n", "Alice", "Female", 18);
printf("%-15s %-8s %8d\n", "Bob", "Male", 17);
printf("%-15s %-8s %8d\n", "Cathy", "Female", 16);
//...
return 0;
}
```
输出结果为:
```
Name Gender Age
Alice Female 18
Bob Male 17
Cathy Female 16
...
```
这样就能保证姓名在左侧对齐,性别和年龄在右侧对齐了。其中`%-15s`表示占用15列并左对齐的字符串格式,`%-8s`表示占用8列并左对齐的字符串格式,`%8d`表示占用8列并右对齐的整数格式。
### 回答3:
以下是使用单个printf函数输出姓名、性别、年龄的表头和每一名学生的代码:
```c
#include <stdio.h>
int main() {
printf("%-15s%-8s%-8s\n", "Name", "Gender", "Age"); // 表头左对齐输出
printf("%-15s%8s%8d\n", "张三", "男", 18); // 第一名学生左对齐输出
printf("%-15s%8s%8d\n", "李四", "女", 19); // 第二名学生左对齐输出
printf("%-15s%8s%8d\n", "王五", "男", 20); // 第三名学生左对齐输出
// 其他学生信息依次类推
return 0;
}
```
这段代码在printf函数中使用了格式化输出的转义字符,其中`%-15s`表示字符串左对齐并占用 15 个字符的宽度,`%8s`表示字符串右对齐并占用 8 个字符的宽度,`%8d`表示整数右对齐并占用 8 个字符的宽度。
所以输出结果会表现为姓名左对齐,姓名列占用 15 个字符的宽度;性别和年龄右对齐,占用 8 个字符的宽度。每一名学生的信息都会根据对齐方式进行输出。
阅读全文