目录
一、从键盘输入一些字符,逐个把他们送到磁盘上去,直到用户输入#为止
二、输入连续几个正整数n和m,求其最大公约数和最小公倍数
三、将‘China’翻译成密码,密码规律是:用原来的字母后面第4个字符代替原来的字母
一、从键盘输入一些字符,逐个把他们送到磁盘上去,直到用户输入#为止
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fe;
char ch;
fe=fopen("test.txt","w");
if(fe!=NULL)
{
printf("打开文件成功!");
while ((ch = getchar()) != '#') {
// 将字符写入文件
fputc(ch, fe);
}
fclose(fe);
}
return 0;
}
以下是文件的打开方式:
打开文件后要对文件进行具体的操作,以下为文件的读写函数
功能 | 函数名 |
---|---|
字符输入函数 | fgetc |
字符输出函数 | fputc |
文本行输入函数 | gets |
文本行输出函数 | fputs |
格式化输入函数 | fscanf |
格式化输出函数 | fprintf |
二进制输入 | fread |
二进制输出 | fwrite |
二、输入连续几个正整数n和m,求其最大公约数和最小公倍数
此处已在前面的文章中出现过,详情请见C语言日常练习Day5
三、将‘China’翻译成密码,密码规律是:用原来的字母后面第4个字符代替原来的字母
注意:
- 字母表是循环的,即'z'的下一个字符是'a'。
- 我们需要区分大小写,因为大写字母的“后面”字符也是大写,小写字母的“后面”字符也是小写。
“China”按照给定的密码规律翻译成密码后是“Glmre”
代码如下:
#include <stdio.h>
// 注意:这里不需要声明两次函数,只需要在文件顶部声明一次(除非有特别的需要)
char translatedChar(char ch);
char translatedChar(char ch)
{
if (ch >= 'A' && ch <= 'Z') {
// 如果是大写字母
return (ch - 'A' + 4) % 26 + 'A';
} else if (ch >= 'a' && ch <= 'z') {
// 如果是小写字母
return (ch - 'a' + 4) % 26 + 'a';
} else {
// 如果不是字母,则直接返回原字符
return ch;
}
}
int main() {
char word[] = "China";
int i = 0;
while (word[i] != '\0') {
char translated = translatedChar(word[i]);
printf("%c", translated); // 打印转换后的字符
i++;
}
printf("\n");
return 0;
}
运行结果如下: