习题
two 倩
这个作者很懒,什么都没留下…
展开
-
模拟实现atoi函数
字符串转换成整形数//int atoi(const char* nptr)//函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。// 如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0 。// 特别注意,该函数要求被转换的字符串是按十进制数理解的。//atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错 - 1。#include<stdio.h>#include<assert.h&g..原创 2021-10-21 07:30:00 · 90 阅读 · 0 评论 -
二进制0和1的个数,2的次幂
目录1、二进制中0的个数2、二进制中1的个数3、一个数是不是2的几次幂1、二进制中0的个数使用|运算:有一个是1则为1,x|(x+1)可以将数字二进制位的最低位的0改为1,逐渐递进,直到将二进制位改为全1,对应原码-1结束。#include<stdio.h>int main(){ char x =5, count = 0; while (x+1)//当x=-1的时候退出循环 { count++; x =x|(x + 1); } printf("%d原创 2021-09-06 16:34:04 · 351 阅读 · 0 评论 -
c语言习题:出现一次的数字
1.出现1次的数字,其他数字只出现了一次异或运算:二进制位的每一位相同为0,不同为1#include<stdio.h>int Search(int* p, int sz){ int s = 0;//0和任何数&都是任何数 for (int i = 0; i < sz; i++) { s ^= *(p + i);//出现了两次的数字&结果是0 } return s;}int main(){ int arr[9] = { -1,-2,-3,-原创 2021-09-05 23:53:24 · 186 阅读 · 0 评论 -
瓶盖换酒问题
1.一瓶酒单价是price,现在有总钱数money元,两个酒瓶可以换一瓶酒,请问可以喝多少瓶?#include<stdio.h>int main(){ scanf("%d%d", &price, &money); int count = money / price;//得到我购买的酒的数目 int s = count;//我买了多少瓶酒,就有多少个瓶盖 while (s>1)//两个瓶盖换一瓶酒,当s<=1的时候就不能换了 { count原创 2021-09-05 16:00:40 · 846 阅读 · 0 评论 -
c语言练习题
1.删除数组里面的某一个元素#include<stdio.h>int main(){ //数组元素 7,6,8,9 删除8 得到7,6,9 int n, m, k = 0; int arr[100]; scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", &arr[i]); scanf("%d", &m); for (int i = 0; i < n; i++) {原创 2021-09-04 19:41:26 · 107 阅读 · 0 评论 -
c语言指针和数组笔试题解析-1
strlen()和sizeof()的区别1.strlen函数:库函数,功能:求字符串的长度。函数原型:size_t strlen ( const char * str ); 格式:strlen (字符指针表达式) 功能:计算给定字符串的(unsigned int型)长度,不包括'\0'在内 说明:返回s的长度,不包括结束符NULL。 头文件:string.h 运算时执行2.sizeof:在 C 语言中,sizeof() 是一个判断数据类型或者表达式长度的运算符。sizeof()是在编原创 2021-09-03 21:46:16 · 209 阅读 · 1 评论 -
c语言题目
1.求以下代码的结果#include <stdio.h> int main(){ int a[5] = { 1, 2, 3, 4, 5 }; int* p1 = (int*)(&a + 1); int* p2 = (int*)((int)a + 1); int* p3 = (int*)(a + 1); printf("%d, %x, %d\n", p1[-1], p2[0], p3[1]); return 0;}分析:在vs-2019中,数组的储存情况是原创 2021-08-31 00:28:05 · 126 阅读 · 0 评论