写在前面
1、基于2021级计算机类实验指导书
2、代码仅提供参考
3、如果代码不满足你的要求,请寻求其他的途径
运行环境
window11家庭版
CLion 2023.2.2
实验要求、源代码和运行结果
1、修改程序,分析运行结果。
#include <stdio.h>
int main() {
int a, b, x, y;
a = 1;
b = 1;
x = a++;
y = ++b;
printf("a=%d, b=%d, x=%d, y=%d\n", a, b, x, y);
return 0;
}
分析:
a=2
表示a
的初始值为 1,经过a++
后的值变为 2。b=2
表示b
的初始值为 1,经过++b
后的值也变为 2。x=1
表示x
的值是a++
的结果,即先将a
赋给x
,再将a
的值加 1。y=2
表示y
的值是++b
的结果,即先将b
的值加 1,再将增加后的b
赋给y
。
2、将“China”译成密文。加密规律:用原字母之后的第四个字母代替原来的字母。例如字母“A”后面的第四个字母是“E”,就用E代替A。“China”就变成“Glmre”。
(1)画出流程图,输入已经事先编好的程序,并运行。
(2)把China改成Today来做测试。
(3)完成上述编码的解码逆向操作,即解码。
#include <stdio.h>
#include <string.h>
int main() {
char input[] = "Today";
char encrypted[100];
char decrypted[100];
// 加密
int length = strlen(input);
for (int i = 0; i < length; i++) {
char character = input[i];
if (character >= 'A' && character <= 'Z') {
encrypted[i] = ((character - 'A' + 4) % 26) + 'A';
} else if (character >= 'a' && character <= 'z') {
encrypted[i] = ((character - 'a' + 4) % 26) + 'a';
} else {
encrypted[i] = character; // 非字母字符不做加密
}
}
encrypted[length] = '\0'; // 添加字符串结尾标志
// 输出加密结果
printf("加密后的字符串为:%s\n", encrypted);
// 解密
for (int i = 0; i < length; i++) {
char character = encrypted[i];
if (character >= 'A' && character <= 'Z') {
decrypted[i] = ((character - 'A' - 4 + 26) % 26) + 'A';
} else if (character >= 'a' && character <= 'z') {
decrypted[i] = ((character - 'a' - 4 + 26) % 26) + 'a';
} else {
decrypted[i] = character; // 非字母字符不做解密
}
}
decrypted[length] = '\0'; // 添加字符串结尾标志
// 输出解密结果
printf("解密后的字符串为:%s\n", decrypted);
return 0;
}
流程图
3、请用自增/自减操作计算女鞋尺码对应的厘米长度。请注意女鞋尺码控制在35-40码。转化公式:厘米=(尺码+10)/2。
#include <stdio.h>
int main() {
int shoeSize = 35;
int cmLength;
while (shoeSize <= 40) {
cmLength = (shoeSize + 10) / 2;
printf("女鞋尺码 %d 码对应的厘米长度为 %d cm\n", shoeSize, cmLength);
shoeSize++;
}
return 0;
}