
笔记
司空长风
这个作者很懒,什么都没留下…
展开
-
蓝桥杯练习,查找数字
#include<stdio.h>#define n 1000//宏定义int main(){ int a[n];//定义数组和需要的变量 int m, b, c; scanf("%d", &m);//输入第一行 for (b = 0; b < m; b++) //使用for循环来输入要输入的m个值 { scanf("%d ", &a[b]); } int find; scanf("%d"原创 2022-01-25 22:18:37 · 511 阅读 · 0 评论 -
蓝桥杯练习题,特殊的回文数
问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。#include<stdio.h>int main(){ long i = 0; int a, b, c, d, e, f;//定义需要使用的变量 int n; scanf("%d", &n);//输入数字 for (i = 10000; i < 1000000; i++)//采用单个for循环限定范围1原创 2022-01-24 19:44:37 · 302 阅读 · 0 评论 -
打印一个杨辉三角形
代码是根据蓝桥杯的要求编写的,有不一样的地方可以自己调试#include<stdio.h>int main(){ int n, i, j;//定义需要使用的变量 int arr[34][34] = {};//题目要求小于34 scanf("%d", &n);//输入n for (i = 0; i < n; i++)//使用二维数组来打印 { for (j = 0; j <= i; j++) { if (j == 0 || j == i)//控制两原创 2022-01-23 19:40:02 · 531 阅读 · 0 评论 -
写一个1-100的求和
#include<stdio.h>int main(){ int i = 1; int sum = 0; do { sum = sum + i; i++; } while (i <= 100); printf("sum=%d\n", sum); return 0;}运行结果原创 2022-01-21 22:32:59 · 349 阅读 · 0 评论 -
π的近似值计算,代码如下
#include<stdio.h>#include<math.h>//调用绝对值函数int main(){ int sign = 1; double pi = 0.0; double term = 1.0; int n = 0; while (fabs(term) >= 1e-8)//fabs()是绝对值函数 { n++; term = 1.0 / (2 * n - 1) * sign; pi = pi + term; sign = -sign原创 2022-01-20 16:51:42 · 354 阅读 · 0 评论 -
输出二十组斐波那契数字
#include<stdio.h>int main(){ int a = 1, b = 1; int i; for (i = 1; i <= 10; i++)//输出20组斐波那契数 { printf("%10d%10d%", a, b); if (i % 2 == 0) printf("\n"); a = a + b; b = b + a; } return 0;}原创 2022-01-19 21:49:43 · 221 阅读 · 0 评论 -
对数组里面的元素,用函数实现冒泡排序
代码部分#include<stdio.h>void bubble_seort(int arr[], int sz)//冒泡排函数{ int i = 0;//定义元素下标 for (i = 0; i < sz - 1; i++)//开始循环 { int j = 0; for(j=0;j<sz-1-i;j++)//定义一个j来比较数组里面的元素 { if (arr[j] > arr[j + 1])//交换元素顺序,实现冒泡排序 { int原创 2022-01-18 21:44:07 · 691 阅读 · 0 评论 -
采用函数循环和递归的方式求n的阶乘
函数for循环#include<stdio.h>int Facl(int n){ int ret = 1; int i = 0; for (i = 1; i <= n; i++)//使用for循环 { ret *= i; } return ret;}int main(){ int n = 0; int ret = 0; scanf_s("%d", &n); ret=Facl(n); printf("ret=%d\n", ret); retur原创 2022-01-17 19:56:18 · 468 阅读 · 0 评论 -
实现无符号数的顺序打印
#include<stdio.h>void print(int n)//函数实现情况{ if (n > 9)//以1234为例 { print(n / 10);//递归方法,函数自己调用自己1234/10得到123 } printf("%d ", n % 10);//第一次模10得到4,第二次模10得到3,同理得到2和1}int main(){ unsigned int num = 0;//打印无符号数,按照顺序打印它的每一位 scanf_s("%d", &am原创 2022-01-16 16:54:46 · 365 阅读 · 0 评论 -
实现两个数的交换
#include<stdio.h>void Swap(int* pa, int* pb){ int tmp = 0; tmp = *pa; *pa = *pb; *pb = tmp;}int main(){ int a = 10; int b = 20; Swap(&a, &b); printf("a=%d b=%d\n",a,b); return 0;}代码比较简单,没有写注释。需要注意的是不能直接用x,y来转换,需要取地址和指针来实现。.原创 2022-01-10 21:20:31 · 294 阅读 · 0 评论 -
用函数来比较两个值的大小
#include<stdio.h>int Max(int x,int y)//Max函数实现{ if(x>y)//运用选择语句 return x;//如果x大就返回x else return y;//同理}int main(){ int a=0;//定义两个变量 int b=0; scanf("%d%d",&a,&b);//输入两个比较值 int max=0; max=Max(a,b);//Max为比较函数 printf("最大值是%d\n原创 2022-01-09 18:58:58 · 966 阅读 · 0 评论 -
用C语言写一个整蛊的关机程序
代码没有写注释,都是基础#include<stdio.h>#include<string.h>#include<stdlib.h>int main(){ char input[20]={0}; system("shutdown -s -t 60");again: printf("请注意,你的电脑将在1分钟后关机,如果输入:我是猪,就取消关机\n请输入>:"); scanf("%s",input); if(strcmp(input,"我是猪")=原创 2022-01-08 19:43:22 · 336 阅读 · 0 评论 -
打印一个九九乘法表
使用for循环打印一个九九乘法表#include<stdio.h>int main(){ int a=0; for(a=1;a<=9;a++)//a代表有九行 { int b=1;//利用b来控制列数 for(b=1;b<=a;b++)//b<=a是来做一个每一行输出多少列 { printf("%d*%d=%-2d ",a, b, a*b);//%-2d是为了格式对齐 } printf("\n");//格式换行 } return 0;原创 2022-01-07 20:38:59 · 418 阅读 · 0 评论 -
hello world还有这种写法
用while循环来实现hello world 从两边往中间逐渐显示,代码学习于比特。想看效果的可以去运行一下。#include<stdio.h>#include<string.h>//调用strlen()函数#include<windows.h>//调用Sleep()函数#include<stdlib.h>//调用system()函数int main(){ char arr1[]="Hello world!!!";//给定字符 char arr原创 2022-01-06 20:32:56 · 423 阅读 · 0 评论 -
利用二分法查找数字,代码实现如下
首先是要顺序的数字,如果乱序,可以先采用冒泡排序后,再采用二分法。如果嫌麻烦也可以看我昨天发的那个代码,但是对于大量数据就需要一定时间。二分法可以很快地完成✅#include<stdio.h>int main(){ int k=7;//给定查找值,也可以用scanf()自己输入 int arr[]={1,2,3,4,5,6,7,8,9,10};//给定一个有序的数组 int sz=sizeof(arr)/sizeof(arr[0]);//sz代表数组内有多少个元素 int left原创 2022-01-05 18:18:07 · 369 阅读 · 0 评论 -
在给定的数组里面查找数值
#include<stdio.h>int main(){ int arr[]={12,23,33,45,5,66,78,89,9,12,23};//定义一个数组并给值 int k; scanf("%d",&k);//由键盘输入想查找的数字 int i=0;//定义一个i用作比较 int ln=sizeof(arr)/sizeof(arr[0]);//计算出数组的大小 for(i=0;i<ln;i++)//for循环查找 { if(k==arr[i])//当输入原创 2022-01-04 19:04:59 · 535 阅读 · 0 评论 -
for循环和while循环在使用continue时的区别
使用for循环时,能正确打印1-10里面除了5的数字#include<stdio.h>int main(){ int a=0;//定义一个变量并赋值 for(a=1;a<=10;a++)//使用for循环输出1-10 { if(a==5)//进行判断 continue;//当a=5时,不继续执行printf,跳到for循环继续。 printf("%d ",a); } return 0;}但是在使用while循环时,会陷入一个死循环#include<原创 2022-01-03 18:41:06 · 404 阅读 · 0 评论 -
一元二次方程求解的情况,代码如下
关于一元二次方程中判断有没有解时,使用if 和 else来完成。#include<stdio.h>#include <math.h>int main(){ printf("分别输入a,b,c的值\n"); double a,b,c,pbs,x1,x2,p,q;//利用double定义各个变量。 scanf("%lf%lf%lf",&a,&b,&c);//输入方程的系数 pbs=b*b-4*a*c;//pbs为判别式 if(pbs>0)/原创 2022-01-02 19:14:52 · 511 阅读 · 1 评论 -
C语言中的switch和case语句
#include<stdio.h>int main(){ int n=1; int m=2; switch(n)//入口n=1时进入 { case 1: m++;//m=3 case 2: n++;//没有遇见break,所以继续执行case 2,n=2 case 3://同理 switch(n)//n=2,进入嵌套的switch,case 2 { case 1: n++; case 2: m++; n++; break;//m=原创 2021-12-31 16:47:20 · 3910 阅读 · 0 评论