C语言基础算法题

1、计算并输出1到100之间所有偶数之和;

#include <stdio.h>int main(){int sum = 0;for(int i = 2; i <= 100; i+ = 2) {sum+ = i;}printf("sum = :%d\n", sum);return 0;
}

 2、招数数组中的最大值和最小值;

#include <stdio.h>int main() {int a[] = {2, 1, 4, 6, 5};int size = sizeof(a) / sizeof(a[0]);int max = a[0];int min = a[0];for (int i = 0; i < size; i++) {if (a[i] > max) {max = a[i];}if (a[i] < min) {min = a[i];}}printf("max = :%d\n", max);printf("min = :%d\n", min);return 0;
}

 3、将给定的字符串反转;

#include <stdio.h>
#include <string.h>void reverse(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}
}int main() {char str[] = "abcd";reverse(str);printf("reverse:%s\n", str);return 0;
}

4、判定一个给定的字符串是否是回文字符串;

#include <stdio.h>
#include <string.h>int palindrome(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {if(str[i] != str[len - i - 1]) {return 0;}}return 1;
}int main() {char str[] = "level";if(palindrome(str)) {printf("%s is palindrome\n", str);} else {printf("%s is not a palindrome\n", str);}return 0;
}

5、计算一个给定数字的阶乘;

#include <stdio.h>int factorial(int n) {if (n == 0 || n == 1) {return 1;}return n * factorial(n - 1);
}int main() {int num = 5;int result = factorial(num);printf("factorialof %d is %d\n", num, result);return 0;
}

6、找出一个对给定数组中的所有重复元素;

#include <stdio.h>void findDuplicates(int a[], int size) {for (int i = 0; i < size; i++) {for(int j = i + 1; j < size; j++) {if (a[i] == a[j]) {printf("%d is aduplicate\n", a[i]);}}}
}int main() {int a[] = {2, 3, 4, 2, 5, 6, 4, 3};int size = sizeof(a) / sizeof(a[0]);findDuplicates(a, size);return 0;
}

7、将一个给定的整数数组按升序排序;

#include <stdio.h>void bubbleSort(int a[], int size) {for (int i = 0; i < size - 1; i++) {for (int j = 0; j < size - i - 1; j++) {if (a[j] > a[j + 1]) {int temp = a[j];a[j] = a[j + 1];a[j + 1] = temp;}}}
}int main() {int a[] = {5, 2, 9, 1, 7};int size = sizeof(a) / sizeof(a[0]);bubbleSort(a, size);printf("Sorted array in ascending order: ");for (int i = 0; i < size; i++) {printf("%d ", a[i]);}printf("\n");return 0;
}

8、判断一个给定的字符串是否是有效的ip地址;

#include <stdio.h>
#include <string.h>int ipAddress(char str[]) {int count = 0;char *token = strtok(str, ".");while (token != NULL) {int num = atoi(token);if (num < 0 || num > 255) {retturn 0;}count++;token = strtok(NULL, ".");}return (count == 4);
}int main() {char str[] = "192.168.0.1";if(ipAddress(str)) {printf("%s 是一个有效IP地址\n", str);} else {printf("%s 不是一个有效的IP地址\n", str);}return 0;
}

 9、判断一个给定的字符串是否是有效的括号序列(左右括号数量是否一致);

#include <stdio.h>
#include <string.h>int vaild(char str[]) {int len = strlen(str);int count = 0;for (int i = 0; i < len; i++) {if (str[i] == '(')  {count++;} else if (str[i] == ')') {count--;}if (count < 0) {return 0;}}return (count == 0);
}int main() {char str[] = "((()))";if (vaild(str)) {printf("%s 是一个有效的括号\n", str);} else {printf("%s 不是一个有效的括号\n", str);}return 0;
}

10、将一个给定的字符串中的所有空格替换为“%20”;

#include <stdio.h>
#include <string.h>void spaces(char str[]) {int len = strlen(str);int count = 0;for (int i = 0; i < len; i++) {if (str[i] = ' ') {count++;}}int newlen = len + 2 * count;str[newlen] = '\0';for(int i = len - 1; i >= 0; i--) {if (str[i] == ' ' ) {str[newlen - 1] = '0';str[newlen - 2] = '2';sre[newlen - 3] = '%';newlen--;} else {str[newlen - 1] = str[i];newlen--;}}
}int main () {char str[] = "hello world";spaces(str);printf("空格替换后的字符串:%s\n", str);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/30029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析Nmap:掌握所有参数的网络扫描之道

Nmap&#xff08;Network Mapper&#xff09;作为一款功能强大的开源网络扫描工具&#xff0c;不仅广泛应用于网络安全领域&#xff0c;还在系统管理、网络调优等方面发挥着关键作用。本篇博客将深入探讨Nmap的各种参数&#xff0c;逐一介绍其用途、特点以及实际应用&#xff0…

基于颜色进行轮廓分割,基于opencv和python

1. 阈值调整&#xff0c;交互式的阈值调整&#xff0c;确定上限和下限&#xff1a; import cv2 as cv import numpy as npdef Tcallback(event):H cv.getTrackbarPos(H, show_pic)S cv.getTrackbarPos(S, show_pic)V cv.getTrackbarPos(V, show_pic)H0 cv.getTrackbarPos(…

2023企业数智化转型的正确打开方式是什么?他这样说(二)

哈喽~又见面了大家&#xff01;上期我们说到了数据在数智化转型中的重要性&#xff0c;戳这里↓↓↓&#xff0c;一键直达 2023企业数智化转型的正确打开方式是什么&#xff1f;他这样说&#xff08;一&#xff09; 这期我们将从监控的角度进一步跟大家分享数智化转型&#x…

Java # Spring(2)

一、Spring事物 一、分类 编程式事物&#xff1a;代码中硬编码&#xff08;不推荐使用&#xff09; 声明式事物&#xff1a;配置文件中配置&#xff08;推荐使用&#xff09; 分类&#xff1a; 基于xml的声明式事物基于注解的声明式事物 二、隔离级别 ISOLATION_DEFAULT&…

Kubernetes集群部署

环境 > 192.168.50.53 k8s-master > 192.168.50.51 k8s-node1 > 192.168.50.50 k8s-node2 必须不能少于两核两G 所有主机共同操作 主机初始化配置 所有主机配置禁用防火墙和selinux [rootserver ~]# setenforce 0 [rootserver ~]# iptables -F [rootserver ~]…

Android java.lang.UnsatisfiedLinkError: No implementation found

例如&#xff0c;该项目的如下报错&#xff1a; java.lang.UnsatisfiedLinkError: No implementation found for void org.webrtc.PeerConnectionFactory.nativeInitializeAndroidGlobals() (tried Java_org_webrtc_PeerConnectionFactory_nativeInitializeAndroidGlobals and…

LeetCode150道面试经典题--罗马数字转整数(简单)

目录 1.题目 2.示例 3.思路 4.案例代码&#xff08;Java&#xff09; 1.题目 罗马数字包含以下七种字符: I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L …

java Spring Boot yml多环境配置

我们项目 线上和线下 环境配置不是特别一样 例如 运行的URL 数据库地址 数据库的账号密码 这些经常是不一样的 如果每次上线钱改 也不是特别方便 甚至可能忘记 那么 进入我们代码中 所谓的多环境 就是在不同的环境下配置不同的值 终端还是在application配置文件中 多环境的话…

一、Kubernetes介绍与集群架构

Kubernetes介绍与集群架构 一、认识容器编排工具 docker machine 主要用于准备docker host现已弃用建议使用docker desktop docker compose Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。使用 Compose&#xff0c;您可以使用 YAML 文件来配置应用程序的服务。…

电源控制--对数与db分贝

在控制理论中&#xff0c;"db"通常表示分贝&#xff08;decibel&#xff09;的缩写。分贝是一种用于度量信号强度、增益或衰减的单位。 在控制系统中&#xff0c;分贝常用于描述信号的增益或衰减。通常&#xff0c;增益以正数的分贝值表示&#xff0c;而衰减以负数的…

分布式定时任务框架Quartz总结和实践(1)

一、概述 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目&#xff0c;它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个&#xff0c;百个&#xff0c;甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或…

营收、净利同比微增,喜临门品牌升级“临门一脚”?

8月8日晚&#xff0c;喜临门发布2023上半年业绩报告。根据财报&#xff0c;2023年上半年&#xff0c;喜临门营业收入约38.05亿元&#xff0c;同比增加5.53%&#xff1b;归属于上市公司股东的净利润约2.22亿元&#xff0c;同比增加1.2%。 如果仅从这份财报看&#xff0c;喜临门…

解决Spring Boot 2.6及之后版本取消了循环依赖的支持的问题

目录 1、问题&#xff1a; 2、报错&#xff1a; 3、解决方案&#xff1a; 1、问题&#xff1a; 循环依赖指的是两个或者多个bean之间相互依赖,形成一个闭环。直接表现为两个service层互相调用对方。 此时会遇到以下问题&#xff1a; 2、报错&#xff1a; 当启动项目时&…

Python AI 绘画

Python AI 绘画 本文我们将为大家介绍如何基于一些开源的库来搭建一套自己的 AI 作图工具。 需要使用的开源库为 Stable Diffusion web UI&#xff0c;它是基于 Gradio 库的 Stable Diffusion 浏览器界面 Stable Diffusion web UI GitHub 地址&#xff1a;GitHub - AUTOMATI…

总结线程池

什么是线程池 线程池&#xff08;Thread Pool&#xff09;是一种用于管理和复用线程的技术&#xff0c;它可以在多线程编程中有效地管理线程的创建、执行和销毁。是一种有效管理线程的机制&#xff0c;可以提高多线程编程的效率、性能和资源利用率。它在许多并发编程的场景中被…

【设计模式】-建造者模式

Java建造者模式&#xff1a;创建复杂对象的灵活构建者 在软件开发中&#xff0c;我们经常遇到需要创建一个复杂对象的情况。如果使用传统的构造函数进行对象创建&#xff0c;可能会导致构造函数参数过多&#xff0c;难以管理和维护。建造者模式&#xff08;Builder Pattern&am…

数据结构-队列(C语言的简单实现)

简介 队列也是一种数据结构&#xff0c;队列也可以用来存放数字每次只能向队列里将入一个数字&#xff0c;每次只能从队列里获得一个数字在队列中&#xff0c;允许插入的一段称为入队口&#xff0c;允许删除的一段称为出队口它的原则是先进先出(FIFO: first in first out)&…

Docker之jenkins部署harbor在harbor中完成部署

Docker之jenkins部署harbor在harbor中完成部署 1、harbor作用 Harbor允许用户用命令行工具对容器镜像及其他Artifact进行推送和拉取&#xff0c;并提供了图形管理界面帮助用户查阅和删除这些Artifact。在Harbor 2.0版本中&#xff0c;除容器镜像外&#xff0c;Harbor对符合OCI…

商品推荐系统浅析 | 京东云技术团队

一、综述 本文主要做推荐系统浅析&#xff0c;主要介绍推荐系统的定义&#xff0c;推荐系统的基础框架&#xff0c;简单介绍设计推荐的相关方法以及架构。适用于部分对推荐系统感兴趣的同学以及有相关基础的同学&#xff0c;本人水平有限&#xff0c;欢迎大家指正。 二、商品…

灰度线性变换之c++实现(qt + 不调包)

1.介绍 灰度线性变化是最常用的点运算&#xff08;对每个像素进行运算&#xff09;操作之一&#xff0c;灰度线性变化就是将图片的像素值通过指定的线性函数进行变换&#xff0c;以此增强或者减弱图片的灰度。灰度线性变换的公式就是常见的一维线性函数&#xff1a; y_out k…