📌  相关文章
📜  AKTU第一学年第一学期解题纸2015-16 | COMP。系统和C编程|秒(1)

📅  最后修改于: 2023-12-03 14:59:12.889000             🧑  作者: Mango

AKTU第一学年第一学期解题纸2015-16 | COMP。系统和C编程|秒

本文主要介绍2015-16年AKTU第一学年第一学期解题纸中有关计算机系统和C编程的部分。以下是主要内容:

计算机系统

题目:写一个程序,输出系统中的CPU数和每个CPU的处理器类型。

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/sysinfo.h>

int main()
{
    int num_cpus = get_nprocs();
    printf("Number of CPUs: %d\n", num_cpus);

    struct sysinfo info;
    if(sysinfo(&info) != 0)
    {
        fprintf(stderr, "Failed to get sysinfo\n");
        exit(EXIT_FAILURE);
    }

    printf("Processor type: %s\n", info.machine);

    return 0;
}

解释:该程序使用get_nprocs()函数获取系统中的CPU数,并使用sysinfo()函数获取系统信息。获取到的信息包括每个CPU的处理器类型,通过结构体sysinfo中的machine成员获取。需要注意的是,sysinfo()函数的返回值为0表示成功获取系统信息。

C编程

题目:写一个程序,将输入的字符串中的小写字母转换为大写字母。

#include <stdio.h>
#include <ctype.h>

int main()
{
    char str[100];

    printf("Enter a string: ");
    fgets(str, sizeof(str), stdin);

    for(int i = 0; str[i]; i++)
    {
        if(islower(str[i]))
        {
            str[i] = toupper(str[i]);
        }
    }

    printf("\nUpper-cased string: %s\n", str);

    return 0;
}

解释:该程序使用fgets()函数读取输入的字符串,使用islower()函数判断字符串中的字母是否为小写字母,如果是则使用toupper()函数将其转换为大写字母。需要注意的是,需要在字符串的末尾添加一个\0作为字符串的结束标志。