#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define N 5
struct student {
int num;
char name[1024];
int score[3];
};
typedef struct student stu;
void print(stu* p) {
printf("學號\t姓名\t成績1\t成績2\t成績3\n");
for (int i = 0; i < N; ++i) {
printf("%d\t", (p + i)->num);
printf("%s\t", (p + i)->name);
for (int j = 0; j < 3; ++j) {
printf("%d\t", (p + i)->score[j]);
}
printf("\n");
}
}
void main() {
stu arr[N];
stu* p = arr;
//輸入
for (int i = 0; i < N; ++i) {
printf("請輸入第%d個學生的信息\n", i + 1);
printf("請輸入num\n");
scanf("%d", &(p + i)->num);
printf("請輸入姓名\n");
scanf("%s", &(p + i)->name);
for (int j = 0; j < 3; ++j) {
printf("請輸入score%d\n", j + 1);
scanf("%d", &(p + i)->score[j]);
}
}
//輸出
print(p);
system("pause");
}
運行效果:
擴展資料:
printf函數使用註意事項
1、域寬
%d:按整型數據的實際長度輸出。
如果想輸出指定寬度可以指定域寬,%md-->m域寬,打印出來以後,在控制臺上,顯示m位;
如果我們要打印的數的位數如果超過我們設定m則原樣輸出;
如果我們要打印的數的位數如果小於我們設定的位數,則補空白,具體如下:
如果m為正數,則左對齊(左側補空白);
如果m為負數,則右對齊(右側補空白)。
2、轉義字符
如果想輸出字符"%",則應該在“格式控制”字符串中用連續兩個%表示。
如:printf("%f%%",1.0/3);輸出結果:0.333333%。