实验1_C语言输入输出和简单程序应用编程

实验任务1:

task1.c

源代码:

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_1.c

源代码:

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

运行结果:

task1_2.c

源代码:

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   
8   return 0;
9 }

运行结果:

 

 

实验任务2:

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   // 补足括号里的逻辑表达式
 9   if(a+b>c&&a+c>b&&b+c>a)
10     printf("能构成三角形\n");
11   else
12     printf("不能构成三角形\n");
13   return 0;
14 }

运行结果:

 

 

实验任务3:

task3.c

源代码:

 1 #include <stdio.h>
 2 int main()
 3 {
 4     char ans1, ans2; 
 5     printf("每次课前认真预习、课后及时复习了没? (输入y或Y表示有,输入n或N表示没有) : ");
 6         ans1 = getchar(); // 从键盘输入一个字符,赋值给ans1
 7     getchar(); // 思考这里为什么要加这一行。试着去掉这一行,看看对运行有没有影响。
 8     printf("\n动手敲代码实践了没? (输入y或Y表示敲了,输入n或N表示木有敲) : ");
 9     ans2 = getchar();
10     if ((ans1 == 'y' || ans1 == 'Y') && (ans2 == 'y' || ans2 == 'Y'))
11         // 待补足,判断用户回答ans1和ans2都是小写y或大写Y
12         printf("\n罗马不是一天建成的, 继续保持哦:)\n");
13     else
14         printf("\n罗马不是一天毁灭的, 我们来建设吧\n");
15     return 0;
16 }

运行结果:

回答问题:

getchar() 函数的使用是为了处理用户输入时留下的换行符(即消耗换行符)

 

 

实验任务4:

源代码:

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

错误:line9  a1a2a3前加&       line15  f改为lf

运行结果:

 

 

实验任务5:

task5.c

源代码:

1 #include <stdio.h>
2 int main()
3 {
4     int year; 
5     year = (1000000000 + 15768000) / 31536000; 
6     printf("10亿秒约等于%d年\n", year); 
7     return 0;
8 }

运行结果:

 

 

实验任务6:

task6_2.c

源代码:

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

运行结果:

 

 

实验任务7:

task7.c

源代码:

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

运行结果:

 

 

实验任务8:

task8.c

源代码:

 1 #include <stdio.h>
 2 #include <math.h>
 3 
 4 int main()
 5 {
 6     double a, b, c, s, S;
 7 
 8     while (1) 
 9     {
10         printf("请输入三角形的三条边:\n");
11         scanf_s("%lf%lf%lf", &a, &b, &c);
12 
13         s = (a + b + c) / 2;
14         S = sqrt(s * (s - a) * (s - b) * (s - c));
15 
16         printf("三角形面积为: %.2f\n", S);
17         printf("\n");
18     }
19 
20     return 0;
21 }

运行结果:

 

 

实验总结:

1.while语句的应用

比如:while (scanf_s("%lf", &c) != EOF)      (实验7)

还有其他形式:

while (1)
{
printf("请输入三角形的三条边:\n");
scanf_s("%lf%lf%lf", &a, &b, &c);        (实验8)

等等

2.四舍五入的不同表达

比如:a = a+0.5;

还有其他形式:

printf("三角形面积为: %.2f\n", S); 

S = round(S * 100) / 100; 

S = customRound(S, 2); 等等

 

3.重复输入的不同表达

 1 #include <stdio.h>
 2 
 3 int main() {
 4     double a, b, c;
 5 
 6     while (1) { 
 7         printf("请输入三角形的三条边(输入非数字结束):\n");
 8         if (scanf_s("%lf%lf%lf", &a, &b, &c) != 3) {
 9             printf("输入无效,程序结束。\n");
10             break; 
11         }
12         printf("\n");
13     }
14 
15     return 0;
16 }

或者:

 1 #include <stdio.h>
 2 
 3 int main() {
 4     double a, b, c;
 5     char choice;
 6 
 7     do {
 8         printf("请输入三角形的三条边:\n");
 9         scanf_s("%lf%lf%lf", &a, &b, &c);
10 
11         printf("是否继续输入?(y/n):");
12         scanf_s(" %c", &choice); 
13     } while (choice == 'y' || choice == 'Y'); 
14 
15     return 0;
16 }

当然还有:

while (scanf_s("%lf", &c) != EOF)等等

 

posted @ 2024-09-28 21:47  陈沫*  阅读(12)  评论(0编辑  收藏  举报