实验1 C语言输入输出和简单程序编写

发布时间 2023-10-02 22:54:10作者: 臣子民

实验任务1

1.1代码

 1 // 打印一个字符小人
 2 
 3 #include <stdio.h>
 4 int main()
 5 {
 6     printf(" O \n");
 7     printf("<H>\n");
 8     printf("I I\n");
 9     printf(" O \n");
10     printf("<H>\n");
11     printf("I I\n");
12     
13     return 0;
14 }
15   

 

1.1运行结果

 

1.2代码

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 }

 

 

1.2运行结果

 

 

实验任务2

代码

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

 

运行结果

 

实验任务3

代码

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

运行结果

 

 

 

 

回答问题

getchar()消除回车符,使得下一次输入的y或者n可以被接收

实验任务4

 代码

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

运行结果

 

实验任务5

代码

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

运行结果

 实验任务6

代码

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

运行结果

 实验任务7

代码

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

运行结果

 实验任务8

代码

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

运行结果