自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

迷路的小绅士之家

每天多学一点,离成功更近一点

  • 博客(28)
  • 收藏
  • 关注

原创 参数的传值方式与传地址方式

*函数调用时,实参向形参传值,根据值的不同,分为“传值方式”与“传地址方式”。*1. 比较参数的传值方式和传地址方式2. 传地址方式的应用场合(1)如果子函数调用后,有多个数值需要带回主调函数,就必须使用参数的传地址方式。 (2)如果子函数调用过程中,需要访问并修改主调函数中某些变量的值,就必须使用参数的传地址方式,此时应将主调函数中需要被修改的变量地址作为实参。3. 一维...

2017-11-28 12:18:16 2578

原创 实现一个函数,判断一个数是不是素数

#include<stdio.h>#include<math.h>int is_prime(int n){ for (int i = 2; i < sqrt(n); i++) { if (n%i == 0) { return 0;//不是素数返回0 } } r...

2017-11-26 15:44:05 384

原创 实现一个函数判断year是不是润年

#include<stdio.h>int is_leap(int n){ if (n % 4 == 0 && n % 100 != 0 || n % 400 == 0) { return 1;//是闰年返回1 } else { return 0;//不是闰年返回0 }}int main(){ int y

2017-11-26 14:49:08 372

原创 使用函数实现两个数的交换

#include&lt;stdio.h&gt;void Swap(int *x, int *y){ int temp = 0; temp = *x; *x = *y; *y = temp;}int main(){ int a = 2; int b = 3; Swap(&amp;a, &amp;b); printf("a=%d...

2017-11-26 14:17:19 1119

原创 实现一个函数,打印乘法口诀表

要求:口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。 **步骤:**1.根据要求写出主函数 2.将乘法口诀表的函数封装 #include&amp;lt;stdio.h&amp;gt;void mul(int x){ int i = 0, j = 0; for (i = 1; i &amp;lt;= x; i++)//控制行 { ...

2017-11-26 13:53:04 3049

原创 C语言的位运算符

按位运算符的运算规则: 1.将其左侧操作数的各二进制位左移若干位,移动的位数由其右侧操作数决定,左移时高位丢弃,低位补0。 10110011&lt;&lt;2得到11001100 2.将其左侧操作数的各二进制位右移若干位,移动的位数由其右侧操作数决定。无符号数右移时最高位补0。有符号数右移时,符号位随同移动,如果是正数,符号位为0,则最高位补0;如果是负数,符号位为1,则最高位补1。...

2017-11-22 12:47:06 328

原创 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?

#include&lt;stdio.h&gt;int bit_difference(int a, int b){ int tmp = 0; int num = 0; tmp = a^b;//去掉相同的二进制数,剩下的1即为不同的位 while (tmp) { num++; tmp = tmp&amp;(tmp - 1);/...

2017-11-21 23:58:52 271

原创 输出一个整数的每一位

#include<stdio.h>int main(){ int num = 0; int right = 0; printf("请输入一个整数\n"); scanf_s("%d", &num); printf("从低到高输出\n"); while (num>0) { right = num % 10;//最右边那位数

2017-11-21 21:36:46 390

原创 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列

解法一: 步骤: 1.将一个数转为二进制数 2.按照偶数位和奇数位输出#include &lt;stdio.h&gt;int main(){ int num = 0; printf("请输入数字:"); scanf("%d", &amp;num); int a[32]; int i = 0; for (i = 31; i &gt;= 0...

2017-11-21 21:16:33 266

原创 写一个函数返回参数二进制中 1 的个数

解法一:#include &lt;stdio.h&gt;int count_one_bits(int value){ int count = 0; for (int i = 0; i &lt; 32; i++) { if ((1 == ((value &gt;&gt; i) &amp; 1))) count++; }...

2017-11-21 19:55:42 176

原创 猜数字游戏

#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;time.h&gt;void menu(){ printf("*************************************************\n"); printf("******* 1.play ...

2017-11-21 19:17:38 317

原创 编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出

分析:接收键盘字符,则要用到getchar()函数;大,小写字符的相互转换则要访问ASCII代码值,并且依赖于while循环,所以要用到EOF#include<stdio.h>int main(){ int ch = 0; printf("请输入一个字符:\n"); while ((ch = getchar()) != EOF)//从键盘中获取一个字符,其ASCII代码值

2017-11-19 21:09:13 885

原创 编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误,可以重新输入,最多输入三次。三次均错,则提示退出程序

#include &lt;stdio.h&gt;#include &lt;string.h&gt;int main(){ char password[10] = { 0 };//定义一个数组来存放密码,此时的密码是个字符串 int i = 0; for (i = 0; i &lt; 3; i++) { printf("请输入密码\n"); ...

2017-11-19 20:03:54 6803

原创 折半查找

写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1. #include &lt;stdio.h&gt; int search(int arr[], int key, int left, int right)//封装一个函数用来调用{ while (left &lt;= right) { int mid = left + (righ...

2017-11-19 19:16:48 341

原创 打印半边菱形和菱形

思路:* *** ***** ******* ********* *********** ************* *********** ********* ******* ***** *** * 由图可知,这是对称图形,所以先取一半分析,另一半用同种方法解决; 现在只看1~7行,假设i为行数,j为每行星号的个数,当 i=1,j=1 i=2,j=3 ...

2017-11-18 13:19:29 1478

原创 求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字

**例如:**2+22+222+2222+22222 **分析:**22=2*10+2; 222=2*100+2*10+2=22*10+2; 后一项=前一项*10+2,所以这种方法可用#include&lt;stdio.h&gt;int main(){ int i = 0, a = 0, n = 0, Sn = 0,tmp = 0; printf("请输入一个数字...

2017-11-16 20:29:41 227

原创 求出0~999之间的所有“水仙花数”并输出

前提:明确“水仙花数”的含义 水仙花数:在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。 例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数: 153 = 1^3 + 5^3 + 3^3。 370 = 3^3 + 7^...

2017-11-16 20:00:23 253

原创 编写程序数一下 1到 100 的所有整数中出现多少次数字9

考点:对%和/的使用#include&lt;stdio.h&gt;int main(){ int i; int sum = 0; for (i = 1; i &lt;= 100; i++) { if (i%10==9)//9,19,29~99 { printf("%d\t", i); ...

2017-11-14 21:08:19 210

原创 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值

方法:由上式分母可以分为两种,分母为奇数和分母为偶数;分母为奇数的和减去分母为偶数的和就可以得出答案#include&lt;stdio.h&gt;int main(){ int i = 0; float sum = 0.0; for (i = 1; i &lt;= 100; i++)//利用循环输出100个数 { if (i % 2 == 0...

2017-11-14 20:23:00 915

原创 将数组A中的内容和数组B中的内容进行交换。(数组一样大)

考点:1.函数的自定义和调用 2.数组的输入和输出#include&lt;stdio.h&gt;void swap(int arr1[], int arr2[], int len)//自定义swap函数,这是swap函数的引用写法{ for (int i = 0; i &lt; len; i++) { int temp = arr1[i]; ...

2017-11-14 19:43:38 298

原创 辗转相除法求两个数的最大公约数

辗转相除法:设两数为a、b(a&gt;b),求a和b最大公约数(a,b)的步骤如下: 1. 用a除以b,得a÷b=q ……r 1(0≤r1)。若r 1=0,则(a,b)=b; 2. 若r 1≠0,则再用b除以r 1,得b÷r 1=q ……r 2 (0≤r 2).若r 2=0,则(a,b)=r 1,若r 2≠0,则继续用r 1除以r 2, ……如此下去,直到能整除为止。其最后一个余数为0的被除数...

2017-11-14 11:10:46 846

原创 将三个数按从大到小输出

解法一:if的循环嵌套#include&lt;stdio.h&gt;int main(){ int a,b,c; printf("请输入三个不同的数\n"); scanf("%d %d %d",&amp;a,&amp;b,&amp;c); if(a&gt;b) { if(b&gt;c) { pr...

2017-11-13 13:07:46 308

原创 求10 个整数中最大值

本题考察对数组的初步认识 **由于数组元素是若干个独立变量,且它们的下标连续,对各数组元素的输入,输出和计算等操作应该逐个进行,因此数组的编程一定要用到循环结构。#include&lt;stdio.h&gt;int main(){ int arr[10] = { 0 }, i = 0, max = 0; printf("请输入10个整数\n"); f...

2017-11-13 11:49:42 175

原创 不允许创建临时变量,交换两个数的内容

原理:i=(i+j)-j;#include&lt;stdio.h&gt;int main(){ int i, j; printf("请输入两个数i,j\n"); scanf("%d %d", &amp;i, &amp;j);//例如i=3,j=2 i = i + j;//i=3+2=5 j = i - j;//j=5-2=3 i = i - ...

2017-11-12 22:49:45 188

原创 给定两个整形变量的值,将两个值的内容进行交换

解法一:普通方法#include&lt;stdio.h&gt;int main(){ int i, j, k; printf("请输入i和j的值\n"); scanf("%d %d", &amp;i, &amp;j); k = i;//以k为桥梁 i = j; j = k; printf("交换后的i=%d,j=%d", i, j...

2017-11-12 22:02:19 284

原创 判断1000~2000之间的闰年

前提:了解闰年的计算方法 闰年:①能被4整除且不能被100整除的为闰年。 ②能被400整除的是闰年。 **注:**1和2是或的关系。#include&lt;stdio.h&gt;int main(){ int i=0; for(i=1000;i&lt;=2000;i++)//输出1000~2000之间的数 { if(i%4==0&amp;&...

2017-11-09 23:25:03 224

原创 输出乘法口诀表

规律:列与行相乘,且每行中列总小于等于行,例如: 第三行,行数为3,列数为1,2,3,存在列小于等于行的关系#include&lt;stdio.h&gt;int main(){ int i=0,j=0; for(i=1;i&lt;=9;i++)//控制行 { for(j=1;j&lt;=i;j++)//控制列,并由规律知道每行中列总小于等于...

2017-11-09 22:59:44 564

原创 打印100~200之间的素数

前提:了解素数的定义 素数:质数(prime number)又称 素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他 因数的数称为质数。#include&lt;stdio.h&gt;int main(){ int i=0,k=0; for(i=100;i&lt;201;i++)//输出100~200之间的数 { for(...

2017-11-09 22:24:05 309

空空如也

空空如也

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

TA关注的人

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