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]);
	}
}











