Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Од стандарден влез се читаат податоци за непознат број студенти (не повеќе од
- 100). Податоците се внесуваат така што во секој ред се состои од:
- • името
- • презимето
- • бројот на индекс (формат xxyzzzz)
- • четири броја (поени од секоја задача)
- со произволен број празни места или табулатори меѓу нив.
- Да се напише програма која ќе испечати список на студенти, каде во секој ред
- ќе има: презиме, име, број на индекс, вкупен број на бодови сортиран според
- бројот на бодови. При тоа имињата и презимињата да се напишат со голема
- почетна буква.
- */
- #include <stdio.h>
- struct student {
- char ime[15];
- char prezime[15];
- int indeks;
- int bodovi;
- };
- typedef struct student student;
- void bukva(char *s) {
- *s = toupper(*s);
- while (*(++s) != '\0')
- *s = tolower(*s);
- }
- void sort(struct student a[], int n) {
- int i, j;
- struct student s;
- for (i = 0; i < n; i++)
- for (j = 0; j < n - i - 1; j++)
- if (a[j].bodovi < a[j + 1].bodovi) {
- s = a[j];
- a[j] = a[j + 1];
- a[j + 1] = s;
- }
- }
- int main (){
- student st[50];
- int n;
- scanf("%d",&n);
- for(int i=0;i<n;i++){
- scanf("%s",&st[i].ime);
- scanf("%s",&st[i].prezime);
- scanf("%d",&st[i].indeks);
- st[i].bodovi=0;
- int poeni;
- for(int j=0;j<4;j++){
- scanf("%d",&poeni);
- st[i].bodovi+=poeni;
- }
- bukva(st[i].ime);
- bukva(st[i].prezime);
- }
- sort(st,n);
- for(int i=0;i<n;i++){
- printf("%d %s %s %d %d",i+1,st[i].prezime,st[i].ime,st[i].indeks,st[i].bodovi);
- printf("\n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement