https://www.acmicpc.net/problem/10814
Baekjoon Online JudgeBaekjoon Online Judgewww.acmicpc.net#include <stdio.h>
#include <string.h>
typedef struct person
{
char name[101];
int age;
}p;
void swap(p *a, p *b)
{
p temp = *a;
*a = *b;
*b = temp;
}
int main(void)
{
int i, tmp;
scanf("%d", &i);
p a[i+1];
for(int j = 0; j < i; j++)
{
scanf("%s %d", a[j].name, &a[j].age);
}
for(int j = i-1; j>=0; j--)
{
for(int k = 0; k < j; k++)
{
if(a[k].age > a[k + 1].age)
swap(&a[k], &a[k+1]);
}
}
for(int j = 0; j < i; j++)
printf("%d %s\n", a[j].age, a[j].name);
return 0;
}
이거 왜 출력이 잘못 되는건가요??
나이 이름 순서로 입력되는것같은데
상관이 있을수도있고 없을수도있는데 scanf for문등 여러번 반복해서 쓸때 " %s"이런식으로 공백을 %앞에 넣어주세요 안그러면 의도와 다른경우가 몇 있을수 있어요
scanf를
이건 상관없음. %s가 화이트스페이스 무시하고 입력받기 때문에 - dc App
오...감사합니다 %s가 다른건 처음알았네요