
C语言
zlb1051
这个作者很懒,什么都没留下…
展开
-
1.编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值
题目:编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值。 如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 1001100000000000000000000原创 2017-10-28 21:04:50 · 796 阅读 · 0 评论 -
递归方式实现打印一个整数的每一位
递归方式实现打印一个整数的每一位#include <stdio.h>void print(int n){ if (n>9) { print(n/10); } printf("%d ", n%10);}int main(){ print(1234); return 0;}原创 2017-11-05 23:26:13 · 2090 阅读 · 0 评论 -
2.编写一个函数实现n^k,使用递归实现
编写一个函数实现n^k,使用递归实现算法:要求n^k,只要我们求出n^(k-1)就可求出n^k,而要求n^(k-1)只要求出n^(k-2)即可,………………,而当k减为1时,我们知道n^1=n。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int Mypow(int n, int k){ if (k==0) { r原创 2017-11-05 23:22:29 · 819 阅读 · 0 评论 -
1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB
1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB方法1将字符串第一个的字符先复制一份,然后依次将字符串向左移动一位,再将第一个字符赋值到最后。若要左旋K个字符,只需循环K次。方法2将字符串分为两部分,先将前K个字符逆置,再将后一部分字符串逆置,最后将整个字符串逆置。方法3先开辟一个2*len+1字原创 2017-11-05 22:18:29 · 1131 阅读 · 0 评论 -
递归和非递归分别实现strlen
递归和非递归分别实现strlen#include #include int Mystrlen(const char *str){ if(*str) { return 1+Mystrlen(str+1); } else { return 0; }}//int Mystrlen(const char *str)//{// int count = 0;//原创 2017-11-05 22:14:25 · 375 阅读 · 0 评论 -
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19。先模10取出最后一位9,再取出2,再取出3,最后一位小于等于9,直接返回。#include int DigitSum(int n){ if (n<=9) { return n; } else { re原创 2017-11-05 21:58:11 · 289 阅读 · 0 评论 -
函数调用过程(栈桢的形成与释放)
分析函数调用过程首先,main函数也是被其他函数调用的,通过调用栈桢窗口可以看到调用main函数的函数,所谓栈,可以简单理解为一种后进先出(先进后出)的结构。main函数位于栈顶,因此程序中第一个执行的函数并不是main函数,但对于我们来说,main函数是我们整个代码的入口。main由mainCRTStartup()函数调用。函数调用过程中要开辟一段栈空间,用于调用过程中临时变量的保存,现场保护。这段空间称之为栈桢。原创 2017-11-04 11:30:36 · 558 阅读 · 0 评论 -
辨析指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针
要厘清上面的概念,主要在判断优先级上。1.指针数组指针数组:例如 char *p[5]; 因为 [ ] 的优先级高于 * ,所以p先和[ ] 结合,因此p是一个数组,数组中的元素都是指针,该指针指向char 型数据。换句话说,p中存储的内容是char型数据的地址。请注意,此时系统为数组p分配了20个字节的空间,而不是5,因为在32位平台下指针(也就是地址)占4个字节。2.数组指针数组指针:char原创 2017-11-18 16:46:06 · 280 阅读 · 0 评论 -
使用可变参数,实现函数,求函数参数的平均值
使用可变参数,实现函数,求函数参数的平均值可变参数要实现必须得保证参数列表中至少有一个参数,否则无法使用va_list可变参数的实现过程: 形参实例化时给形参变量分配的地址是连续的,而且实例化时是从最右边的变量开始分配地址的,由于形参变量是分配在栈区原创 2017-11-11 23:08:27 · 1021 阅读 · 0 评论 -
C程序,简单模仿扫雷游戏,10行 10列
要求:1>第一次下子,不炸死。 2>坐标周围没雷,可以实现展开。实现1.用一个二维字符数组mine[ROWS] [COLS]来存储雷,现在我们用字符1来表示有雷,字符0表示无雷。再用一个二维字符数组show[ROWS][COLS]将所有的元素初始化为*,并打印作为展现给玩家的。同时用show数组来表示对应的mine数组中周围雷即字符0的个数。对于边缘的格子无法计算雷的个数,因此只需再增加2行2列原创 2017-10-19 23:32:51 · 927 阅读 · 0 评论 -
简单的自我介绍
编程菜鸟的简单自我介绍原创 2017-09-16 20:41:03 · 676 阅读 · 0 评论 -
C语言实现两个整形变量的值的交换,不使用临时变量
C语言实现两个整形变量的值的交换,不使用临时变量同或实现两个整形变量的值的交换。又因为C语言中并没有同或运算,因此,把同或表达式转化成 含有按位与、按位或、取反运算的表达式。a = (a&b)|(~a&~b);b = (a&b)|(~a&~b);a = (a&b)|(~a&~b);原创 2017-09-19 14:54:22 · 1473 阅读 · 0 评论 -
一个简单的C语言小程序,打印九九乘法表
一个简单的C语言小程序,打印九九乘法表原创 2017-09-21 21:46:07 · 2005 阅读 · 0 评论 -
C语言程序,求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222
C语言程序,求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222原创 2017-09-23 17:11:58 · 1618 阅读 · 0 评论 -
C语言猜数字游戏,范围为1到100,直到猜对为止,能重复进行多次
C语言猜数字游戏,范围为1到100,直到猜对为止,能重复进行多次原创 2017-09-26 23:12:35 · 25881 阅读 · 1 评论 -
c语言有关操作符(运算符)的简单介绍
1.操作符(运算符)分类:(1)算术运算符 + - * / % ++ -- (2)关系运算符 > = (3)逻辑运算符 ! && ||(4)位运算符 > ~ | ^ &(5)赋值运算符原创 2017-10-04 21:28:38 · 291 阅读 · 0 评论 -
C语言求一个整数的二进制形式表示中1的个数,用函数实现
1:我们知道,整数在计算机中是以补码的形式存储的。如果给定一个十进制正整数是 如何转换成二进制数的呢?用的是除以2取余数的方法。若余数为1,则1的个数加 1;然后用商再除以2取余数,直到商为0;但是负数除2的余数为负数。因此,可以 在用 unsigned int 定义一个整数,将有符号数转换成无符号数。例如-1的补码原创 2017-10-11 22:22:37 · 5026 阅读 · 0 评论 -
使用回调函数排序整形、浮点型、字符串等类型的数据
本次排序以冒泡法为基础#include <stdio.h>#include <string.h>int int_cmp(void *x, void *y){ return *(int *)x>*(int *)y;//指针为void型,不能直接使用,须先进行强制类型转换}int float_cmp(void *x, void *y){ return *(float *)x>*(原创 2017-11-24 17:01:12 · 371 阅读 · 0 评论