首页 > 其他分享 >实验1

实验1

时间:2023-09-29 20:13:12浏览次数:31  
标签:10 main return int 实验 printf include

四、实验结论

1.实验任务1

task1_1

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

 

 

task1_2

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

 

 

2.实验任务2

task2

 1 #include<stdio.h>
 2 int main()
 3 {
 4     float a,b,c;
 5     
 6     scanf("%f%f%f",&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     return 0;
15 }

 

 

 

3.实验任务3

task3

 1 #include<stdio.h>
 2 int main()
 3 {
 4     char ans1, ans2;
 5     
 6     printf("每次课前认真预习,课后及时复习了没?(输入y或Y表示有,输入n或N表示没有):");
 7     ans1 = getchar();
 8     
 9     getchar();
10     
11     printf("\n动手敲代码了没?(输入y或Y表示敲了,输入n或N表示木有敲:");
12     ans2 = getchar();
13     
14     if ((ans1=='y'||ans1=='Y')&&(ans2=='y'||ans2=='Y'))
15        printf("\n罗马不是一天建成的,继续保持哦:)\n");
16        
17     else
18        printf("\n罗马不是一天毁灭的,我们来建设吧\n");
19        
20     return 0;
21 }

 结果:Line9去掉后,在第一问输入结束回车后,输出问题二且无法输入字符,输出“罗马不是一天毁灭的,我们来建设吧”,程序结束。

原因:getchar()从输入缓存区中读取一个字符。第一次输入时实为'Y''\n',所以应在第二问前增加一条getchar();读取\n,使缓存区清空。第二次输入就能正常读取。

 

4.实验任务4

task4

 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); //应为%lf 
15     printf("x=%f,y=%lf\n",x,y);
16     
17     return 0;
18 }

 

 

5.实验任务5

task5

 1 #include<stdio.h>
 2 #include <math.h>
 3 
 4 int main()
 5 {
 6    int year;
 7 
 8    year=pow(10,9)/(60*60*24*365)+0.5;
 9 
10    printf("10亿秒约等于%d年\n",year);
11    
12    return 0;
13 }

 

 

6.实验任务6

task6_2

 

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

 

 

7.实验任务7

task7

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

 

 

8.实验任务8

task8

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

 

 

五、实验总结

总体过程较为顺利,巩固了已有知识,学习到了为何要加一行getchar();的原因。

 

但也暴露出以下缺点:

1.对基本数据类型不熟悉,int,float等数字转换有些吃力,调试时花了较长的时间;

2.不熟悉循环结构;

3.小细节难重视,在不经意间写出不合规范的表达,如scanf()常漏&;

 

也收获了一些感悟:

1.比起理论,动手实践更能检验知识的掌握度。我在编写程序的过程中一步步熟悉流程,编写的速度得到了提升;

2.更应回到最初的定义,如掌握getchar()的定义后才能解释task3中出现的问题,在出现问题时才能追本溯源;

 

这一次实验我还获得了程序成功运行的成就感,更有动力继续探索程序的世界。

标签:10,main,return,int,实验,printf,include
From: https://www.cnblogs.com/tjssj16/p/17735894.html

相关文章

  • 实验1 C语言输入输出和简单程序的编写
    #include<stdio.h>intmain(){printf("0\n");printf("<H>\n");printf("II\n");return0;}#include<stdio.h>intmain(){printf("0\n");printf("<H>\n"......
  • 实验任务3
     ......
  • 实验任务2
    #include<stdio.h>intmain(){floata,b,c;scanf("%f%f%f",&a,&b,&c);if((a+b)>c)printf("能构成三角形\n");elseprintf("不能构成三角形\n");return0;} ......
  • 实验1
    实验一实验任务11--1源代码1#include<stdio.h>2intmain()3{45printf("O\n");6printf("<H>\n");7printf("II\n");8printf("O\n");9printf("<H>\n"......
  • 实验一
    task1-1源代码:#include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("||\n");printf("O\n");printf("<H>\n");printf("||\n");......
  • 实验一
    #include<stdio.h>#include<stdlib.h>#include<time.h>#include<iostream>usingnamespacestd;intmain(){/*task1-1*/for(inti=0;i<=1;i++){printf("O\n");printf("<H>\......
  • 实验一 c语言输入输出和简单程序编写
    task1.c源代码#include<stdio.h>#include<stdlib.h>intmain(){printf("o\n");printf("<H>\n");printf("II\n");return0;}运行结果#include<stdio.h>intmain(){printf("......
  • 实验一
    任务1.1代码1#include<stdio.h>2intmain()3{4printf("O\n");5printf("<H>\n");6printf("II\n");78printf("O\n");9printf("<H>\n");10printf("......
  • 实验1
    //打印一个字符小人#include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");return0;}  1#include<stdio.h>23intmain()4{floata,b,c;5scanf(&q......
  • 实验一
    #include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");return0;} #include<stdio.h>intmain(){floata,b,c;scanf("%f%f%f",&a,&......