实验1
任务1:
源代码task1-1.c:
#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; }
测试运行截图:
源代码task1-2.c:
#include <stdio.h> int main() { printf(" o o\n"); printf("<H> <H>\n"); printf("I I I I\n"); return 0; }
运行测试截图:
任务2:
task2源代码:
// 从键盘上输入三个数据作为三角形边长,判断其能否构成三角形 // 构成三角形的条件: 任意两边之和大于第三边 #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; }
测试运行截图:
任务3:
task3源代码:
#include <stdio.h> int main() { char ans1, ans2; // 保存用户输入的答案 printf("每次课及时预习/复习了没? (是-输入y或Y, 否-输入n或N) : "); ans1 = getchar(); // 从键盘输入一个字符,赋值给ans1 getchar(); // 去掉这一行,重新编译运行,观察是否影响程序结果 printf("\n动手敲代码实践了没? (是-输入y或Y, 否-输入n或N) : "); ans2 = getchar(); if ((ans1=='y'||ans1=='Y')&&(ans2=='y'||ans2=='Y')) // 待补足,判断ans1和ans2都是y(大小写均可) printf("\n罗马不是一天建成的, 继续保持哦:)\n"); else printf("\n罗马不是一天毁灭的, 我们来建设吧\n"); return 0; }
运行测试截图:
回答问题:去掉之后输入y和回车会直接跳出罗马不是一天毁灭的,因为回车直接被读入了下一个getchar,中间加的getchar是为了把这个回车吃掉
任务4
task4源代码:
// 计算10亿秒约等于多少年,并打印输出 #include <stdio.h> int main() { int year; year=1000000000/24/365/3600; // 补足代码 // ××× printf("10亿秒约等于%d年\n", year); return 0; }
运行测试截图:
任务5
task5源代码:
// 摄氏温度转换成华氏温度 #include <stdio.h> int main() { double c, f; scanf("%lf", &c); f=c*1.8+32; // 待补足: 摄氏温度-> 华氏温度 // xxx printf("摄氏度c = %.2f时, 华氏温度f = %.2f\n\n", c, f); return 0; }
运行测试截图:
任务6
task6源代码:
#include <stdio.h> #include<math.h> int main() { double a,b,c,s,S; scanf("%lf%lf%lf",&a,&b,&c); s=(a+b+c)/2; S=sqrt(s*(s-a)*(s-b)*(s-c)); printf("%.3lf\n",S); return 0; }
运行测试截图:

浙公网安备 33010602011771号