실험 XI : 구조

 실험의 목적은
구조의 기본 개념을 이해 1. 실험.
2. 구조 유형 정의, 정의 구조 변수의 사용을 파악.
3. 구조 변수의 초기화를 파악.
실험의 두 번째 목적
1. 문제 설명
(1) 주소록을 설정, 주소록의 구조 기록이 포함됩니다 : 이름, 생년월일, 전화 번호, 또한 세 포함 생일 : 년, 월, 일을. 프로그래밍 입력 N (N <10) 연락처 정보는 그들의 연령 순차적 순서 정보를 출력한다.
(2) 학교 번호, 이름 및 성과, 학생들의 성취도의 출력 레벨과 실패의 수가 10 명을 입력합니다. 학생 번호, 이름, 등급 점수, 요구 사항 정의 및 호출 기능 set_grade ()를 포함하여 각 학생의 기록, 학생들의 성취도에 따라 그 수준을 설정하고 통계 숫자를 통과하지 못한, 등급 설정 : 85 100로, 70 ~ 84는 B이다 60 C 69 ~ 59 0이다 D.
2. 프로그램
(1)

사용법 #include <stdio.h에>
사용법 #include <string.h>
구조체 생일 {
더블 년;
INT의 월, 일,
};
구조체 전화 {
INT의 NUM;
문자 이름 [10];
구조체 생일 BD;
}
;
INT의 main ()
{
int로 I, J, N, 최대;
구조체 전화 P [100], t;
의 printf ( "Entern N");
scanf와 ( "%의 D", N);
인 printf ( "请输入通讯人姓名,电话号码,生日\ n을");
(내가은 N <; I = 0 내가 ++) 용
는 scanf ( "% S % D % LF % D % D", P [I] .name과, P [I] .num, P [I] .bd.year, & P [I] .bd.month, P [I] .bd.day);
위한 (I = 0; I <N은 1; I ++) {
최대 = 1;
(n은 J <; J = I + 1, J ++) {위한
경우 (p [J] .bd.year <p [최대] .bd.year) {
t = P [최대];
P [최대] P는 [j에를] =;
P [J]를 t =를;
}
다른 경우 (p에 [j를] .bd.month <p [최대] .bd.month) {
t = P [최대];
P [최대] P는 [j에를] =;
P [J]를 t =를;
}
다른 경우 (p [J] .bd.day <p [최대] .bd.day) {
t = P [최대];
P [최대] P는 [j에를] =;
P [J]를 t =를;
}
}
}
의 printf ( "생일 순서는 \ n한다");
대 (I = 0; i가 N <; 내가 ++)
의 printf ( "이름 % S \ n 전화 번호 % D \ n % 1.1f % D % D \ n", p는 [I] .name과, P [I] .num , P [I] .bd.year, P [I] .bd.month, P는 [I] .bd.day);
0을 반환;
}

(2)

#INCLUDE <STDIO.H>
사용법 #include <string.h>
INT set_grade (구조체 학생들이 학생 [10], INT 않음);
구조체 학생들 {
INT의 NUM;
문자 이름 [10];
점수를 떠;
문자 등급;
};
INT의 main ()
{
int로 I, N, 카운트;
의 printf ( "请输入学生数据:");
scanf와 ( "%의 D", N);
구조체 학생들이 학생 [10];
대 (I = 0; I <N은, 내가 ++) {
printf와 ( "이름");
scanf와 ( "%의 S", 학생 [I] .name을);
의 printf ( "수 :");
scanf와 ( "%의 D", 및 학생 [I] .num);
의 printf ( "점수");
scanf와 ( "%의 LF", 학생 [I] .score);
set_grade (학생, N) = 카운트;
}
에 대해 (I = 0; I <N은;
의 printf ( "学号% D姓名%等级S : % C \ 없음"학생 [I] .num 학생 [I] .name을 학생 [I] .grade);
}
의 printf ( "不及格人数为% D \ 없음"카운트);
0을 반환;
}
INT의 set_grade (구조체 학생들이 학생 [10], INT는 않음) {
i가 카운트되는 int = 0;
대 (I = 0; I <N은, 내가 ++) {
경우 (학생 [I] .score <60) {
학생 [I] .grade = 'D';
++ 카운트}
다른 경우 (학생 [I] .score <70 명 && 학생 [I] .score> = 60) {
학생 [I] .grade = 'C';}
다른 경우 (학생 [I] .score <85 명 && 학생 [I] .score> = 70) {
학생 [I] .grade = 'B'}
다른 경우 (학생 [I] .score <= 100 && 학생 [I] .score> = 85) {
학생 [I] .grade = 'A ';}
}
반환 계산;
}

그림 3. 실험 절차

(1)

(2)

三,实验心得

当对结构体变量赋值时,可以整体引用,一般情况下不能对结构体变量整体引用,只能引用其成员。结构体也是和数组类似的一种构造类型。但和数组不同的是结构体的各个分量可以分别具有不同的数据类型。

추천

출처www.cnblogs.com/cyj815/p/11084140.html