C语言例题集
记录C语言例题
Flying`
这个作者很懒,什么都没留下…
展开
-
判断字符串str2是否是str1旋转得到
看题:思路:只需要将原字符串再来一遍接在后面,然后找一找待查找的字符串是不是两倍原字符串的子集即可。代码实现:#include<stdio.h>#include<string.h>int fun(char *src,char *find){ char tmp[256] = { 0 }; //用一个辅助空间将原字符串做成两倍原字符串 strcpy(tmp, src); //先拷贝一遍 strcat(tmp, src); //再连接一遍 //strcpy 和原创 2022-01-16 21:43:11 · 275 阅读 · 0 评论 -
关于左旋字符串的三种解法(C语言)
题目:解法1:设计循环使其可以旋1次,然后让他执行n次是一个最简单的思路:void fun(char *s,int k){ char tmp = 0; int len = sizeof(s) / sizeof(s[0]); int time = k%len; //长度为5的情况下,旋转6、11、16...次相当于1次,7、12、17...次相当于2次,以此类推。 for (int i = 0; i < time; i++) { tmp = s[0]; int j =原创 2022-01-16 12:27:00 · 94 阅读 · 0 评论 -
3.多组输入字符时的3种输入方法
以下面这道题为例子://判断是否为元音字母#include<stdio.h>int main(){ char v[] = { 'a', 'A', 'e', 'E', 'i', 'I', 'o', 'O', 'u', 'U' }; char ch = 0; //方法1: /*while (~scanf("%c\n", &ch)) { int i = 0; for (i = 0; i < 10; i++) { if (ch == v[i])原创 2021-11-22 11:24:56 · 1521 阅读 · 0 评论 -
2.统计二进制数中不同位的个数(2个解)
//统计二进制数中位中不同位的个数#include<stdio.h>//法1:一位一位对比int count_diff_bit_1(int m, int n){ int i = 0; int count = 0; for (i = 0; i < 32; i++) { if ((m & 1) != (n & 1)) { count++; } m >>= 1; n >>= 1; } return count原创 2021-11-20 09:25:32 · 232 阅读 · 0 评论 -
1.统计二进制中 1 的个数(一题3解)
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>//统计十进制数中某个数字的个数时有 : %10 然后 /10 ;//类比:统计二进制数字 1 的个数即 :%2 然后 /2 ;int count_number_of_1(unsigned num){ //用 unsigned num 来接收是为了让负数的补码变为正数; //比如:-1 // -1的补码: 1111 1111 1111 1111 1111原创 2021-11-20 09:10:30 · 423 阅读 · 0 评论