📅  最后修改于: 2023-12-03 14:59:12.889000             🧑  作者: Mango
本文主要介绍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表示成功获取系统信息。
题目:写一个程序,将输入的字符串中的小写字母转换为大写字母。
#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
作为字符串的结束标志。