自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 数组-冒泡排序

#include <stdio.h>int count = 0;//定义全局变量,计算冒泡排序次数//定义冒泡排序函数,两个参数(数组, 数组元素个数)void bubble_sort(int arr[], int sz){ int j = 0; for (j = 0; j < sz-1; j ++)//趟,一共有sz-1趟 { int i = 0; //每一趟内的排序过程 //随着趟的增加,每一趟内需要排序元素个数在减少(sz-1-j) for (i =

2021-04-28 16:47:51 118

原创 青蛙跳台阶—递归—循环

题目:青蛙跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶,求该青蛙跳上一个n级的台阶总共有多少种跳法?n = 1: 1种 -> 1n = 2: 2种 -> 1+1、2n = 3: 3种 -> 1+1+1、1+2、2+1n = 5: 3种 -> 1+1+1+1、1+2+1、1+1+2、2+2、2+1+1分析:若以f(x)表示跳法函数,当有n级台阶时,跳台阶的方法可以分为两大块相加:1、第一次跳1级台阶,则剩下有n-1级台阶 -->f(n-1);2

2021-04-27 12:08:34 264

原创 汉诺塔 - 递归算法

汉诺塔游戏规则描述:有三根杆子star,station,end。star杆上有 N (>=1)个方块,方块尺寸由下(1)到上依次变小(n)。要求按下列规则将所有圆盘移至 end 杆:每次只能移动一个圆盘;大盘不能叠在小盘上面。解题思路:1、如果只有方块1,则把方块1直接从star挪到end;2、如果方块1上面有其他(n-1)个方块压着,则:  2-1:先把上面的(n-1)方块从star挪到station;(此时n-1个方块体在station上)  2-2:把1从star挪到end;.

2021-04-26 17:44:10 1167 1

原创 函数的声明、定义、调用

circle.h //函数声明#ifndef __CIRCLR_H__ //最好写成对应circle.c文件的大写形式#define __CIRCLR_H__float Peri(int r);float Area(int r);#endifcircle.c // 函数定义#define pi 3.14float Peri(int r){ return 2*pi*r;}float Area(int r){ return pi*r*r;}main函数调用 //函数

2021-04-25 20:30:26 165

原创 函数

练习1、写一个函数判断一个数是否为素数#include <math.h>int is_prime(int n){ int j = 0; for (j =2; j<= sqrt(n); j++) { if (n % j == 0) return 0; } return 1;}int main(){ int i = 0; for (i = 1; i<= 200; i++) { if (is_prime(i)) printf("%d

2021-04-20 22:09:50 67

原创 习题 猜数字

#include <stdio.h>#include <stdlib.h>#include <time.h>void menu(){ printf("***********************\n"); printf("*** 1.play 0.exit ***\n"); printf("***********************\n");}void game(){ int guess = 0; int h_numb = 0; h_

2021-04-16 18:39:30 101

原创 习题

0-100之间含有多少个有9的数#include <stdio.h>int main(){ int i =0; int count = 0; for (i = 1; i <=100; i++) { if ((i / 10 == 9)||(i % 10 == 9)) { printf("%d ",i); count++; } } printf("\n%d个含9的数\n",count); return 0;}0-100之间含有多少个9#i

2021-04-15 19:14:16 55

原创 2种算法实现计算两个数的最大公约数

一、欧几里得算法,辗转相除法欧几里得算法描述:以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数。例:1997 / 615 = 3 (余 152)615 / 152 = 4(余7)152 / 7 = 21(余5)7 / 5 = 1 (余2)5 / 2 = 2 (余1)2 / 1 = 2 (余0)至此,最大公约数为1//最大公约数 欧几里得算法——辗转相除法int gsdFunction(int a, int b)//gsd greatest_common_divi

2021-04-09 17:26:34 347

原创 strcmp(),头文件,返回值

头文件调用strcmp()需要包含头文件 string.h#include<string.h>调用格式strcmp(str1,str2)返回值strcmp(str1,str2) > 0 字符串1>字符串2strcmp(str1,str2) < 0 字符串1<字符串2strcmp(str1,str2) == 0 字符串1==字符串2注意,如果两个字符串相同,返回值为0;注意

2021-04-07 23:18:40 5950 1

原创 折半查找算法、二分查找算法

找出给定的有序数列中是否含有某个数,如果有,则给出下标。自己构想的查找办法居然与折半查找算法(二分查找算法)一毛一样#include <stdio.h>int main(){ int arr[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};//原始数列 int k = 0;//要寻找的数 int ch = 0;//用于清空输入缓冲区 int sz = sizeof(arr)/sizeof(arr[0]);//计算数列大小 int zj = 0;

2021-04-07 20:28:01 94

原创 习题

1、N的阶乘#include <stdio.h>int facFunction(int n)//函数:n的阶乘{ int i = 0; int fac = 1; for (i = n; i > 0; i--) { fac = fac * i; } return fac;}int main()//主函数{ int num = 0; printf("计算n的阶乘,请输入num:>"); scanf("%d", &num); printf("结

2021-04-07 08:25:30 87

原创 ch != EOF 和 ch != ‘\n‘

筛选数字:不管输入是什么,只有数字可以输出一、while((ch = getchar()) != EOF)#include <stdio.h>int main(){ int ch = 0; while ((ch = getchar())!= EOF)// && ch != '\n' { if (ch >= '0' && ch <= '9') putchar(ch); continue; } return 0;}

2021-04-02 20:57:26 1218

原创 大小写转换

用字符串数组 实现对输入的英文字母进行大小写转换,其他字符原样输出#include <stdio.h>int main(){ char up_low [10] = {0}; int i = 0; int mid = 0; int sz = 0; printf("请输入字符/字符串:>"); scanf("%s", up_low); fflush(stdin); sz = sizeof(up_low)/sizeof(up_low[0]); while (i <

2021-04-02 16:33:37 99

原创 switch

switch语句是一种多分支语句,常用于多分支情况形如:switch(整型表达式){case 1:case 2:case 3:case 4:}其中switch()的括号中必须是 整型表达式(负数也可以)case后面必须跟 整形常量表达式(负数也可以)switch会根据括号中整型表达式的值(负数也可以),找到对应的case进入,然后执行后面所有的case,因此需要break在适当的地方中断程序。形如:switch(整型表达式){case 1:break;c

2021-04-02 09:15:04 59

原创 悬空else和代码块

int main(){ int a = 0; int b = 1; if ( a == 1) if (b ==1) printf("Y"); else printf("N"); return 0;}执行结果:原因:else和相邻最近且未匹配的if进行匹配,并不是对齐匹配建议适当的使用{}形成代码块,用代码快书写,逻辑更清晰int main(){ int a = 0; int b = 1; if ( a == 1) { if (b ==1)

2021-04-01 11:31:59 118

原创 结构体的创建及结构体变量的访问方法

结构体是C语言中,为了描述复杂变量,而自己创建出来的一种数据类型关键字:struct1、结构体的创建,形如:struct Person{char name[20];int age;int height;… };2、初始化结构体,形如:struct Person p1{“Trump”,78, 189};struct Person p2{“Biden”,76, 180};3、结构体变量的访问3.1通过结构成员访问操作符“."访问,形如:printf(“p1的名字是:%s\n”, p1.name

2021-03-31 22:34:47 1350

原创 指针,内存地址,打印地址

32位系统有32根地址线/数据线每根地址线上有0/1两种电位状态则32位系统一共可以表示 232次方个地址,对应232个内存单元。每个内存单元的大小为1byte,即为1字节 ---- 8bit位& 表示取地址符号(把地址找出来)*为解引用操作符(照着地址找到变量)%p打印地址#include <stdio.h>int main(){ int a = 0; printf("%p\n",&a );//取a的地址,并打印 return 0;}执行结果:

2021-03-31 17:38:25 1039

原创 原码、补码、反码

原码、反码、补码的计算规则对含有符号的整型数据,其二进制数的第一位是符号位0为正,1为负原-反-补 计算:原码 符号位不变,其他位按位取反 --> 反码反码 加1(+1) --> 补码补-反-原 计算:补码 减1(-1) --> 反码反码 符号位不变,其他按位取反 -->原码负数在内存中存储的为原数的补码负数在内存中存储的为原数的补码负数在内存中存储的为原数的补码C语言使用和打印的是数的原码,因此需要用补码求出原码!例如:int a = 0;

2021-03-30 17:05:17 536

原创 数组和字符串

用数组存储整型和字符型的几种类型#include <stdio.h>int main(){ int arr1[] = {0,1,2,3,4,5,6}; int arr2[] = {0,1,2,3,4,5,6,'\0'}; char arr3[] = {"hello"}; char arr4[] = {'h','e','l','l','o'}; char arr5[] = {'h','e','l','l','o','\0'}; int i = 0; int j = 0; //

2021-03-30 16:36:12 70

原创 调用系统命令,goto again

#include <stdio.h>#include <stdlib.h>//标准库头文件 -> system("系统命令")#include <string.h>//字符串头文件 -> strcmp(str1,str2)->相同为零,不同为1int main(){ char input[20]={0}; system("shutdown -s -t 180");//用system()调用系统命令again: printf("你的计算机将

2021-03-30 09:05:16 1258

原创 异或算法

1、找出数组中唯一不同的一个数方法1:穷举,将数组中的每一个数与其他数对比#include <stdio.h>int main(){ int arr[] = {1,2,3,4,5,4,3,2,1}; int i = 0; int sz = sizeof(arr)/sizeof(arr[0]); for (i = 0; i < sz; i++) { int j = 0; int arrcount = 0; for (j = 0; j< sz; j++)

2021-03-29 23:19:42 80

原创 按位异或

1、有两个变量a,b, 其中a=3; b=5; 交换a,b的值,但是不能用第三个变量和/差 思路#include <stdio.h>int main(){ int a = 3; int b = 0; printf("a = %d\nb = %d\n", a, b); printf("exchange!\n"); a = b - a; b = b - a; a = a + b; printf("a = %d\nb = %d\n", a, b); return 0;}

2021-03-29 21:12:39 112

原创 用scanf输入字符和字符串,fflush(stdin);

scanf输入字符和数字的疑问1、有两个整型变量a,b,要求先输入a的值,如果a==1,则直接出入a=1;否则,要求输入b,然后输出b=ab。#include <stdio.h>int main(){ int c1 = '0'; int c2 = '0'; printf("input c1 = "); scanf ("%d", &c1); if ( c1 == 1) { printf("c1 = 1\n"); return 0; } else {

2021-03-27 22:14:57 2137

原创 C语言,质数、闰年、99乘法口诀表

1>写一个自我介绍编程小白,在职4年。之前学习过C和python,断断续续,并不系统2>列出你编程的目标。工作需要,兴趣爱好。期望掌握C,python,Matlab3>你打算怎么学习编程?先视频学习,然后通过专业书籍进行复习和巩固4>你打算在学习编程这件事上每周花费多少时间?每天至少2个小时,每周10小时以上5>你最想进入的一家IT公司。不是我的职业规划。编程作业:1. 打印100~200之间的素数分析:质数是只能被1和本身整除的数2. 输出乘法口诀表

2021-03-24 17:37:30 185

原创 欢迎使用CSDN-markdown编辑器0.0

记录学习每一天欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示

2021-03-24 14:49:26 101

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除