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

news/2025/3/10 20:48:19/文章来源:https://www.cnblogs.com/u3612611/p/18759620

任务1:

源代码:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 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     system("pause");
13         return 0;
14 }

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

任务二:

源代码:

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

任务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 
12     printf("\n动手敲代码实践了没?(输入y或Y表示敲了,输入n或N表示木有敲):");
13     ans2 = getchar();
14 
15     if((ans1 == 'y' || ans1 == 'Y') && (ans2 == 'y' || ans2 == 'Y'))
16         printf("\n罗马不是一天建成的,请继续保持哦:)\n");
17     else
18         printf("\n罗马不是一天毁灭的,我们来建设吧\n");
19 
20     return 0;
21 }

回答问题:

运行结果:

原因:

在回答第一个问题并按下回车键后,输入缓冲区中不仅有用户输入的字符(如 y 或 n ),还有一个换行符 \n 。
原本第九行的 "getchar(); "作用就是读取并丢弃这个换行符,这样 "ans2 = getchar();" 就能等待用户输入并获取到正确的字符。去掉第九行后, ans2 = getchar(); 就会直接读取到换行符,从而造成程序运行结果异常。

任务4:

源代码:

 1 #include<stdio.h>
 2 #include<stdlib.h>
 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     scanf("%c%c%c", &c1, &c2, &c3);
13     printf("c1 = %c, c2 = %c, c3 = %c\n", c1, c2, c3);
14      
15     scanf("%lf,%lf", &x, &y);//应输入%lf而不是%f
16     printf("x = %f, y = %lf\n",x, y);
17 
18     
19     system("pause");
20     return 0;
21 }

任务5:

源代码:

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

任务6:

源代码:

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

任务7:

源代码:

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

任务8:

源代码:

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

 

实验总结:

有些在课上没听懂的知识点或者是被忽略掉的一些小点在自己编写程序的过程中就搞懂了,很有成就感。写完所有程序再回过头检查前几个程序,就发现了很多细节错误,比如漏加分号或者右侧花括号,但是后几个比较熟练就没有再出现这种低级错误了。现存问题就是对于没见过的程序会没有思路不知道怎么写,需要翻书或者借助AI工具提供思路,也许在后面的学习中,这些问题就会迎刃而解了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/895576.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某考核wp

就这样抱着胸中的苦痛,前往没有你的未来My Blog robots.txt进level1.php <?php error_reporting(0); highlight_file(__FILE__); $text = $_GET["text"]; $file = $_GET["file"]; if(isset($text)&&(!preg_match("/php/",$text))…

L1G3-浦语提示词工程实践

L1G3-浦语提示词工程实践 1. 提示工程 1.1 什么是提示词 根据大模型的应用领域,可以把提示词分为五类。其中,“文本生成”提示词是最基础最重要的。 提示词是调用生成式AI能力的基础接口。提示词调用生成式AI能力的两个阶段如下:大模型词元预测的原理:获取输入文本,模型处…

【Azure Storage Account】利用App Service作为反向代理后续 ---- 隐藏 SAS Token

问题描述前文提要:【Azure Storage Account】利用App Service作为反向代理, 并使用.NET Storage Account SDK实现上传/下载操作在前几天的实验中,使用了App Service作为反向代理,把默认的存储账号的域名修改为自定义的域名后,在 .NET Storage Account SDK中实现常规的上传/…

opera打不开任何网页

正文 opera的外观非常惊艳,给我一种新颖的感觉,直到我发现任何网页都打不开。 找到下面这个文件 C:\Users\acer\AppData\Roaming\Opera Software\Opera Stable\Local State使用你喜欢的任何编辑器打开,比如vscode。 搜索country修改如下字段 {"country":"US&…

Easyexcel(6-单元格合并)

EasyExcel在数据导出时,自定义单元格合并功能极大地增强了数据的可读性和组织性。通过 WriteSheet 对象,用户可以轻松实现单元格合并,指定合并区域的起始和结束行列,从而将相关信息整合在一起。注解 @ContentLoopMerge 用于设置合并单元格的注解,作用于字段上eachRow:每隔…

7-8-10阅读 91-129

7 - P91 けさ図書館へ行きました。図書館で太郎ちゃんに会いました。太郎ちゃんといっしょにビデオを見ました。わたしは旅行の本を借りました。あしたは日曜日です。あさ旅行の本を読みます。ごごデパートへ行きます。はなを買います。ははの誕生日のプレゼントです。 中文翻…

力扣第118题-杨辉三角

题目描述 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例 2:输入: numRows = 1 输出: [[1]]提示: 1 <= numRows <=…

CMOS版图学习笔记(1)

img { max-width: 60% } CMOS 版图知识预备 1. 版图效应 CMOS 版图设计前,需要了解一下版图设计中的影响效应。 版图效应的四大主要来源分别是:阱邻近效应(Well Proximity Effect, WPE)、浅槽隔离应力效应(Shallow Trench Isolation, STI)、氧化层长度扩散效应(Length of Oxi…

SSH远程登录

1.用途 利用SSH安全协议进行会话登录 攻防中登录本队靶机进行服务维护、源码修复、漏洞修补,AWD平台通过SSH端口提供源码下载和防御部署功能 也可利用其他队伍靶机的SSH漏洞(如弱密码、私钥泄露、协议缺陷)获取初始权限 2.安装 SSH分为客户端 openssh-client 和服务器 opens…

go学习笔记——gin限流

如果想在Gin Web服务中实现限流功能,可以使用ulule/limiter,uber-go/ratelimit 1.ulule/limiter ulule/limiter是一款支持分布式限流的框架,其可以在Redis中存储和共享限流状态,从而在分布式环境中实现一致的限流逻辑。 ulule/limiter基于令牌桶(Token Bucket)算法,因为…

xor WriteUp(动态分析)

WriteUp 题目信息 名称:xor.exe 分类:Reverse 描述:使用动态分析,找到程序的flag题目链接: https://pan.baidu.com/s/1u8bGbKcUF6_gLaw63L3jyA?pwd=h8r5 提取码: h8r5解题思路 首先使用DIE对文件查壳,发现这是一个无壳的32位程序。于是用32位IDA打开该文件进行反汇编,并…