C语言
在一起&再出发
这个作者很懒,什么都没留下…
展开
-
冒泡排序(一维数组)
/冒泡排序 例如:12 ,7,9,5,8/void BubbleSort(int *arr,int len){int i = 0;//趟数int flg = 0;//对冒泡排序的优化for ( i = 0; i < len-1; i++){int j = 0;flg = 0;for ( j= 0; j <len-1-i; j++){if (arr[j]>...原创 2019-08-13 18:16:06 · 301 阅读 · 0 评论 -
判断某编译器是大端还是小端
//判断某编译器是大端还是小端int main(){int a = 0x12345678;char *pc = (char *)&a;//int *if (*pc == 0x78){printf(“is Little\n”); //低地址存放低数据,称为小端。如:PC}else{printf(“is Big\n”); //低地址存放高数据,称为大端。如:手机}...原创 2019-08-15 10:29:28 · 391 阅读 · 0 评论 -
C语言函数基础调用与链式访问
/写一个函数,每调用一次这个函数,就会将num的值增加1/void Inc(int *p){(*p)++;}int main(){int num = 0;int i = 0;for ( i = 0; i < 10; i++){Inc(&num);}printf("%d\n",num);return 0;}//------------------...原创 2019-08-12 16:35:35 · 735 阅读 · 1 评论 -
接受一个整型值(无符号),按照顺序打印它的每一位。
/接受一个整型值(无符号),按照顺序打印它的每一位。 例如: 输入:1234,输出 1 2 3 4./void Func1(unsigned int n){if (n > 9){Func1(n /10);}printf("%d\n",n%10);}int main(){int num = 1234;Func1(num);return 0;}...原创 2019-08-12 17:22:30 · 314 阅读 · 0 评论 -
获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列
//获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。用按位与void Func1(int num){int i = 0;for ( i = 31; i >= 1; i-=2){printf("%d “,(num>>i) & 1); //偶数位}printf(”\n");for ( i = 30; i >=0; i-=2)...原创 2019-08-16 20:09:24 · 304 阅读 · 0 评论 -
输出一个整数的每一位
//输出一个整数的每一位void print(int n){if (n>9){print(n/10);}printf("%d\n",n%10);}int main(){print(123);return 0;}原创 2019-08-16 20:10:04 · 207 阅读 · 0 评论 -
编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?输入例子 :1999 2299 输出例子 : 7
//编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?输入例子 :1999 2299 输出例子 : 7 (异或)int Func2(int m,int n){int tmp = m^n;int count = 0;while (tmp!=0){count++;tmp = tmp&(tmp - 1);}return count...原创 2019-08-16 20:10:59 · 206 阅读 · 1 评论 -
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
/*5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。 /void Func3(){int a,b,c,d,e;for ( a = 1; a <=5; a++){for (b...原创 2019-08-16 20:11:37 · 323 阅读 · 0 评论 -
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个 嫌疑犯的一个
/*日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。*/void Fun4(){char killer = 0;for (killer = ‘A’; killer <= ‘D’; k...原创 2019-08-16 20:12:25 · 331 阅读 · 0 评论 -
在屏幕上打印杨辉三角
/*在屏幕上打印杨辉三角。11 11 2 11 3 3 1*/void YangAngle(int arr[][10],int row,int col){int i = 0;int j = 0;for ( i = 0; i < row; i++){for ( j = 0; j <= i; j++){if (j0 || ij){arr[i][j] = 1...原创 2019-08-16 20:28:25 · 140 阅读 · 0 评论 -
求第n个斐波那契数
/*求第n个斐波那契数 : 1 1 2 3 5 8 13 21 */int Fabonaci(int n)//递归算法:缺点:算第50项时,特别耗时{if (n1 || n2){return 1;}return Fabonaci(n - 1) + Fabonaci(n - 2);}int Fabonaci1(int...原创 2019-08-13 10:54:21 · 238 阅读 · 0 评论 -
求n的阶乘,递归实现
/求n的阶乘,递归实现/int Fac2(int n)// 递归求N的阶乘{if (n==1){return 1;}return n*Fac2(n - 1);//n * (n-1)!}int main(){printf("%d\n", Fac2(5));return 0;}原创 2019-08-13 11:03:02 · 282 阅读 · 0 评论 -
编写函数,不允许创建临时变量,求字符串的长度
/编写函数,不允许创建临时变量,求字符串的长度///strlen(); 遇到\0停止int myStrlen(char *p) //循环方法计算字符串长度{int count = 0;while (*p !=’\0’){count++;p++;}return count;}//递归方法计算字符串长度int myStrlen1(char *p){if ...原创 2019-08-13 10:40:52 · 202 阅读 · 0 评论 -
联合体判断一个主机是大端还是小端
//联合体判断一个主机是大端还是小端union Un{int a;char b;};int IsLittleEnd1(){union Un u;u.a = 0x1;if (u.b==0x1){return 1; //小端}return 0; //大端}原创 2019-08-26 20:38:48 · 296 阅读 · 0 评论 -
动态内存分配的常见错误
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>//-------------------------------动态内存分配-----------------------#if 0int main(){int* p = ...原创 2019-08-27 21:01:33 · 546 阅读 · 0 评论 -
猜数字游戏(VS2013)
#include<stdlib.h>#include<time.h>//猜数字游戏(VS2013)void Menu(){printf(“\n");printf("1.play\n");printf("0.exit\n");printf("**********\n”);}void game(){int randnum = rand() % 100 +...原创 2019-08-10 17:02:57 · 561 阅读 · 0 评论 -
编写代码,演示多个字符从两端移动,向中间汇聚
#include<string.h>#include<windows.h>/* 编写代码,演示多个字符从两端移动,向中间汇聚*/int main(){char str1[] = “welcome bit”;char str2[] = “***********”;int left = 0;int right = strlen(str1) - 1;while ...原创 2019-08-10 16:38:49 · 212 阅读 · 0 评论 -
C语言实现五子棋
//头文件--------------------------------------------------------------------#ifndef GAME_H#define GAME_H#include<string.h>#include<stdio.h>#include<stdlib.h>#include<time.h>...原创 2019-08-13 21:46:42 · 801 阅读 · 0 评论 -
打印100~200之间的素数
打印100~200之间的素数 (VS2013)#include<stdio.h>int main() {int i, j;for (i = 100; i <= 200; i++){for (j = 2; j <= i - 1; j++){if (i%j == 0)break;}if (j == i)printf("%d “, i);}print...原创 2019-08-09 14:49:44 · 184 阅读 · 0 评论 -
输出乘法口诀表
输出乘法口诀表 (VS2013)#include<stdio.h>int main() {int mul;int i, j;for (i = 0; i < 10; i++){for (j = 0; j < 10; j++){if (j <= i){mul = i * j;printf("%d*%d=%d\t", i, j, mul);}}...原创 2019-08-09 14:51:29 · 156 阅读 · 0 评论 -
判断1000年---2000年之间的闰年
#include<stdio.h>int main() {int i;for (int i = 1000; i <= 2000; i++){ if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) { printf("%d\t", i); }}//printf("%d\n");system("paus...原创 2019-08-09 14:52:42 · 199 阅读 · 0 评论 -
给定两个整形变量的值,将两个值的内容进行交换
#include<stdio.h>/给定两个整形变量的值,将两个值的内容进行交换/int main(){int a = 16;int b = 18;int c = 0;printf(“初始值:a=%d,b=%d\n”,a,b);c = a;a = b;b = c;printf(“交换后的值为:a=%d,b=%d\n”, a, b);system(“pause”);...原创 2019-08-09 14:54:09 · 162 阅读 · 0 评论 -
求10 个整数中最大值。
#include<stdio.h>/*求10 个整数中最大值。 */int main(){int arr[10] = {0,1,2,3,4,5,6,7,8,9};int max = arr[0];int a = 0;for (int a = 0; a < 10; a++){if (max > arr[a]){continue;}else{max ...原创 2019-08-09 16:08:55 · 336 阅读 · 0 评论 -
给定两个整形变量的值,将两个值的内容进行交换
#include<stdio.h>/给定两个整形变量的值,将两个值的内容进行交换/int main(){int a = 16;int b = 18;int c = 0;printf(“初始值:a=%d,b=%d\n”,a,b);c = a;a = b;b = c;printf(“交换后的值为:a=%d,b=%d\n”, a, b);system(“pause”);...原创 2019-08-09 16:36:43 · 142 阅读 · 0 评论 -
将三个数按从大到小输出
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>/*将三个数按从大到小输出。 */int main(){int a, b, c, max;scanf("%d %d %d",&a,&b,&c);if (a < b){max = a;a = ...原创 2019-08-09 16:37:48 · 231 阅读 · 0 评论 -
不能创建临时变量(第三个变量),实现两个数的交换
//1.不能创建临时变量(第三个变量),实现两个数的交换。int main(){int a = 10;int b = 20;a = a^b;b = a^b;a = a^b;printf(“a = %d b = %d\n”, a,b);return 0;}//2.找出下列数字中只出现一次的数字int main(){int arr[] = {1,3,4,9,3,1,4...原创 2019-08-14 11:32:36 · 255 阅读 · 0 评论 -
计算n=5的阶乘
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>/计算n=5的阶乘/int main(){int n = 5;int i = 0;int ret=1;for (i = 1; i <= n; i++){ret *= i;}printf("%d\n",ret);return 0;}原创 2019-08-09 20:28:07 · 1896 阅读 · 0 评论 -
/* 计算 1!+2!+3!+……+10! */
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>/* 计算 1!+2!+3!+……+10! */int main(){int n = 3;int i = 0;int ret=1;int sum = 0;int j = 0;for ( j = 1; j <= n; j++){ret = 1;for (i ...原创 2019-08-09 20:52:11 · 1135 阅读 · 0 评论 -
求一个整数存储在内存中的二进制中1的个数
编写代码实现:求一个整数存储在内存中的二进制中1的个数//int NumberOf1(unsigned int n)//{// int count = 0;// while(n != 0) //13// {// if(n%2 == 1)// {// count++;// }// n = n/2;// }// return count;//...原创 2019-08-14 12:05:17 · 191 阅读 · 0 评论 -
在一个有序数组中查找具体的某个数字n
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>/*在一个有序数组中查找具体的某个数字n。编写int binsearch(int x, int v[], int n); 功能:在v[0]<=v[1]<=v[2]<= ….<=v[n-1]的数组中查找x. *///二分查找法:找到key返回下标,找不到返回...原创 2019-08-10 16:36:36 · 669 阅读 · 0 评论 -
编写代码实现,模拟用户登录情景,并且只能登录三次
#include<string.h>/*编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则提示登录 成,如果三次均输入错误,则退出程序。*/int main(){int count = 3;while (count !=0){//注:注意数组越界问题char pwd[7] = { 0 };//0 ‘0’ ‘\0’...原创 2019-08-10 16:38:14 · 599 阅读 · 0 评论 -
C语言文件操作(基础)
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>//number => No.#include<errno.h>/*围绕文件相关的基本操作:1.打开文件2.关闭文件3.读文件4.写文件*/int...原创 2019-08-27 21:03:05 · 713 阅读 · 0 评论