C语言 编程题

C语言学习!

        1.小明上课需要走n阶台阶,他每次可以选择走一阶或者走两阶,他一共有多少种走法?

输入描述:输入包含一个整数n(1 ≤ n ≤30)

输出描述:输出一个整数,即小明可以走的方法数。

代码示例:

#include <stdio.h>int fig(int n)
{if (n <= 2){return n;}else{return fig(n - 1) + fig(n - 2);}
}int main()
{int n = 0;scanf("%d", &n);//输入int ret = fig(n);//计算printf("%d\n", ret);//输出return 0;
}

运行结果:

2
2
10
89

        2.有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。

数据范围:序列长度和序列中的值都满足 1 ≤ n ≤ 50

输入描述:

  • 第一行输入一个整数(1 ≤ n ≤ 50)。
  • 第二行输入N个整数,输入用空格分隔的N个整数。
  • 第三行输入想要进行删除的一个整数。

输出描述:输出为一行,删除指定数字之后的序列。

代码示例:

#include <stdio.h>
int main()
{int n = 0;scanf("%d", &n);//接收n个数字int arr[50] = { 0 };int i = 0;for (i = 0; i < n; i++){scanf("%d", &arr[i]);}int del = 0;scanf("%d", &del);//接收删除的数据int j = 0;//j作为下标锁定的位置,用来存放不删除的数据for (i = 0; i < n; i++){if (arr[i] != del){arr[j++] = arr[i];}}for (i = 0; i < j; i++)//输出{printf("%d ", arr[i]);}return 0;
}

运行结果:

6
5 7 6 9 5 8
5
7 6 9 8

        3.输出n个成绩,换行输出n个成绩中最高分和最低分的差。

输入描述:

  • 两行。第一行为n,表示n个成绩,不会大于10000.
  • 第二行为n个成绩(整数表示,范围0~100),以空格隔开。

输出描述:一行,输出n个成绩中最高分数和最低分数的差。

代码示例:

#include <stdio.h>
int main()
{int n = 0;scanf("%d", &n);int arr[10000] = { 0 };int i = 0;for (i = 0; i < n; i++)//输入{scanf("%d", &arr[i]);}int max = 0;int mix = 100;for (i = 0; i < n; i++)//比较出最大值和最小值{if (arr[i] < mix){mix = arr[i];}if (arr[i] > max){max = arr[i];}}printf("%d", max - mix);//输出return 0;
}

运行结果:

6
66 88 60 87 99 80
39

        4.字母大小写转换,有一个字符,判断它是否为大写字母,如果是,将它转换成小写字母;反之则转换为大写字母。

输入描述:多组输入,每一行输入一个字母。

输出描述:针对每组输入,输出单独占一行,输出字母的对应形式。

代码示例1:

#include <stdio.h>
int main()
{char n = 0;while(scanf("%c", &n)==1){if (n >= 'a' && n <= 'z'){printf("%c\n", n - 32);}else if (n >= 'A' && n <= 'Z'){printf("%c\n", n + 32);}}return 0;
}

运行结果:

a
A
G
g
f
F
H
h

代码示例2:

#include <ctype.h>
#include <stdio.h>
int main()
{char n = 0;while(scanf("%c", &n)!=EOF){if (islower(n))//islower函数判断是否是小写字母,是返回1{printf("%c\n", toupper(n));//toupper函数可将小写字母转大写}else if (isupper(n))//isupper函数判断是否是大写字母,是返回1{printf("%c\n", tolower(n));//tolower函数可将大写字母转小写}}return 0;
}

运行结果:

a
A
b
B
G
g
T
t

分析:scanf函数读取成功时,返回读取的数据个数;读取失败时,返回EOF。


        5.判断输入的字符是不是字母。

输入描述:多组输入,每一行输入一个字符。

输出描述:针对每组输入,输出但独占一行,判断输入字符是否为字母,输出内容详见输出样例。

输出样例:

a
a is an alphabet.
*
* is not an alphabet.

代码示例1:

#include <stdio.h>
int main()
{char ch = 0;while (scanf("%c", &ch) == 1){if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')){printf("%c is an alphabet.\n", ch);}else{printf("%c is not an alphabet.\n", ch);}getchar( );//用于处理输入字符末尾的\n}return 0;
}

运行结果:

5
5 is not an alphabet.
D
D is an alphabet.
a
a is an alphabet.
*
* is not an alphabet.

分析:

        getchar( );用于处理输入字符末尾的\n

代码示例2:

#include <stdio.h>
int main()
{char ch = 0;while (scanf(" %c", &ch) == 1)//%c前面加空格,是为了跳过下一个字符之前的所有空白字符\n{if (isalpha(ch))// isalpha函数用于判断是否为字母,是输出1.{printf("%c is an alphabet.\n", ch);}else{printf("%c is not an alphabet.\n", ch);}}return 0;
}

运行结果:

#
# is not an alphabet.
G
G is an alphabet.
c
c is an alphabet.
9
9 is not an alphabet.

分析:

        scanf中%c前面加空格,是为了跳过下一个字符之前的所有空白字符\n

        isalpha函数用于判断是否为字母,是输出1.


        6.变种水仙花数:把任意的数字从中间拆分成两个数字,如1461可拆分为1和461;14和61;146和1,若所有拆分后的乘积之和等于自身则是一个水仙花数。

1461=1*461 + 14*61 + 146*1

求出5位数中的所有水仙花数。

代码示例:

#include <stdio.h>
#include <math.h>int main()
{int i = 0;for (i = 10000; i < 99999; i++){int j = 0;int sum = 0;for (j = 1; j <= 4; j++){int k = (int)pow(10, j);sum += (i / k) * (i % k);}if (sum == i){printf("%d ", i);}}return 0;
}

运行结果:

14610 16420 23610 34420 65500

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

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

相关文章

LeetCode 1457. 二叉树中的伪回文路径||位运算 DFS

1457. 二叉树中的伪回文路径 给你一棵二叉树&#xff0c;每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的&#xff0c;当它满足&#xff1a;路径经过的所有节点值的排列中&#xff0c;存在一个回文序列。 请你返回从根到叶子节点的所有路径中 伪回文 路径的…

Golang优雅实现按比例切分流量

我们在进行灰度发布时&#xff0c;往往需要转发一部分流量到新上线的服务上&#xff0c;进行小规模的验证&#xff0c;随着功能的不断完善&#xff0c;我们也会逐渐增加转发的流量&#xff0c;这就需要按比例去切分流量&#xff0c;那么如何实现流量切分呢&#xff1f; 我们很容…

力扣(LeetCode)-1. 两数之和

给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回…

【交流】PHP生成唯一邀请码

目录 前言&#xff1a; 1.随机生成&#xff0c;核对user表是否已存在 代码&#xff1a; 解析&#xff1a; 缺点&#xff1a; 2.建表建库&#xff0c;每次从表中随机抽取一条&#xff0c;用完时扩充 表结构 表视图 代码 解析 缺点 结论&#xff1a; 前言&#xff1a; …

LinuxBasicsForHackers笔记 -- 压缩和归档

压缩分为有损或无损。有损压缩对于减小文件大小非常有效&#xff0c;但会丢失信息的完整性。换句话说&#xff0c;压缩后的文件与原始文件并不完全相同。 这种类型的压缩非常适合图形、视频和音频文件&#xff0c;文件中的微小差异几乎不会被注意到。 本章重点介绍这种无损压缩…

解读Stable Video Diffusion:详细解读视频生成任务中的数据清理技术

Diffusion Models视频生成-博客汇总 前言:Stable Video Diffusion已经开源一周多了,技术报告《Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets》对数据清洗的部分描述非常详细,虽然没有开源源代码,但是博主正在尝试复现其中的操作。这篇…

医学影像PACS信息化数字平台源码

PACS系统对医院影像科意义重大&#xff0c;将业务量巨大的影像检验流程依托于信息化技术&#xff0c;对于进行信息化建设的医院而言&#xff0c;是十分必要的。 PACS系统源码&#xff0c;集成三维影像后处理功能&#xff0c;包括三维多平面重建、三维容积重建、三维表面重建、三…

包装类, 泛型---java

目录 一. 包装类 1.1 基本数据类型和对应的包装类 1.2 装箱和拆箱 二. 泛型 2.1什么是泛型 2.2泛型的引入 2.3 泛型类语法 2.4 泛型类的使用 2.5 裸类型(Raw Type)(了解) 2.6 泛型是如何编译的 2.7 泛型的上界 2.8 泛型方法 一. 包装类 在 Java 中&#xff0c;由于基本…

uniapp实战 —— 竖排多级分类展示

效果预览 完整范例代码 页面 src\pages\category\category.vue <script setup lang"ts"> import { getCategoryTopAPI } from /apis/category import type { CategoryTopItem } from /types/category import { onLoad } from dcloudio/uni-app import { compu…

vue指令

v-text 更新元素的 textContent。如果要更新部分的 textContent&#xff0c;需要使用 {{ Mustache }} 插值。 <span v-text"msg"></span> <!-- 和下面的一样 --> <span>{{msg}}</span>v-html 更新元素的 innerHTML。注意&#xff1a;内…

基于高通MSM8953平台android9.0的GPIO驱动开发

2.1、注册设备&#xff1a; 2.1.1、添加编译选项&#xff1a; 1&#xff09;、修改kernel/msm-4.9/drivers/leds下Makefile文件&#xff1a; obj-$(CONFIG_LED_GPIO) led_gpio.o 2&#xff09;、修改kernel/msm-4.9/drivers/leds下Kconfig文件&#xff1a; config LED_GPIO…

Java实现归并排序算法

归并排序算法 &#xff08;1&#xff09;基本思想&#xff1a;归并&#xff08;Merge&#xff09;排序法是将两个&#xff08;或两个以上&#xff09;有序表合并成一个新的有序表&#xff0c;即把待排序序列分为若干个子序列&#xff0c;每个子序列是有序的。然后再把有序子序…

蛋白质序列FeatureDict转化为TensorDict

主要转化语句为 tensor_dict {k: tf.constant(v) for k, v in np_example.items() if k in features_metadata}。 增加了特征名称的选择&#xff0c;不同特征维度&#xff0c;特征数的判断等。 from typing import Dict, Tuple, Sequence, Union, Mapping, Optional #import …

postgresql_conf中常用配置项

在 PostgreSQL 的 postgresql.conf 配置文件中&#xff0c;有许多常用的配置项&#xff0c;这些配置项可以根据特定需求和性能优化进行调整。以下是一些常用的配置项及其作用&#xff1a; 1. shared_buffers 用于设置 PostgreSQL 实例使用的共享内存缓冲区大小。增加此值可以…

游戏被攻击该怎么办?游戏盾该如何使用,游戏盾如何防护攻击

随着Internet互联网络带宽的增加和多种DDOS黑客工具的不断发布&#xff0c;DDOS拒绝服务攻击的实施越来越容易&#xff0c;DDOS攻击事件正在成上升趋势。出于商业竞争、打击报复和网络敲诈等多种因素&#xff0c;导致很多商业站点、游戏服务器、聊天网络等网络服务商长期以来一…

Nacos 配置加密功能也太鸡肋了吧,有种更好的方式

大家好&#xff0c;我是风筝&#xff0c;微信搜「古时的风筝」&#xff0c;更多干货 当项目中用了 Nacos 做配置中心&#xff0c;是不是所有的配置都放到里面呢&#xff0c;大部分时候为了省事和统一&#xff0c;系统所有的配置都直接放在里面了&#xff0c;有时候&#xff0c…

什么是自动化测试框架?常用的自动化测试框架有哪些?

无论是在自动化测试实践&#xff0c;还是日常交流中&#xff0c;经常听到一个词&#xff1a;框架。之前学习自动化测试的过程中&#xff0c;一直对“框架”这个词知其然不知其所以然。 最近看了很多自动化相关的资料&#xff0c;加上自己的一些实践&#xff0c;算是对“框架”…

Redis相关知识

yum安装redis 使用以下命令&#xff1a;直接将redis安装到Linux服务器&#xff08;Xshell&#xff09;中 yum -y install redis 启动redis 使用以下命令&#xff0c;以后台运行方式启动redis redis-server /etc/redis.conf & 操作redis 使用以下命令启动redis客户端 redis-…

RFID在新能源工厂大放异彩

RFID在新能源工厂大放异彩 我国在十四五规划中提出了建设绿色低碳发展的目标&#xff0c;新能源产业成为了国家发展的重点领域之一&#xff0c;开始大力支持各种新能源厂商发展。各个厂商之间不仅比产品、比技术。也比生产想要降本增效&#xff0c;为了实现这一目标&#xff0…

MBD Introduction

介绍 MATLAB是MathWorks公司的商业数学软件&#xff0c;应用于科学计算、可视化以及交互式程序设计等高科技计算环境。Simulink是MATLAB中的一种可视化仿真工具。 Simulink是一个模块图环境&#xff0c;用于多域仿真以及基于模型的设计。它支持系统设计、仿真、自动代码生成以…