软件协会第01次活动第02次任务布置:初识C语言与C语言三大基本结构

⭐️ 软件协会第01次活动第02次任务布置

📍 来自:中南林业科技大学软件协会学术部:谢添,樊东升

⏲ 时间:2022 - 10 - 23

🏠 官网:https://www.csuftsap.cn/

💬 任务布置说明:

  • 上传一张来自gitee腾讯云cos阿里云oss的图床,学会一种方式上传即可。
  • 题目考察范围:初识C语言与三大基本结构
  • 所有答案均放在我所写的空代码块空引用框

💬 一些话:这是软件协会第一次代码训练,以下给出的都是经典题目,希望大家都做一做,另外,进阶训练可能现在来说对大家有点难度,但不要怕,你不会就应该去学习。这些题都是你以后会多次碰见的,那为什么不现在就掌握呢?千万不要去抄别人的代码,一定要自己能独立的写出来,软件协会做这些都是希望大家的能力能够真正的提升,如果有什么不理解的地方最好先独立思考再问。加油,你是最棒的。🚀

1.图床任务

为什么要设置图床,图床是什么

你们传给我们的.md文档如果存在图片,你们能看到图片是因为Typora这个软件引用了你们图片本地的地址,然后显示了这张图片,但是当这个文档发送给其他人,他们的电脑上并没有这张图片,那么其他人是看不到你在文档上上传的图片。这时候我们就想到,为什么我们可以看到网络上的图片,这是因为图片被上传网络上,PicGo可以定位到网上这张图片并且显示。

那么我们也可以把图片传到网上,并且把这个图片的地址写到Typora,如此一来,我们不就可以把文档发送给别人的同时别人也可以看到这张图片了吗?

那么我们如何上传到网上呢?百度云盘吗?百度云盘肯定是不可以的,因为他们做了加密处理,这时候我们就需要寻找图床,图床就是网络图片保存的位置,网络上 图床有免费的有收费的,免费的一般访问速度慢,体验不好。

📍 我们给大家提供三种方案,让大家能够上传图片这三种方式各有优点,可自行选择:

  • 方案1:使用gitee当图床,首先是完全免费的,gitee图床是网上免费图床里面体验算是最好的了,因为服务器在中国,不过半年前gitee加了防盗链,让这个图床变得不太稳定。

    🏠 gitee配置图床教程链接点击这里,查看教程

  • 方案2:使用腾讯云cos对象存储,这个是要钱的,如果个人使用大概一年的成本是15元左右。

    🏠 cos配置图床教程链接点击这里,查看教程

  • 方案3:使用阿里云oss对象存储,这个是要钱的,如果个人使用如果只是加载图片大概一年的成本是9元左右,如果需要下载其中的图片或文件需要额外付费,但也不会很多。

    🏠 oss配置图床教程链接点击这里,查看教程

👇 学习完以后需要完成以下任务!!

💬 上传一张图片在下面的引用框中,图片路径在 giteecos对象存储oss对象存储中选择一个即可

2.初识C语言

💬 很多理论性的东西也许你不知道,所以你去学习了,但一定不要直接copy,一定要根据自己学习后的对这个知识点的理解用自己的话总结出来。做这些都是希望大家能够真正提升自己对代码的理解。

2.1 用自己的话谈谈对#include<stdio.h>的理解与程序为什么需要这个头文件

2.2 用自己的话谈谈为什么程序一定要main函数

2.3 为什么在vs中直接使用scanf会报错

3.顺序结构

📝 讨论以下代码,有没有问题,如果有问题,请说明有几处错误及对应原因,并写出正确的完整代码。

#include<math.h>
int main()
{
  scanf_s("请输入一个整数:%lf",&temp);
  int sum = temp + temp;
  printf("sum = %d",&temp);
  return 0;
}

问题分析:

👇 修改后的正确代码


4.分支结构

4.1 一元二次方程求解

📝 根据下面给出的求根公式,计算并输出一元二次方程 a x 2 x^2 x2+bx+c=0 的两个实根,要求精确到小数点后4位。其中a,b,c的值由用户从键盘输入。如果用户输入的系数不满足求实根的要求,输出错误提示 “error!”。

预览大图

  • 输入格式: %lf,%lf,%lf
  • 输出格式
    1. 如果存在解则输出:x1=%.4lf, x2=%.4lf\n
    2. 如果不存在解则输出错误提示信息:error!

💬 提醒

/*
	变量定义:
	a,b,c代表一元二次方程的系数
	x1,x2代表两个解
*/
double a,b,c,x1,x2

//一个双精度浮点数保留小数点后四位输出
printf("%.4lf",a);

👇 答案代码


4.2 成绩等级

📝 给出一百分制成绩,输入一个成绩,要求输出成绩等级A、B、C、D、E。 90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E,如果输入数据不在0~100范围内,请输出一行:“Score is error!”。请使用 switch 语句完成任务。

  • 输入:从键盘输入一个整型成绩。
  • 输出
    1. 如果输入数据在0到100范围内:输出一个字符,表示成绩等级。
    2. 如果输入数据不在0~100范围内,请输出一行:“Score is error!”。

👇 答案代码


5.循环结构

5.1 求sn=a+aa+aaa+aaaa+…的值

键盘输入正整数a和n,求 s=a+aa+aaa+aaaa+aa…a(n个a)的值。例如:

  • a=2 ,n=5时,表示计算由2组成的数的和:2+22+222+2222+22222 ( 此时 共有5个数相加)。
  • 输入:5 3 表示3个由5组成的数相加,即计算5+55+555的值,输出:615
  • 输入:5 4 表示计算5+55+555+5555的值,输出:6170

👇 答案代码


5.2 闰年

📝 从键盘输入任意年份year,判别该年份是否闰年。

  • 输入:从键盘任意输入一个年份 。
  • 输出:根据是否为闰年进行输出,是输出"是闰年!“,否输出"不是闰年!”。

👇 答案代码


6.进阶练习

💬 掌握了上面的题是基础,接下来的两题才是开拓代码思维的时候,如果你并不会做,也希望去问别人或者bi站上找视频学习,祝你好运!

6.1 冒泡排序

📝 从键盘输入五个整数按从小到大的顺序输出。

  • 输入格式

    printf("请输入三个整数:");
    scanf("%d %d %d %d %d",&a,&b,&c,&d,&e);
    
  • 输出格式

    printf_s("从小到大排列为:%d,%d,%d,%d,%d",a,b,c,d,e);
    

👇 答案代码


6.2 斐波拉契数列

📝 斐波拉契数列:1,1,2,3,5,8,13,21,34,55…根据这个规律求斐波拉契数列的第n个元素值

  • 输入格式

    scanf_s("%d",&n);
    
  • 输出格式

    printf("第 %d 个数为:%d",n,value);
    

👇 答案代码


6.3 最大公约数

📝 求两个正整数的最大公约数

  • 输入格式

    scanf_s("%d %d",&a,&b);
    
  • 输出格式

    printf("两个数的最大公约数为:%d",result);
    

📍 提示:辗转相除法

image-20221023154207854

👇 答案代码


🔖 小结

🏠 了解更多关注软协官网:https://www.csuftsap.cn/

💚 来自软件协会编辑,注册会员即可获取全部开源.md资源,请勿转载,归软件协会所有。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是谢添啊

感谢你的支持,我会继续加油的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值