实验1

任务1

1 #include <stdio.h>
2 int main()
3 {
4     printf(" o      o\n");
5     printf("<H>    <H>\n");
6     printf("I I    I I\n");
7     return 0;
8 }

屏幕截图 2026-10-17 101258

 1 include <stdio.h>
 2 int main()
 3 {
 4     printf(" o \n");
 5     printf("<H>\n");
 6     printf("I I\n");
 7     printf(" o \n");
 8     printf("<H>\n");
 9     printf("I I\n");
10     return 0;
11 }

屏幕截图 2026-10-17 101501

任务2

 1 / 从键盘上输入三个数据作为三角形边长,判断其能否构成三角形
 2 // 构成三角形的条件:任意两边之和大于第三边
 3 #include <stdio.h>
 4 
 5 int main()
 6 {
 7     double a, b, c;
 8     // 输入三边边长
 9     scanf("%lf%lf%lf", &a, &b, &c);
10 
11     // 判断能否构成三角形
12     // 补足括号里的逻辑表达式
13     if(a+b>c && a+c>b && b+c>a)
14         printf("能构成三角形\n");
15     else
16         printf("不能构成三角形\n");
17 
18     return 0;
19 }

屏幕截图 2026-10-17 101925

屏幕截图 2026-10-17 101903

任务3 

 1 #include <stdio.h>
 2 int main()
 3 {
 4     char ans1, ans2; // 保存用户输入的答案
 5 
 6     printf("每次课及时预习/复习了没?(是-输入y或Y,否-输入n或N):");
 7     ans1 = getchar(); // 从键盘输入一个字符,赋值给ans1
 8 
 9     getchar(); // 【line9】吸收回车换行符,去掉这一行,重新编译运行,观察是否影响程序结果
10 
11     printf("\n动手敲代码实践了没?(是-输入y或Y,否-输入n或N):");
12     ans2 = getchar();
13 
14     // 判断ans1和ans2都是y/Y,大小写均可
15     if( (ans1 == 'y' || ans1 == 'Y') && (ans2 == 'y' || ans2 == 'Y') )
16         printf("\n罗马不是一天建成的,继续保持哦:)\n");
17     else
18         printf("\n罗马不是一天毁灭的,我们来建设吧\n");
19 
20     return 0;
21 }

屏幕截图 2026-10-17 102400

问题分析:去掉 getchar(); 之后,输入第一个字符按下回车,回车符 \n 会被ans2接收,程序不会等待你输入第二个答案,直接执行后面的判断。

任务4

 1 // 计算10亿秒约等于多少年,并打印输出
 2 #include <stdio.h>
 3 #include <math.h>   // round函数需要这个头文件
 4 
 5 int main()
 6 {
 7     int year;
 8     // 补足代码
 9     double sec = 1000000000.0;
10     double res = sec / (365 * 24 * 60 * 60);
11     year = round(res);   // 四舍五入取整
12 
13     printf("10亿秒约等于%d年\n", year);
14     return 0;
15 }

屏幕截图 2026-10-17 103552

任务5

 1 // 摄氏温度转换成华氏温度
 2 #include <stdio.h>
 3 int main() {
 4     double c, f;
 5     scanf("%lf", &c);
 6 
 7     // 待补足:摄氏温度->华氏温度
 8     f = 9.0 / 5.0 * c + 32;  // 转换公式
 9 

 

10     printf("摄氏度c = %.2f时,华氏温度f = %.2f\n", c, f);
11     return 0;
12 }

屏幕截图 2026-10-17 103956

任务6

 1 #include <stdio.h>
 2 #include <math.h>
 3 int main()
 4 {
 5     double a,b,c,s,area;
 6     scanf("%lf %lf %lf",&a,&b,&c);
 7     s = (a + b + c) / 2.0;
 8     area = sqrt( s*(s-a)*(s-b)*(s-c) );
 9     printf("a = %.0f, b = %.0f, c = %.0f, area = %.3f\n",a,b,c,area);
10     return 0;
11 }

屏幕截图 2026-10-17 104152

 

posted @ 2026-10-17 10:47  NOVAIL  阅读(7)  评论(1)    收藏  举报