5.1. 천준현 ¶
#include <stdio.h> #pragma warning(disable : 4996) struct a{ int id; int score; }; int main(void){ struct a person[5]; int i, j, a; for (i = 0; i <= 4; i++){ printf("%d번 째 사람의 학번을 입력하세용\n", i + 1); scanf("%d", &person[i].id); } for (i = 0; i <= 4; i++){ printf("%d번 째 사람의 성적을 입력하세용\n", i + 1); scanf("%d", &(person[i].score)); } for (i = 0; i <= 4; i++){ for (j = i + 1; j <= 4; j++){ if (person[i].score < person[j].score){ struct a b = person[i]; person[i] = person[j]; person[j] = b; } } } for (i = 0; i <= 4; i++){ printf("%d등 id : %d, score : %d\n", i+1 , person[i].id, person[i].score); } return 0; }
5.2. 최지혁 ¶
include<stdio.h> #pragma warning (disable:4996) struct A { int id; int score; }; int main() { struct A person[5]; for (int i = 0; i < 5; i++) { printf("%d번째 학번을 적어주세요", i + 1); scanf("%d", &person[i].id); // 학번받기 } for (int p =0; p < 5; p++) { printf("%d번째 학번의 점수를 적어주세요", p + 1); scanf("%d", &person[p].score); // 점수받기 } int score[5] = {0,0,0,0,0}; int id[5] = {0,0,0,0,0}; score[0] = person[0].score; id[0] = person[0].id; for (int i = 1; i < 5; i++) { for (int j = 0; j < 5;j++ ) { if (person[i].score > score[j]) { for (int t = 3; t >= j; t--) { score[t + 1] = score[t]; id[t + 1] = id[t]; } score[j] = person[i].score; id[j] = person[i].id; goto here; } } here:; } for (int k = 0; k < 5; k++) printf("%d %d\n", id[k], score[k]); return 0; } (goto를 썼다는 게 걸리긴 하지만, 뭐. 동작은 하니깐요.....허허헛)
#include<stdio.h> #include<stdlib.h> #pragma warning (disable:4996) int main() { int n; int* p; scanf("%d", &n); p = (int*)malloc(sizeof(int)*n); for (int i = 0; i < n; i++) { scanf("%d", &p[i]); } for (int j = n - 1; j >= 0; j--) { printf("%d ", p[j]); } free(p); return 0; }
5.3. 박인서 ¶
- 구조체 연습
#include <stdio.h> struct A{ int id; int score; }; int main(){ int i,j,temp; struct A p[5]; for(i=0;i<5;i++) scanf("%d",&p[i].id); for(i=0;i<5;i++) scanf("%d",&p[i].score); for(i=0;i<5;i++){ for(j=i+1;j<5;j++){ if(p[i].score<p[j].score){ temp=p[i].score; p[i].score=p[j].score; p[j].score=temp; temp=p[i].id; p[i].id=p[j].id; p[j].id=temp; } } } for(i=0;i<5;i++) printf("학번 : %d, 점수 : %d\n",p[i].id,p[i].score); return 0; }
- malloc 실습
#include <stdio.h> #include <stdlib.h> int main() { int n,i; int * p; scanf("%d",&n); p=(int *) malloc(sizeof(int)*n); for(i=0;i<n;i++) scanf("%d",&p[i]); printf("\n"); for(i=n-1;i>=0;i--) printf("%d\n",p[i]); free(p); return 0; }
5.5. 이원준 ¶
* 구조체 swap
#include<stdio.h> struct A{ int id; int score; }; void main(){ struct A person[5]; printf("id를 입력받으시오.(5명)\n"); for (int i = 0; i < 5; i++){ scanf("%d", &person[i].id); } printf("score를 입력받으시오.(5명)\n"); for (int i = 0; i < 5; i++){ scanf("%d", &person[i].score); } for (int i = 0; i < 5; i++){ for (int j = i + 1; j < 5; j++){ if (person[i].score < person[j].score){ struct A tmp = person[i]; person[i] = person[j]; person[j] = tmp; } } } for (int i = 0; i < 5; i++){ printf("%d등.id: %d score: %d\n", i+1 , person[i].id, person[i].score); } }
* malloc 연습
#include<stdio.h> #include<malloc.h> void main(){ int *p; int n; printf("몇개 입력할거임?\n"); scanf("%d", &n); p = (int*)malloc(sizeof(int)*n); printf("니맴대로 입력하시오.\n"); for (int i = 0;i < n; i++){ scanf("%d", &p[i]); } for (int i = n - 1; i >= 0; i--){ printf("%d\n", p[i]); } }