实验1
任务一1.1
- 源代码
点击查看代码
#include <stdio.h>
int main()
{
printf(" O O\n");
printf("<H><H>\n");
printf("I II I\n");
return 0;
}
- 运行截图

任务一1.2
- 源代码
点击查看代码
#include <stdio.h>
int main()
{
printf(" O\n");
printf("<H>\n");
printf("I I\n");
printf(" O\n");
printf("<H>\n");
printf("I I\n");
return 0;
}
- 运行截图

任务二
- 源代码
点击查看代码
#include<stdio.h>
int main()
{
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
printf("能构成三角形\n");
else
printf("不能构成三角形\n");
return 0;
}
- 运行截图

任务三
- 源代码
点击查看代码
#include <stdio.h>
int main()
{
char ans1, ans2;
printf("每次课及时预习/复习了没?(是-输入y或Y,否-输入n或N):");
ans1 = getchar();
getchar();
printf("\n动手敲代码实践了没?(是-输入y或Y,否-输入n或N):");
ans2 = getchar();
if ((ans1 == 'y' || ans1 == 'Y') && (ans2 == 'y' || ans2 == 'Y'))
printf("\n罗马不是一天建成的,继续保持哦:)\n");
else
printf("\n罗马不是一天毁灭的,我们来建设吧\n");
return 0;
}
- 运行截图

问题
getchar() 读取缓冲区字符。输入Y再回车,缓冲区存了 Y 和 \n 。第9行本来是用来读走换行符;删掉后,下一个 getchar() 直接读到残留换行,直接判定,跳过输入。
但单个 getchar() 只能清理1个字符。如果输入 Y (Y加空格再回车),缓冲区有空格+换行,
任务四
- 源代码
点击查看代码

- 运行截图

任务五
- 源代码
点击查看代码

- 运行截图

任务六
- 源代码
点击查看代码

- 运行截图

实验总结
通过这次实验,我感受到到了编程的美丽以及在实际生活中的应用,我会在以后认真学习编程

浙公网安备 33010602011771号