1. (10分) 编写函数int isprime(int m),判断某一个数是否是一个素数。调用该函数求解1~500之间的素数,并每行输出5个。
代码:
#include <stdio.h>
// 函数原型
int isprime(int m);
int main() {
// 在1到500之间寻找素数并每行输出5个
int count = 0;
for (int i = 1; i <= 500; i++) {
if (isprime(i)) {
printf("%d ", i);
count++;
// 每行输出5个素数
if (count % 5 == 0) {
printf("\n");
}
}
}
return 0;
}
// 判断某一个数是否是素数
int isprime(int m) {
if (m <= 1) {
return 0; // 不是素数
}
for (int i = 2; i * i <= m; i++) {
if (m % i == 0) {
return 0; // 不是素数
}
}
return 1; // 是素数
}
运行结果:
2. (10分) 编写程序实现下面功能:将一行字符中的每个单词的第一个字母改成大写,并将处理结果保存在文件”d:\\program\\result.txt”中。
仿真代码:
#include <stdio.h>
#include <ctype.h>
int main() {
char line[1024]; // 假设输入的行不会超过1024个字符
printf("请输入一行文字:");
fgets(line, sizeof(line), stdin); // 从标准输入读取一行
// 处理字符串,将每个单词的首字母大写
int new_word = 1; // 标记是否为新单词的开始
for (int i = 0; line[i] != '\0'; i++) {
if (new_word && isalpha(line[i])) { // 检查是否为字母
line[i] = toupper(line[i]); // 转换为大写
new_word = 0; // 已经处理过,不再是新单词的开始
} else if (line[i] == ' ' || line[i] == '\n' || line[i] == '\t') {
new_word = 1; // 遇到空格或换行,下一个字符是新单词的开始
}
}
// 写入文件
FILE *file = fopen("d:\\program\\result.txt", "w");
if (file != NULL) {
fputs(line, file);
fclose(file);
} else {
printf("无法打开文件进行写入\n");
}
return 0;
}
运行结果: