51-----55

51.

#include<stdio.h>
#include<stdlib.h>

#define LEN sizeof(struct Student)

struct Student
{
    long num;
    float score;
    struct Student *next;
};

int n;

struct Student *creat(void)
{
    struct Student *head;
    struct Student *p1,*p2;
    n=0;
    p1=p2=(struct Student*)malloc(LEN);
    scanf("%ld,%f",&p1->num,&p1->score);
    head=NULL;
    while(p1->num!=0)
    {
        n=n+1;
        if(n==1)
            head=p1;
        else
            p2->next=p1;
        p2=p1;
        p1=(struct Student *)malloc(LEN);
        scanf("%ld,%f",&p1->num,&p1->score);
    }
    p2->next=NULL;
    return(head);
}

void print(struct Student *head)
{
    struct Student *p;
    printf("\nNow,These %d records are:\n",n);
    p=head;
    if(head!=NULL)
    do
    {
        printf("%ld %5.1f\n",p->num,p->score);
        p=p->next;
    }while(p!=NULL);
}

int main()
{
    struct Student *head;
    head=creat();
    print(head);
    return 0;
}


52.#include <iostream>
using namespace std;
struct person{
    int num;
    char name[10];
    char sex;
    char job;
    union {
        int classnum;
        char position[10];
    }category;
}person[100];
int main(){
    #ifdef ONLINE_JUDGE
    #else
        freopen("in.txt","r",stdin);
    #endif
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++) {
        scanf("%d %s %c %c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job);    
        if(person[i].job == 's') scanf("%d",&person[i].category.classnum);
        if(person[i].job == 't') scanf("%s",&person[i].category.position);        
    }
    for(int i=0;i<n;i++) {
        if(person[i].job == 's') printf("%d %s %c %c %d\n",person[i].num,&person[i].name,person[i].sex,person[i].job,person[i].category.classnum);    
        if(person[i].job == 't') printf("%d %s %c %c %s\n",person[i].num,&person[i].name,person[i].sex,person[i].job,person[i].category.position);    
    }
    return 0;

53.#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
int main() {
    enum Color
    {
        red, yellow, blue, white, black
    };
    enum Color i, j, k, pri;
    int n, loop;
    n = 0;
    for(i=red;i<=black;i++)//++这块有问题,程序无法运行
        for(j=red;j<=black;j++)
            if (i != j) {
                for(k=red;k<=black;k++)
                    if ((k != i) && (k != j)) {
                        n = n + 1;
                        printf("%-4d", n);
                        for (loop = 1; loop <= 3; loop++) {
                            switch (loop)
                            {
                            case 1:pri = i; break;
                            case 2:pri = j; break;
                            case 3:pri = k; break;
                            default:
                                break;
                            }
                            switch (pri)
                            {
                            case red:printf("%-10s", "red");
                                break;
                            case yellow:printf("%-10s", "yellow");
                                break;
                            case blue:printf("%-10s", "blue");
                                break;
                            case white:printf("%-10s", "white");
                                break;
                            case black:printf("%-10s", "black");
                                break;
                            default:
                                break;
                            }
                        }
                        printf("\n");
                    }
            }
    printf("\ntotal:%5d\n", n);
    return 0;
}
54.

#include <stdio.h>

void compare(int a, int b, int c) {
    int *p = &a;
    int *q = &b;
    int *r = &c;
    if (*p > *q && *q > *r) {
        printf("%d %d %d\n", a, b, c);
    } else if (*p > *r && *r > *q) {
        printf("%d %d %d\n", a, c, b);
    } else if (*q > *p && *p > *r) {
        printf("%d %d %d\n", b, a, c);
    } else if (*q > *r && *r > *p) {
        printf("%d %d %d\n", b, c, a);
    } else if (*r > *p && *p > *q) {
        printf("%d %d %d\n", c, a, b);
    } else if(*r > *q && *q > *p) {
        printf("%d %d %d\n", c, b, a);
    }

}


int main() {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    compare(a, b, c);
    return 0;
}
 

55.不会做

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值