西邮C语言程序设计题

四,编写程序题。

  1. 编写程序,根据用户输入的长方形的长和宽,编写程序求长方形面积并输出。
  2. 编写程序,按照百分制成绩评定学生的等级,90-100分为A,75-89分为B,60-74分为C,60分以下为D,实现输入学生的百分制成绩,输出其对应的等级。
  3. 编写程序,判断一个数是否为素数。
  4. 用结构体数组存储职员信息,每个职员的数据项包含工号、姓名和电话。编写一个程序,输入每个职员的信息,按工号升序排序后,输出职员的全部信息。

(1) 程序源码:

#include <stdio.h>

int main() {
    double length, width, area;

    // 请求用户输入长方形的长和宽
    printf("请输入长方形的长: ");
    scanf("%lf", &length);
    printf("请输入长方形的宽: ");
    scanf("%lf", &width);

    // 计算面积
    area = length * width;

    // 输出面积
    printf("长方形的面积是: %.2f\n", area);

    return 0;
}

运行结果:

(2)程序源码:

#include <stdio.h>

int main() {
    int score;
    char grade;

    // 请求用户输入学生的百分制成绩
    printf("请输入学生的百分制成绩: ");
    scanf("%d", &score);

    // 根据成绩评定等级
    if (score >= 90 && score <= 100) {
        grade = 'A';
    } else if (score >= 75 && score <= 89) {
        grade = 'B';
    } else if (score >= 60 && score <= 74) {
        grade = 'C';
    } else if (score < 60) {
        grade = 'D';
    } else {
        // 输入的成绩不在合法范围内
        printf("输入的成绩不合法,请输入0到100之间的成绩。\n");
        return 1; // 使用非零值退出表示程序异常结束
    }

    // 输出学生的等级
    printf("学生的等级是: %c\n", grade);

    return 0;
}

 运行结果:

(3)程序源码:

#include <stdio.h>
#include <math.h>

int main() {
    int num, i;
    int isPrime = 1; // 假设num是素数,isPrime为1表示素数,0表示非素数

    // 请求用户输入一个数
    printf("请输入一个整数: ");
    scanf("%d", &num);

    // 负数、0和1不是素数
    if (num <= 1) {
        isPrime = 0;
    } else {
        for (i = 2; i <= sqrt(num); ++i) {
            if (num % i == 0) {
                isPrime = 0;
                break; // 一旦发现能被整除,则不是素数,跳出循环
            }
        }
    }

    // 根据isPrime的值判断num是否为素数
    if (isPrime == 1) {
        printf("%d 是素数。\n", num);
    } else {
        printf("%d 不是素数。\n", num);
    }

    return 0;
}

运行结果: 

 

(4)程序源码

#include <stdio.h>
#include <stdlib.h> // 引入头文件以使用malloc和free
#include <string.h>

typedef struct {
    int id;
    char name[50];
    char phone[20];
} Employee;

void sortEmployees(Employee *employees, int size);

int main() {
    int n, i;

    printf("请输入职员的数量: ");
    scanf("%d", &n);

    Employee *employees = (Employee *)malloc(n * sizeof(Employee)); // 动态分配内存

    if (employees == NULL) {
        printf("内存分配失败\n");
        return 1;
    }

    for (i = 0; i < n; i++) {
        printf("输入职员 #%d 的信息\n", i + 1);
        printf("工号: ");
        scanf("%d", &employees[i].id);
        printf("姓名: ");
        scanf("%s", employees[i].name);
        printf("电话: ");
        scanf("%s", employees[i].phone);
    }

    sortEmployees(employees, n);

    printf("\n职员信息(按工号升序):\n");
    for (i = 0; i < n; i++) {
        printf("工号: %d, 姓名: %s, 电话: %s\n", employees[i].id, employees[i].name, employees[i].phone);
    }

    free(employees); // 释放动态分配的内存

    return 0;
}

void sortEmployees(Employee *employees, int size) {
    int i, j;
    Employee temp;

    for (i = 0; i < size - 1; i++) {
        for (j = 0; j < size - 1 - i; j++) {
            if (employees[j].id > employees[j + 1].id) {
                temp = employees[j];
                employees[j] = employees[j + 1];
                employees[j + 1] = temp;
            }
        }
    }
}

 运行结果:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值