当前位置: 首页 > news >正文

内蒙古城乡和建设厅网站企业网站更新频率

内蒙古城乡和建设厅网站,企业网站更新频率,wordpress用户端,app开发 网站建设目录 一、编写程序#xff0c;输入三个字符串#xff0c;比较它们的大小#xff0c;并将它们按由小到大的顺序输出。要求用函数、指针实现。要求:要采用函数调用#xff0c;并用指向函数的指针作为函数的参数。 1.不使用函数指针作为参数#xff0c;并自己模拟strcmp。 …目录 一、编写程序输入三个字符串比较它们的大小并将它们按由小到大的顺序输出。要求用函数、指针实现。要求:要采用函数调用并用指向函数的指针作为函数的参数。 1.不使用函数指针作为参数并自己模拟strcmp。 2、不使用函数指针作为参数,使用strcmp 3、使用函数指针作为参数进行比较 4、使用指针数组存储字符串后比较 二、一道变态的面试题不能创建临时变量(第三个变量),实现两个整数数的交换 1、一般法不符合  2、加减法 3、异或 三、统计二进制中1的个数 思路一 思路二 思路三 思路四 一、编写程序输入三个字符串比较它们的大小并将它们按由小到大的顺序输出。要求用函数、指针实现。要求:要采用函数调用并用指向函数的指针作为函数的参数。 1.不使用函数指针作为参数并自己模拟strcmp。 compare_s函数 此函数的目的是比较两个字符串s1和s2的大小。 使用while循环逐个字符地比较两个字符串直到其中一个字符串结束或找到不同的字符。 如果两个字符串的某个字符不相等则返回它们的差值确定它们的大小关系。 如果两个字符串完全相同则返回0。 compare_output函数 此函数的目的是根据compare_s函数的比较结果对三个字符串s1、s2和s3进行排序。 首先它确保s1是三个字符串中最大的然后确保s2是次大的最后确保s3是最小的。 为了交换字符串它使用了一个临时字符串s。 int compare_s(char* s1, char* s2)//定义比较字符串大小的函数 //模拟实现strcmp {int i 0;//把函数返回值初始化为0while (*s1 *s2 )//当字符串未结束时执行该循环{s1;//未比较出大小则继续比较下一位故使指针增加1s2;//未比较出大小则继续比较下一位故使指针增加1}return *s1 - *s2;//返回比较结果 } void compare_output(char* s1, char* s2, char* s3) {char s[N];//定义一个字符型数组充当临时字符串//以下分析了三个字符串所有的大小关系并重新排列if (compare_s(s1, s2) 0)//确保s1s2{strcpy(s, s1); strcpy(s1, s2); strcpy(s2, s);//保证s1s2}if(compare_s(s1, s3) 0)//确保s1s3{strcpy(s, s1); strcpy(s1, s3); strcpy(s3, s);//保证s1s3}if (compare_s(s2, s3) 0)//确保s2s3{strcpy(s, s2); strcpy(s2, s3); strcpy(s3, s);//保证s2s3} } int main() {char s1[N], s2[N], s3[N];//定义两个字符串printf(请输入第一个字符串\n);//提示用户输入第一个字符串fgets(s1, 100, stdin);//使用fgets函数获取字符串s1printf(请输入第二个字符串\n);//提示用户输入第二个字符串fgets(s2, 100, stdin);//使用fgets函数获取字符串s2printf(请输入第三个字符串\n);//提示用户输入第三个字符串fgets(s3, 100, stdin);//使用fgets函数获取字符串s3compare_output(s1, s2, s3);printf(从小到大:\n%s%s%s, s3, s2, s1);return 0; } 2、不使用函数指针作为参数,使用strcmp void compare_output(char* s1, char* s2, char* s3) {char s[N];//定义一个字符型数组充当临时字符串//以下分析了三个字符串所有的大小关系并重新排列if (strcmp(s1, s2) 0){strcpy(s, s1); strcpy(s1, s2); strcpy(s2, s);//保证s1s2}if(strcmp(s1, s3) 0){strcpy(s, s1); strcpy(s1, s3); strcpy(s3, s);//保证s1s3}if (strcmp(s2, s3) 0){strcpy(s, s2); strcpy(s2, s3); strcpy(s3, s);//保证s2s3} } int main() {char s1[N], s2[N], s3[N];//定义两个字符串printf(请输入第一个字符串\n);//提示用户输入第一个字符串fgets(s1, sizeof(s1), stdin);//使用fgets函数获取字符串s1printf(请输入第二个字符串\n);//提示用户输入第二个字符串fgets(s2, sizeof(s2), stdin);//使用fgets函数获取字符串s2printf(请输入第三个字符串\n);//提示用户输入第三个字符串fgets(s3, sizeof(s3), stdin);//使用fgets函数获取字符串s3compare_output(s1, s2, s3);printf(从小到大:\n%s%s%s, s3, s2, s1);return 0; } 3、使用函数指针作为参数进行比较 void swap(char* s1, char* s2)//交换两个字符串的值 {char s[N];strcpy(s, s1); strcpy(s1, s2); strcpy(s2, s); }void my_sort(char* s1, char* s2, char* s3, void (*swap)(char* s1, char* s2)) {char s[N];if (strcmp(s1, s2) 0){swap(s1, s2);//保证s1s2}if (strcmp(s1, s3) 0){swap(s1, s3);//保证s1s3}if (strcmp(s2, s3) 0){swap(s2, s3);//保证s2s3} }int main() {char s1[N], s2[N], s3[N];//定义两个字符串printf(请输入第一个字符串\n);//提示用户输入第一个字符串fgets(s1, 100, stdin);//使用fgets函数获取字符串s1printf(请输入第二个字符串\n);//提示用户输入第二个字符串fgets(s2, 100, stdin);//使用fgets函数获取字符串s2printf(请输入第三个字符串\n);//提示用户输入第三个字符串fgets(s3, 100, stdin);//使用fgets函数获取字符串s3my_sort(s1, s2, s3,swap);printf(从小到大:\n%s%s%s, s3, s2, s1);return 0; } 4、使用指针数组存储字符串后比较 #include stdio.h// 比较两个字符串前后顺序 int compare(const char *str1, const char *str2) {while (*str1 (*str1 *str2)) {str1;str2;}return *str1 - *str2; }// 交换两个字符串的位置 void swap(char **str1, char **str2) {char *temp *str1;*str1 *str2;*str2 temp; }// 使用指向函数的指针来排序字符串数组 void sortStrings(char **strings, int n, int (*compare)(const char*, const char*)) {int i, j;for (i 0; i n-1; i) {for (j 0; j n-i-1; j) {if (compare(strings[j], strings[j1]) 0) {swap(strings[j], strings[j1]);}}} }int main() {char str1[100], str2[100], str3[100];// 输入三个字符串printf(请输入第一个字符串);scanf(%s, str1);printf(请输入第二个字符串);scanf(%s, str2);printf(请输入第三个字符串);scanf(%s, str3);// 定义一个指针数组保存三个字符串的地址char *strings[] {str1, str2, str3};int n sizeof(strings) / sizeof(strings[0]);// 使用指向函数的指针来排序字符串数组sortStrings(strings, n, compare);// 输出排序后的字符串数组printf(排序后的字符串数组\n);for (int i 0; i n; i) {printf(%s\n, strings[i]);}return 0; } 二、一道变态的面试题 不能创建临时变量(第三个变量),实现两个整数数的交换 1、一般法不符合  int main() {int a 3, b 5;//交换a和b的值//一般法int c a;a b;b c;printf(%d\n, a);printf(%d\n, b);return 0;} 2、加减法 int main() {int a 3, b 5;//加减法a a b;b a - b; //b a b - ba a - b;这种写法的缺陷:a,b非常大,求和超过整型的最大值printf(%d\n, a);printf(%d\n, b);return 0;} 3、异或 异或操作符的特点: a^a 0 0^a a int main() {int a 3, b 5;//异或a a ^ b;b a ^ b; //b a ^ b ^ b a ^ 0a a ^ b;printf(%d\n, a);printf(%d\n, b);return 0;}三、统计二进制中1的个数 二进制中1的个数_牛客题霸_牛客网 思路一 循环进行以下操作直到n被缩减为0    1. 用该数据模2检测其是否能够被2整除    2. 可以则该数据对应二进制比特位的最低位一定是0否则是1如果是1给计数加1    3. 如果n不等于0时继续1   int NumberOf1(int n) {int count 0;while(n){if(n%21)count;n n/2;}return count; } 上述方法缺陷进行了大量的取模以及除法运算取模和除法运算的效率本来就比较低。 思路二 一个int类型的数据对应的二进制一共有32个比特位可以采用位运算的方式一位一位的检测具体如下 int NumberOf1(unsigned int n) {int count 0;int i 0;for(i0; i32; i){if(((ni)1) 1)count;}return count; } 思路二优点用位操作代替取模和除法运算效率稍微比较高  缺陷不论是什么数据循环都要执行32次 思路三 采用相邻的两个数据进行按位与运算 int NumberOf1(unsigned int n) //把有符号当成无符号数 {int count 0;while (n){count;n n (n - 1);//效果:把二进制中最右边的1去掉了//n 15//1111 - n 1110 - n-1//1110 - n 1101 - n-1//1100 - n 1011 - n-1//1000 - n 0111 - n-1//0000 - n}return count; } 可以观察下此种方式数据的二进制比特位中有几个1循环就循环几次而且中间采用了位运算处理起来比较高效 思路四 1 i; 依次顺序移动遍历二进制中的每一位 通过这种左移操作我们可以生成一个只在第i位上为1的数字其他位都为0。例如 i0: 0001 i1: 0010 i2: 0100 i3: 1000 ... 以此类推 int NumberOf1(int n) {// write code hereint i 0, count 0;for (i 0; i 32; i){if (n (1 i))count;}return count; } 今天就先到这了 看到这里了还不给博主扣个 ⛳️ 点赞☀️收藏 ⭐️ 关注 你们的点赞就是博主更新最大的动力 有问题可以评论或者私信呢秒回哦。
http://www.dnsts.com.cn/news/266403.html

相关文章:

  • 服装网站建设论文电子商务网站建设期末试题答案05
  • p2p网站建设资质室内设计软件培训
  • 网站规划个人主页自助建站
  • 给网站做备案网络服务推广易下拉技巧
  • 网站开发专业是干嘛的深圳餐饮设计公司
  • 网站如何发布wordpress 标签调用
  • 做的比较好的企业网站汉中门户网官网
  • 网站上的搜索怎么做网站建设功能图
  • 怎么查看网站是哪个公司做的民企厂房建设招标网站
  • 网站开发的实训报告厦门百度广告
  • archigo建筑网站江阴做网站哪家好
  • 张槎建网站那种网站打不开
  • 网站网页切换怎么做的做网站主流网站
  • 门户网站模板珠海高端网站建设报价
  • 网站建设的主要内容是软件交流静态网页模板制作工具
  • 建设团购网站费用wordpress视频居中
  • 制作宝安网站建设泰州住房和城乡建设厅网站首页
  • 美食网站建设的意义中国建筑材料网官网
  • 贵州建设厅网站政务大厅帝国cms7.0模板 绿色企业网站模板(整站带数据)
  • 检察机关门户网站建设自查报告seo快速排名软件网址
  • 免费数据库网站空间网站建设学习资料
  • wordpress 官方网站wordpress手机上无法写文章
  • 电商网站设计模板网站开发建设与维护做什么的
  • 东莞网站建设seo建立自己的网站
  • 鼓楼公司网站建设费用wordpress3.9中文版
  • 医疗培训网站建设wordpress 与公众平台
  • 网站建设策划书编制学校网站建设项目背景
  • 网站漏洞单位网站 单位网页 区别吗
  • 合肥建设网站制作哪个好客户做外贸用那些网站
  • 新手学网页设计的网站做品牌网站公司