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

C语言_练习题

求最小公倍数

 思路:假设两个数,5和7,那么最小至少也要7吧,所以先假定最小公倍数是两个数之间较大的,然后看7能不能同时整除5和7,不能就加1继续除

int GetLCM(int _num1, int _num2)
{int max = _num1>_num2 ? _num1 : _num2;while (1){//证明能同时整除if (!(max%_num1) && !(max%_num2)) return max;else max++;}
}int main()
{//输入两个正整数int num1, num2;scanf("%d %d", &num1, &num2);printf("%d\n", GetLCM(num1, num2));return 0;
}

上面的方法效率太低需要优化

思路:a*i % b 看看能不能整除,能就a*i是最小公倍数,不能就i++

int main()
{//输入两个数int a, b;scanf("%d %d", &a, &b);//判断int i = 1;while (a*i % b) i++;printf("%d\n", a*i);return 0;
}

 

倒置字符串

思路:1. scanf这个函数它读到空格它就不读了,所以我们要这样写scanf("%[^\n]s"),它的意思是往后读一直读到\n。
2. 先把整个字符串倒置,再将每个单词倒置 

void reverse(char* start, char* end)
{char tmp;while (start < end){tmp = *start;*start = *end;*end = tmp;start++;end--;}
}int main() {char arr[100];scanf("%[^\n]s", arr);int len = strlen(arr);char* start = arr;char* end = start + (len - 1);reverse(start, end); //倒置整个数组start = arr;end = arr;while (*end++){while (*end != ' ' && *end != '\0'){end++;}reverse(start, end - 1);start = end + 1;}printf("%s\n", arr);return 0;
}

 


 










解析:3和2都是整数,所以3/2等于1






http://www.lryc.cn/news/392973.html

相关文章:

  • Type-C接口快充取电技术的实现
  • 压测工具---Ultron
  • Kubernetes 负载均衡器解决方案 MetalLB实践
  • 力扣爆刷第159天之TOP100五连刷61-65(翻转单词、对称二叉树、遍历求和)
  • (七)[重制]C++命名空间与标准模板库(STL)
  • Elasticsearch:Runtime fields - 运行时字段(一)
  • 03:C语言运算符
  • JAVA每日作业day7.4
  • WordPress网站违法关键词字过滤插件下载text-filter
  • ros1仿真导航机器人 navigation
  • Python制作动态颜色变换:颜色渐变动效
  • Python 异步编程介绍与代码示例
  • 堆叠的作用
  • ubuntu 如何查看某一个网卡的ip地址
  • 跨界客户服务:拓展服务边界,创造更多价值
  • linux驱动编程 - kfifo先进先出队列
  • JS 四舍五入使用整理
  • 上万组风电,光伏,用户负荷数据分享
  • 在物联网快速发展的趋势下,Java 怎样优化对低功耗、资源受限的边缘设备的支持,保障物联网应用的稳定运行?
  • java-HashSet 源码分析 1
  • K8S 部署 EFK
  • AI Earth应用—— 在线使用sentinel数据VV和VH波段进行水体提取分析(昆明抚仙湖、滇池为例)
  • 基于Hadoop平台的电信客服数据的处理与分析③项目开发:搭建基于Hadoop的全分布式集群---任务9:HBase的安装和部署
  • go语言day09 通道 协程的死锁
  • 黑马的ES课程中的不足
  • STM32 中断编程入门
  • 使用maven搭建一个SpingBoot项目
  • 使用 HTTPS 已成为网站的标配了
  • 前后端分离Nginx
  • 【简单讲解下Tauri】