下篇继续点赞,谢谢老铁,不存在下次一定的哈!

c语言简单判断质数的方法

int isprime(int a){
if(a==) return ;
else if(a%==||a==||a==) return ;
else {
for(int i=;i<=sqrt(a);i++){
if(a%i==) return ;
}
}
return ;
}

复制了记得点赞哦!

后续会更新线性筛法求质数!

记忆搜索法

记忆搜索法就是把算过的数据记录到数组中,如果之前访问过此数据点,直接拿来用就可以了,减少了重复计算,这在后续学习DP很有用!
 

一道能够体现初学者智慧的题目

给定任意n,输出边长为n的菱形图形。

聪明的读者可以尝试一下哦!

#include <stdio.h>
#include <math.h>
int main()
{
int n, x, y, t, g;
scanf("%d", &n);
for (y = -(n - );y <= (n - );y++)
{//将数学的思维带入C语言中,做成了线性规划,实在牛逼!!!!
for (x = -(n - );x <= (n - );x++)
{
t = abs(x);
g = abs(y);
if (t + g <= (n - )) printf("*");
else printf(" ");
}
printf("\n");
}
return ;
}

复制了记得点赞哦!

此题充分利用了双重循环+限制条件。

再来一个变形题,那么这一次都应该会了吧!

做无心菱。

if(t+g==(n-)) printf("*");//改改限制条件就好了!

感谢关注!!!

字典排序

字典序法中,对于数字1、2、3......n的排列,不同排列的先后关系是从左到右逐个比较对应的数字的先后来决定的。例如对于5个数字的排列12354和12345,排列12345在前,排列12354在后。按照这样的规定,5个数字的所有的排列中最前面的是12345,最后面的是54321。

首先普及一个知识点(摘自百度百科)

extern int strcmp(const char *s1,const char *s2);
当s1<s2时,返回为负数;
当s1=s2时,返回值= 0;
当s1>s2时,返回正数。
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。

下面给出代码:

#include<stdio.h>
#include<string.h>
char ch[][] = { "a","ac","ab","aeg","aef" };
void order() {//用了选择排序,其实就是按ASCII码从小到大排序
char temp[];
for (int i = ;i < ;i++) {
int a = i;
for (int j = i + ;j < ;j++) {
if (strcmp(ch[a], ch[j]) > ) a = j;
//后面的字符比前面的大
}
if (a != i) {
strcpy(temp, ch[a]);
strcpy(ch[a], ch[i]);
strcpy(ch[i], temp);
}
}
}
//排序记住一个原则就好了,用尽所有手段让其回到它该在的位置,这对于后面的快速排序很有帮助。 int main() {
order();
for (int i = ;i < ;i++) {
printf("%s ", ch[i]);
}
return ;
}

觉得可以就点个赞吧!

使用int类型的数据保存字符串数字

for(c=1;c<=m;c++)
{
for(d=1;d<=n;d++)
{
scanf("%1d",&mapp[c][d]);
}
}

求三个数中的最大值

#include<stdio.h>
int main(){
int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
max=a;
if(max<b) max=b;
if(max<c) max=c;
printf("%d",max);
return 0;
}

简单升级版

int compare(int a,int b,int c){
int r;
r=a>b?a:b;
return r>c?r:c;
}

推荐给你的朋友们吧!

用递归求n!

#include<stdio.h>
int main()
{
int fac(int n);
int n,y;
printf("输入一个整数阶乘:");
scanf("%d",&n);
y = fac(n);
printf("%d!=%d\n",n,y);
return ;
} int fac(int n)
{
int f;
if(n<)
printf("n<0,数据错误");
else if(n == ||n == )
f = ;
else f = fac(n-)*n;
return(f);
}

感谢关注!!!

求N个数 的最小公倍数

普及知识点:最小公倍数=两整数的乘积÷最大公约数

全是干货!

求汉字数量

先来做一个例题测测你水不水!

http://www.51cpc.com/problem/4025

题解:

https://www.cnblogs.com/Attacking-vincent/p/12721895.html

涨知识了吧!

数学思维经典题

试统计正整数n的阶乘n!=1×2×3×…×n尾部连续零的个数。

提交题目点:http://www.51cpc.com/problem/4018

这题用模拟的思路写的话代码可能很长,但是用数学的思维去想的话代码还是很简单滴。

个人题解:https://www.cnblogs.com/Attacking-vincent/p/12767434.html

小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。 小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。 你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。 本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。

提交题目点:http://www.51cpc.com/problem/4051

这题用数学公式一下就写出来了,用正常代码写就不一定咯。

看看我的题解,告诉你,如何在不知道数学公式的情况下,写出这题。

个人题解:https://www.cnblogs.com/Attacking-vincent/p/12769142.html

喜欢就点个推荐或者收藏吧!

【启蒙】C笔记之初学阶段(下篇)的更多相关文章

  1. [JS学习笔记]Javascript事件阶段:捕获、目标、冒泡

    当你在浏览器上点击一个按钮时,点击的事件不仅仅发生在按钮上,同时点击的还有这个按钮的容器元素,甚至也点击了整个页面. 事件流 事件流描述了从页面接收事件的顺序,但在浏览器发展到第四代时,浏览器开发团队 ...

  2. 嵌入式Linux学习笔记之第一阶段---基础篇

    嵌入式Linux学习分五个阶段 第一阶段: 01嵌入式环境搭建初期 02C语言语法概述 03C语言内存操作 04c语言函数 05linux基础 06gun基础 第二阶段: 01-linux之io系统编 ...

  3. React学习笔记-7-销毁阶段

    销毁阶段可以使用的函数:componentWillUnmount:在删除组件之前进行清理操作,比如计时器和事件监听器.因为这些函数都是开发者手动加上去的,react不知道,必须进行手动清理. 实例第一 ...

  4. 2. Linux-3.14.12内存管理笔记【系统启动阶段的memblock算法(2)】

    memory:表示可用可分配的内存: 结束完memblock算法初始化前的准备工作,回到memblock算法初始化及其算法实现上面.memblock是一个很简单的算法. memblock算法的实现是, ...

  5. 1. Linux-3.14.12内存管理笔记【系统启动阶段的memblock算法(1)】

    memblock算法是linux内核初始化阶段的一个内存分配器(它取代了原来的bootmem算法),实现较为简单.负责page allocator初始化之前的内存管理和分配请求. 分析memblock ...

  6. 读书笔记-Android初学笔记

    Eclipse [ADT] 源 https://dl-ssl.google.com/android/eclipse Notice that no matter what scenario causes ...

  7. ThinkPHP项目笔记之RBAC(权限)下篇

    接着谈谈:添加用户以及用户管理列表 e.添加用户

  8. NodeJs学习记录(五)初学阶段关于ejs和路由

    1.因为只是用了一点皮毛,所以使用起来感觉基本和jsp无异, 逻辑代码块使用  <%  if() {} else  %> , 输出参数值使用 <%=title  %>, 有一个 ...

  9. NodeJs学习记录(四)初学阶段关于app.js里的一些重要配置

    app.set('views', path.join(__dirname, 'views')); 以上代码用于配置页面文件(例如 .ejs 文件)的根目录, 设置之后 访问 ./index 则等同于访 ...

随机推荐

  1. OpenCV-Python 相机校准 | 四十九

    目标 在本节中,我们将学习 由相机引起的失真类型, 如何找到相机的固有和非固有特性 如何根据这些特性使图像不失真 基础 一些针孔相机会给图像带来明显的失真.两种主要的变形是径向变形和切向变形. 径向变 ...

  2. 关于用命令行和idea对项目打jar包

    前提说一下,我们一般是对编译后的项目进行打包,不然打包后还得自己去重新编译class文件. 假如这是你的一个项目目录: 我们要写一个简单的计算器工具类项目,然后对他进行打包, idea里面out文件夹 ...

  3. nginx IF 指令

    变量名可以使用"="或"!="运算符 ~ 符号表示区分大小写字母的匹配 "~*"符号表示不区分大小写字母的匹配 "!"和 ...

  4. 读者来信 | 设置HBase TTL必须先disable表吗?(已解决)

    今日有朋友加好友与我探讨一些问题,我觉得这些问题倒挺有价值的:于是就想在本公众号开设一个问答专栏,方便技术交流与分享,专栏名就定为:<读者来信>.如遇到本人能力有限难以解决的问题,该贴将会 ...

  5. python:列表切片知识的总结

    列表的切片操作时对其中的单个或者多个索引对应元素的操作,具有如下特点: ①.切片区间是左闭右开区间 ②.切片的下标可以表示负数,-1表示倒数第一个数,-2表示倒数第二个数 ③.默认步长是1,可增加第三 ...

  6. 搭建mariadb数据库系统《一》

                                                                     搭建mariadb数据库系统 案例3:搭建mariadb数据库系统 3 ...

  7. 单芯片DP108USB声卡/音频解决方案完全替代CM108/CM108AH

    简介 DP108是一种高度集成的单芯片USB音频解决方案.所有重要的模拟模块嵌入DP108,包括双DAC和耳机放大器,ADC和麦克风助力器,锁相环,调节器,和USB收发器.许多功能与跳线或外部EEPR ...

  8. centos 64位安装jpeg-6b

    先安装libtool和libtool-ltdl-devel 用find命令查找config.sub和config.guess文件 find / -name config.sub find / -nam ...

  9. Vulnhub DC-4靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #扫网段看看存活的主机,找到靶机 nmap -sS -Pn -A 192.168.146.141 可以看到开放了22和80端口,那么就可以 ...

  10. wireshark抓包实战(七),数据流追踪

    方法一 选中一个包,然后右键选择 "追踪流" ==> "xx流" 方法二 选中某个数据包后,点击 "分析" ===> " ...