实验一

一、实验结论

任务一

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 \t O\n");
 printf("<H>\t<H>\n");
 printf("I I\tI I\n");

 return 0;
} 

预期效果

任务二

task2.c

 1 #include <stdio.h>
 2 int main() 
 3 {
 4 double a, b, c;
 5 
 6 scanf("%lf%lf%lf", &a, &b, &c);
 7 
 8  if(a+b>c && a+c>b && b+c>a){
 9      printf("能构成三角形\n");
10  }
11  else{
12      printf("不能构成三角形\n");
13  }
14 
15 return 0;
16 }

预期效果

任务三

task3.c

#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' ) ){
     printf("\n罗马不是一天建成的, 继续保持哦:)\n");
 }else{
     printf("\n罗马不是一天毁灭的, 我们来建设吧\n");
 }
 return 0;
}

预期效果

回答问题

去掉line9之后输入字符后回车程序就运行结束了,getchar()接收到了字符回车,直接继续运行接下来的程序了

任务四

task4.c

 1 #include<stdio.h>
 2 int main()
 3 {
 4  double x, y;
 5  char c1, c2, c3;
 6  int a1, a2, a3;
 7  
 8  scanf("%d%d%d", &a1, &a2, &a3);//修改
 9  printf("a1 = %d, a2 = %d, a3 = %d\n", a1,a2,a3);
10  
11  scanf("%c%c%c", &c1, &c2, &c3);
12  printf("c1 = %c, c2 = %c, c3 = %c\n", c1, c2, c3);
13  
14  scanf("%lf,%lf", &x, &y);//修改
15  printf("x = %f, y = %lf\n",x, y);
16  return 0;
17 }

预期效果

任务五

task5.c

 1 // 计算10亿秒约等于多少年,并打印输出
 2 #include <stdio.h>
 3 
 4 int main() 
 5 {
 6  int year;
 7  double time=1e9;// 补足代码
 8 
 9  year=round(time/(60*60*24*365));// ×××
10  printf("10亿秒约等于%d年\n", year);
11  return 0;
12 }

预期效果

任务六

task6.c

 1 #include <stdio.h>
 2 #include <math.h>
 3 int main()
 4 {
 5  double x, ans;
 6  while(scanf("%lf", &x) != EOF){
 7      ans = pow(x, 365);
 8     printf("%.2f的365次方: %.2f\n", x, ans);
 9  }
10 
11 
12  return 0;
13 }

预期效果

任务七

task7.c

 1 #include <stdio.h>
 2 #include <math.h>
 3 int main()
 4 {
 5  double c, f;
 6  while(scanf("%lf", &c) != EOF){
 7      f=9*c/5 +32;
 8     printf("摄氏度c = %.2f时,华氏度f = %.2f\n", c, f);
 9  }
10 
11 
12  return 0;
13 }

预期效果

任务八

task8.c

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

预期效果

 

二、实验总结

在进行编程的过程中,很好的复习了所学内容中一些很琐碎的知识点,例如:getchar()的特殊作用,双引号和单引号不能混淆,float和double的区别。之前一直都在学习python,所以写程序的时候脑子容易乱,希望慢慢熟练的编写c语言程序。

posted @ 2024-09-25 23:08  张朦丹  阅读(15)  评论(0编辑  收藏  举报