实验一
任务一
task1.c
源代码:
点击查看代码
// 打印一个字符小人
#include <stdio.h>
int main()
{
printf(" O \n");
printf("<H>\n");
printf("I I\n");
return 0;
}

task1_1.c
源代码:
点击查看代码
//打印一个字符小人
#include <stdio.h>
int main()
{
printf(" 0 0\n");
printf("<H> <H>\n");
printf("I I I I\n");
return 0;
}

task1_2.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;
}

任务二
源代码:
点击查看代码
// 从键盘上输入三个数据作为三角形边长,判断其能否构成三角形
// 构成三角形的条件: 任意两边之和大于第三边
#include <stdio.h>
int main()
{
double a, b, c;
scanf("%lf%lf%lf", &a, &b, &c);
if(a+b>c && b+c>a && a+c>b)
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(),将会影响运行结果,getchar()的作用是吸收回车,让ans1拿到结果后点击回车,能继续进行下一个问题的提问使用户回答,如果删掉,程序不等用户输入第二个问题,直接就判断结束了。
结论:当需要用户回答一个问题后继续进行下一个问题的回答时,要在两行问题代码中间加入一行getchar()。
任务四
源代码:
点击查看代码
// 计算10亿秒约等于多少年,并打印输出
#include <stdio.h>
#include <math.h>
int main()
{
int year;
year=round(1000000000.0/(365*24*60*60));
printf("10亿秒等于%d\n",year) ;
return 0;
}

任务五
源代码:
点击查看代码
//摄氏温度转换成华氏温度
#include <stdio.h>
int main()
{
double c,f;
scanf("%lf",&c);
f=double(9*c/5+32);
printf("摄氏度c = %.2f时,华氏度f = %.2f\n\n",c,f);
return 0;
}



任务六
源代码:
点击查看代码
//用海伦公式计算三角形面积
#include <stdio.h>
#include <math.h>
int main()
{
int a,b,c;double s,x;
scanf("%d%d%d",&a,&b,&c);
s=double((a+b+c)/2.0);
x=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a = %d,b = %d,c = %d,x = %.3f\n",a,b,c,x);
return 0;
}



实验总结
在此次实验中,我觉得代码无意识打错是小问题,真正头疼的是如何利用所学知识编撰出可运行的代码以及语法上的错误,比如:
- 强制转换写法错误
s=double((a+b+c)/2);
(a+b+c)/2:a,b,c 是 int,整数除法,会直接舍去小数!
正确写法:s = (a + b + c) / 2.0; - 变量类型错误
s、x(面积)是小数,不能定义成 int 整型,要改成 double。
int s,a,b,c; → double s,x; int a,b,c; - sqrt' was not declared in this scope
sqrt() 求平方根函数,需要引入头文件 #include <math.h>
这些我犯下的错误都对应了所学知识,是我在实践中疏忽掉了,在报错后检查发现错误有了更深刻的认识。
浙公网安备 33010602011771号