C语言篇
名侦探hzz
这个作者很懒,什么都没留下…
展开
-
求100到1000之间的素数
环境:win10 vs2017方法一#include<stdio.h>#include<windows.h>int main(){ int i = 0; int count = 0;//计算素数的个数 for (i = 100; i <= 1000; i++) { int j = 0; for (j = 2; j <i; j++) ...原创 2018-10-09 20:31:50 · 13033 阅读 · 0 评论 -
一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。
我的思路:异或可以使相同的数字为零,以此为条件,我们可以把数组中出现两次的数字都置零,单个出现的保留,嵌套循环之后,数组中只剩下单个出现的数字#include <stdio.h>#include <windows.h>void Find_num(int arr[],int len){ int ret = 0; int i = 0; int j = 0;...原创 2018-11-05 23:37:46 · 238 阅读 · 0 评论 -
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水, 给20元,可以喝多少汽水。
这道题有两种答案,39和40。喝39瓶,最后会剩一个空瓶在自己手里。如果你借一个空瓶,可以再换一瓶饮料,喝完后再还回去,这样就可以喝40瓶了。但我的代码是按照39瓶写的。这道题的重点是在换了5瓶后,5不能被2整除,这时我们需要把余数1保存到空瓶数量中,这样就能得到正确的结果。#include &lt;stdio.h&gt;#include &lt;windows.h&gt;void ...原创 2018-11-06 21:55:50 · 300 阅读 · 0 评论 -
左移字符串
实现一个函数,可以左旋字符串中的k个字符。ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB#define _CRT_SECURE_NO_WARNINGS#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;windows.h&amp;gt;#include &amp;lt;string.h&amp;gt;#include &a原创 2018-11-03 22:19:40 · 176 阅读 · 0 评论 -
如何求10 个整数中的最大值?
#include <stdio.h>#include <windows.h>int main(){ int a[10 ] = { 1,2,3,4,5,6,7,8,9,10 }; int i = 0; int max = 0; for (i = 0; i < 10; i++) { if (a[i] > a[i + 1]) { max=...原创 2018-11-01 23:08:56 · 116 阅读 · 0 评论 -
如何不使用(a+b)/2这种方式,求两个数的平均值?
第一种: 一个数右移一位等于一个数除以2 (a+b)>>1#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <windows.h>int main(){ int a = 0; int b = 0; scanf("%d%d", &a, &b); printf(...原创 2018-10-30 17:37:01 · 129 阅读 · 0 评论 -
如何将一个数的二进制位模式从左到右翻转
一个数的二进制是由位组成,我们需要对它的每一位进行操作。第一位翻转:20 —&amp;gt; 2(31-0)第二位翻转:21 —&amp;gt; 2(31-1)第三位翻转:22 —&amp;gt; 2(31-2)第 i 位翻转: 2i-1 —&amp;gt; 2(31-i)数字value第i位翻转之后的数值大小:(value&amp;gt;&amp;gt;i原创 2018-10-30 17:11:33 · 1311 阅读 · 0 评论 -
翻转字符串
有一个字符数组的内容为:“student a am i”,请你将数组的内容改为"i am a student".#include <stdio.h>#include <windows.h>int m_strlen(char* str){ int count = 0; while (*str) { count++; str++; } return ...原创 2018-10-31 13:49:44 · 108 阅读 · 0 评论 -
一组数据中只有一个数字出现一次,其他所有数字都是成对出现的。请找出这个数。(使用位运算)
连续异或即可得到这个数#include <windows.h>#include <sdilo.h>int find(int a[],int len){ int ret = 0; int i = 0; for (i = 0; i < len; i++) { ret ^= a[i]; } return ret;}int main(){ in...原创 2018-10-31 12:54:21 · 142 阅读 · 0 评论 -
浅谈变量交换
如何交换两个整型变量的内容呢?我给出三种方法与大家分享。方法一 :三变量法#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<windows.h>int main(){ int a = 0; int b = 0; int temp = 0; scanf("%d%d", &a, ...原创 2018-10-09 20:54:40 · 95 阅读 · 0 评论 -
用C语言输出任意行列乘法口诀表
环境: win10 vs2017#include <stdio.h>void table(a){ int i = 0; int j = 0; for (i=1; i <= a; i++) { for (j=1; j <= i; j++) { printf("%d*%d=%2d ", i, j, i*j); } printf("\n")...原创 2018-10-09 20:38:01 · 614 阅读 · 0 评论 -
模拟实现字符串函数
文章目录模拟实现strcpy模拟实现strcat模拟实现strstr模拟实现strchr模拟实现strcmp模拟实现strcpy#include <stdio.h>#include <windows.h>#include<stdlib.h>#include<assert.h>void Strcpy(char *str2, char *st...原创 2018-11-24 22:59:32 · 125 阅读 · 0 评论