728x90
#include <stdio.h>
#include <stdlib.h>
struct abc
{
char name[20];
int a,b,hap,average,rank;
};
int main()
{
FILE *in=fopen("input.txt","r");
if(in==NULL) { printf("파일없음"); return 0; }
struct abc s[100];
int i, j, n,r;
for(n=0;;n++)
{
i=fscanf(in,"%s %d %d",s[n].name,&s[n].a,&s[n].b);
if(i==EOF) break;
}
for(i=0;i<n;i++)
{
s[i].hap=s[i].a+s[i].b;
s[i].average=s[i].hap/2;
}
for(i=0;i<n;i++)
{
s[i].rank=1;
for(j=0;j<n;j++)
{
if(s[i].hap<s[j].hap) s[i].rank++;
}
}
printf("번호\t 이름 \t 합계\t평균\t석차 \t 막대 그래프 \n");
printf("--------------------------------------------------------------\n");
for(i=0;i<n;i++)
{
printf("%3d\t",i+1);
printf("%-8s ",s[i].name);
printf("%d\t",s[i].hap);
printf(" %d\t",s[i].average);
printf(" %d\t",s[i].rank);
for(j=0;j<s[i].average/5;j++)
{
printf("*");
}
printf("\n");
}
printf("--------------------------------------------------------------\n");
printf("\t총 인원수 : %d",n);
return 0;
}
반응형
'전공 공부 > C' 카테고리의 다른 글
숫자 연결 (0) | 2020.12.30 |
---|---|
피타고라스 (0) | 2020.12.28 |
파일 읽기(점수 평균 구하기) (0) | 2020.12.28 |
1.삽입, 2.종료, 3.삭제, 4.추가(함수, 구조체, 동적 메모리, 연결 리스트) (0) | 2020.12.28 |
m/n 소수 x자리까지 구하기 (0) | 2020.12.28 |