编程题
文章平均质量分 51
4.O.4
C盘敲满,年薪百万
展开
-
016-打印菱形-【c语言版】
文章目录1. 题目2. 分析3. 代码文章索引后记1. 题目题目:打印菱形要求:写一个函数,接收一个整型参数n,n表示菱形的行数且n为大于2的奇数示例1:输入:5输出: * ******** *** *示例2:输入:7输出: * *** ************ ***** *** *2. 分析通过示例2可以看到,如果输入7,则菱形打印7行,前四行的 * 的个数分别为 1、3、5、7,左边空格的个数分别为 3、2、1、0;后三行的 * 的个原创 2021-11-21 17:34:48 · 577 阅读 · 2 评论 -
015-字符串逆序-【c语言版】
文章目录1. 题目2. 代码文章索引后记1. 题目题目:字符串逆序要求:写个函数,可以逆序一个字符串的内容。示例1:输入:abcd输出:dcba示例2:输入:hello world!输出:!dlrow olleh2. 代码char * reverse_string(char* str) { assert(str); int len = strlen(str); int left = 0; int right = len - 1; while (left &l原创 2021-11-21 16:54:33 · 617 阅读 · 0 评论 -
014-水仙花数-【c语言版】
文章目录1. 题目2. 代码文章索引后记1. 题目题目:求出0 ~100000之间的所有“水仙花数”并输出。“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身.如:153 = 1 ^ 3 + 5 ^ 3 + 3 ^ 3, 则153是一 个"水仙花数"。2. 代码int main() { int i = 0; for (i = 0; i < 100001; i++) { // 临时保存待计算的数 int temp = 0; // 153 // 记录t原创 2021-11-21 14:12:43 · 565 阅读 · 0 评论 -
013-a+aa+aaa+...【c语言版】
文章目录1. 题目2. 代码文章索引后记1. 题目题目:在不考虑数据溢出的情况下,求 Sn = a+aa+aaa+aaaa+aaaaa+…的前n项和,其中a和n都是用户输入的整型数据示例1:输入:1 3输出:123解释:1 + 11 + 111 = 123示例2:输入:1 4输出:1234解释:1 + 11 + 111 + 1111 = 1234示例3:输入:2 3输出:246解释:2 + 22 + 222 = 2462. 代码int sum(int a,原创 2021-11-21 12:07:24 · 268 阅读 · 0 评论 -
012-交换变量-【c语言版】
文章目录1. 题目2. 代码实现3. 难度升级文章索引后记1. 题目题目:写一个函数,完成两变量的位置。示例1输入:3 5输出:5 3示例2:输入:9 0输出:0 92. 代码实现实现逻辑很简单,这里我就不进行分析了void swap(int* n, int* m){ int temp = *n; *n = *m; *m = temp;}【测试】int main(){ int n = 4; int m = 5; printf("%d %d\n", n,原创 2021-11-21 11:40:13 · 933 阅读 · 0 评论 -
011-奇偶位-【c语言】
文章目录1、题目2、分析3、代码1、题目题目:获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列(先打印奇数序列).说明:假设在32位环境下;第几位从高地址开始数【示例】获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列输入: 13输出:00000000000000100000000000000011解释:13 对应的32位二进制为:00000000 00000000 00000000 00001101奇数位序列:0000000000000010偶数原创 2021-11-18 17:12:36 · 334 阅读 · 0 评论 -
010-numberOfDiffInBinary-【c语言】
文章目录1、题目2、分析3、代码文章索引后记1、题目输入两个不同的int型整数,统计对应二进制位有多少个不同(假设在32位的机器上进行)如:输入: 13 21输出: 2解释:13 对应的二进制为 00000000 00000000 00000000 0000110121 对应的二进制位 00000000 00000000 00000000 000101012、分析【思路一】将两个数的每一个二进制位分别进行比较是否相等【思路二】将两个数进行异或运算,而异或运算的规原创 2021-11-18 13:29:21 · 334 阅读 · 0 评论 -
009-2的n次方-【c语言】
文章目录1、题目2、分析3、代码文章索引后记1、题目题目:写一个函数,用于判断该数是不是2的n次方得到的值(不考虑负数情况)2、分析【思路】一个数是2的n次方,则这个数的2二进制数只有一个1(不考虑负数情况)例如:1 = 201 对应的二进制为 00012 = 212 对应的二进制为 00104 = 224 对应的二进制为 01008 = 238 对应的二进制为 1000. . . . . .在 上一篇文章 中我提到了一个用于计算 n 中二进制位为0或1的公式,如果该公原创 2021-11-18 09:18:11 · 558 阅读 · 0 评论 -
009-NumberOf1InBinary-【c语言】
文章目录1、题目2、分析3、代码实现文章索引后记1、题目输入一个整数,输出该数二进制表示中1的个数。负数计算补码中1的个数(假设该机器是32bit的)2、分析【思路一】众所周知:1 & n(n表示任意整数)会得到 n 的最后一位二进制位(0或1)所以我们只需要控制 1 和 n 中的所有二进制位进行 & 运算就能知道对应位置上是 0 还是 1示例:100000000 00000000 00000000 00001101 是 十进制数 13 的原码、反码和补码令 n =原创 2021-11-18 08:54:42 · 534 阅读 · 0 评论 -
008-调整奇偶数位置-【c语言】
1. 题目实现一个函数,用来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。2. 分析如下图:3. 代码// nums 是一个数组的首地址,numsSize是数组 nums 的长度int* move(int* nums, int numsSize){ assert( nums ); if ( !numsSize) return nums; int* res = nums; int left = 0; int right = numsSi原创 2021-11-17 16:03:20 · 602 阅读 · 0 评论 -
007-模拟实现求字符串长度strlen【c语言】
文章目录1. 分析2. 具体实现文章索引后记1. 分析我们先了解一下strlen函数的作用,strlen函数会根据我们传递的字符数组首地址计算字符串的长度比如:// 代码1char str[] = "abcdef";strlen(str); // 6// 代码2char str[] = "abcd\0ef";strlen(str); // 4// 代码3char* str = "abcdef"; strlen(str); // 6// 代码4char str[] =原创 2021-11-17 15:21:55 · 657 阅读 · 0 评论 -
007-模拟实现strcpy字符串拷贝函数-【c语言】
题目:模拟实现 strcpy 字符串复制函数strcpy 函数原型如下:char * strcpy ( char * destination, const char * source );将source指向的 C 字符串复制到destination指向的数组中,包括终止空字符(并在该点停止)。为避免溢出,destination指向的数组的大小应足够长以包含与source相同的 C 字符串(包括终止空字符),并且不应与source在内存中重叠。代码实现:char* my_strcpy(char原创 2021-11-13 18:17:26 · 702 阅读 · 0 评论 -
006-整型数组反转-【c语言】
题目:实现reverse()函数,完成对数组的逆序直接上代码:#include <stdio.h>void reverse(int* arr, int arrSize){ int left = 0; int right = arrSize - 1; while (left < right) { int tmp = arr[left]; arr[left] = arr[right]; arr[right] = tmp; left ++; right --原创 2021-11-13 11:48:43 · 508 阅读 · 0 评论 -
005-将三个数按照顺序打印-【c语言】
题目:将用户输入的三个数从大到小输出出来直接上代码:int main() { int a = 0; int b = 0; int c = 0; scanf("%d%d%d", &a, &b, &c); if (a < b) { // 保证了a 和 b之间,a是较大的 int temp = a; a = b; b = temp; } if (a < c) { // 保证了a 和 c之间,c是较大的 int temp = a; a原创 2021-11-13 11:33:35 · 239 阅读 · 0 评论 -
004-猜数字游戏-【c语言】
题目:写一个猜数字的游戏1.自动产生一个1~100之间的随机数2.猜数字 a.猜对了,恭喜你,游戏结束 b.猜错了,提示用户猜大了还是猜小了3.每个人最多猜10次因为代码很简单,也基本没什么逻辑可讲的,所以我就直接上代码吧!#include <stdio.h>#include <stdlib.h>// 猜数字游戏,数字范围 [1,100]// 每个用户用10次机会int main(void) { // 1.生成随机数 // rand 函数会生成原创 2021-11-13 11:29:18 · 2110 阅读 · 0 评论 -
003-字符串向中间移动-【编程题】
有两个等长的字符数组:char src[] = "hello world";char dest[] = "###########"现在有这样一个要求,需要我们实现以下打印效果:h#########dhe#######ldhel#####rldhell###orldhello#worldhello world可以看到,第一次打印将 dest 数组中的第一个和最后一个字符替换尾 src 中的,第二次打印又将 dest 数组中的第二个和倒数第二个元素替换为 src 中的,直到替换所有则结束。原创 2021-11-13 11:03:59 · 88 阅读 · 0 评论 -
002循环编程题-难度★
1. 在不考虑数据溢出的情况下计算n的阶层难度:★#include <stdio.h>int main(){ int n = 0; int ret = 1; scanf("%d", &n); for(int i = 1; i <= n; i++) { ret *= i; } printf("ret = %d\n", ret); return 0;}2.计算 1! + 2!+…+10!难度:★★方法一:#include <原创 2021-10-10 07:58:46 · 236 阅读 · 0 评论 -
001编程题-难度-★[C语言]
1. 依次将10个整型数据输入,要求输出其中最大的数。考察对循环和判断语句的使用,以及scanf库函数和数组的基本使用难度:★☆☆☆☆如:输入10 32 12 54 65 2 67 12 43 90输出:90#include <stdio.h>int main(){ int arr[10] = { 0 }; for (int i = 0; i < 10; i++) { scanf("%d", &arr[i]); } int max =原创 2021-10-09 16:36:28 · 276 阅读 · 0 评论