【C语言】题集 of ③

简介: 设置个字符串数组arr,把它所进行打印。然后求字符串数量,再用for循环再去遍历。打印出来本题目就可以了,其实就是这么容易。唯一需要考虑的就是如何把小写字母转换成大写字母这个操作,其实这个并不需要去担心。因为我们可以用到一个函数就可以把小写字母转换成大写字母。C库函数 int tolower(int c)转换给定的字母为小写。

📚第十一题→将字符串小写字母转换成大写字母📚

这类题目就是很容易的其实,一句概括核心那就是题目当中的内容。


首先设置个字符串数组arr,把它所进行打印。然后求字符串数量,再用for循环再去遍历。打印出来本题目就可以了,其实就是这么容易。


唯一需要考虑的就是如何把小写字母转换成大写字母这个操作,其实这个并不需要去担心。因为我们可以用到一个函数就可以把小写字母转换成大写字母。


C库函数 int tolower(int c)转换给定的字母为小写。


C库函数 int toupper(int c)转换给定的字母为大写,本题目使用的就是这个。


使用库函数的头文件是:#include<ctype.h>


📚第十二题→输入三个数字,从大到小依次的进行排列📚

首先这道题目很明确的说明了做题的思路。


输入:用scanf()函数输入即可


三个数字:创建三个整形变量。


从大到小依次进行排列:用判断语句 if  就能实现。举出一个例子吧。


如果,a>b 这种就没有任何必要进行交换了,因为本身就是按照大小进行打印了这就。像如果a<b 这种就要把 a 和 b 的值进行交换这样就实现了从大到小依次排列。那么这里要进行三次判断,a,b,c每次都要进行一次。a<b、a<c、b<c


最终打印三个变量即可。


📚第十三题→实现一个函数,打印乘法口诀表,口诀表的行列数自己指定📚

这道题目在C语言 题目9当中出现过。只不过它是叫我们打印出9*9的乘法口诀表,而这个是叫我们实现一个函数,并且行列数自己决定。这个意思是:假设我输入5,那么打印 5*5 的乘法口诀表。假设我输入的是8,那么打印 8*8的乘法口诀表。相信你已经有思路了那么开始刷题吧。这也是比较经典的题目新手是必须要掌握的。


📚第十四题→有1、2、3、4个数字,能组成多少个互不相同且无重复的三位数,都是多少?并且把组成的数的总数给打印出来📚

这道题目说实话可能是遇到跟之前相比算是有难度了,有些人一看这道题目可能不知道无从开始,没事让我们来分析下它!


首先:有1、2、3、4个数字,能组成多少个互不相同且无重复的三位数,都是多少?


这个看关键字,1、2、3、4个、无重复的三位数!很明显这道题目要从数学角度来算的话是这个样子的。


那么要把 1、2、3、4 的数字分别得到百位、十位、个位。


能组成多少个互不相同且无重复的三位数。进行 if 判断即可。判断百位 ,十位 ,个位都不相同。注意:创建三个变量 百 十 个。


并且把组成的数的总数给打印出来!创建个变量++即可!


组成数字的总数这个只要能判断成功的话那么就用Count++ 就可以实现。


📚第十五题→递归实现N的阶乘计算📚

这道题目如果你不知道递归那是完全做不来的,所以我们来说说递归!


程序调用自身的编程技巧称为递归。递归作为一种算法在程序设计语言中是广泛应用的。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题转换位一个与原问题相似的规模较小的问题来去进行求解,递归策略只需少了的程序就可以描述出解题的过程所需要的多次重复计算,大大减少了程序的代码量。递归的人主要思考方式就在于:把大事化小。递归之所以能够实现,是因为函数的每个执行过程在栈中都有自己的形参和局部变量的副本,这些副本和和该函数的其它执行过程是不会发生关系的。


注意:当递归进入到最内层的时候,递归就结束了,就开始逐层退出了,也就是逐层执行 return 语句。当执行最后层的 return 之后,就执行上面一层的递归!


再来说说递归的条件


每一个递归函数都应该只进行有限次的递归调用,否则它就会进入死胡同,永远也不能退出了,这样的程序是没有意义的。

存在限制条件,当满足这个限制条件之后的时候,递归便会不再继续。

每次递归调用之后都会越来越接近这个限制条件。

阶层实际上就是假如5的阶层:5x4x3x2x1 同理。

🖊第十一题の代码🖊

#include<stdio.h>
#include<ctype.h>
int main(void)
{
  char arr[20] = "hello Cyuyan";
  printf("打印前:%s\n", arr);
  printf("********************\n");
  int i = 0;
  int sz = sizeof(arr) / sizeof(arr[0]);
  for (i = 0; i < sz; i++)
  {
    arr[i] = toupper(arr[i]);
  }
  printf("打印后:%s\n", arr);
}

运行结果🖊

  • 打印前:hello Cyuyan
  • 打印后:HELLO CYUYAN

🖊第十二题の代码🖊

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
  int a, b, c, max;
  scanf("%d %d %d", &a, &b, &c);
  if (a<b)
  {
    max = a, a = b, b = max;
  }
  if (a<c)
  {
    max = a, a = c, c = max;
  }
  if (b<c)
  {
    max = b, b = c, c = max;
  }
  printf("%d %d %d\n", a, b, c);
  return 0;
}         

运行结果🖊

  • 3 4 5
  • 5 4 3

🖊第十三题の代码🖊

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void formula_table(int Custons)
{
  int row = 0;
  for (row = 1; row <= Custons; row++)
  {
    int col = 0;
    for (col = 1; col <= row; col++)
    {
      printf("%d * %d = %-4d ", col, row, row*col);
    }
    printf("\n");
  }
}
int main(void)
{
  unsigned int Custon = 0;
  printf("请输入行列数:");
  scanf("%d", &Custon);
  formula_table(Custon);
  return 0;
}

运行结果🖊

请输入的行列数:6
1 * 1= 1
2 * 1= 2 2 * 2= 4
3 * 1= 3 3 * 2= 6 3 * 3= 9
4 * 1= 4 4 * 2= 8 4 * 3= 12 4 * 4= 16
5 * 1= 5 5 * 2= 10 5 * 3= 15 5 * 4= 20 5 * 5= 25
6 * 1= 6 6 * 2= 12 6 * 3= 18 6 * 4= 24 6 * 5= 30 6 * 6= 36
请输入的行列数:9
1 * 1= 1
2 * 1= 2 2 * 2= 4
3 * 1= 3 3 * 2= 6 3 * 3= 9
4 * 1= 4 4 * 2= 8 4 * 3= 12 4 * 4= 16
5 * 1= 5 5 * 2= 10 5 * 3= 15 5 * 4= 20 5 * 5= 25
6 * 1= 6 6 * 2= 12 6 * 3= 18 6 * 4= 24 6 * 5= 30 6 * 6= 36
7 * 1= 7 7 * 2= 14 7 * 3= 21 7 * 4= 28 7 * 5= 35 7 * 6= 42 7 * 7= 49
8 * 1= 8 8 * 2= 16 8 * 3= 24 8 * 4= 32 8 * 5= 40 8 * 6= 48 8 * 7= 56 8 * 8= 64
9 * 1= 9 9 * 2= 18 9 * 3= 27 9 * 4= 36 9 * 5= 45 9 * 6= 54 9 * 7= 63 9 * 8= 72 9 * 9= 81

🖊第十四题の代码🖊

#define _CRT_SECURE_NO_WARNINGS 1
#define number 4
#include<stdio.h>
int main(void)
{
  int a = 0;
  int b = 0;
  int c = 0;//创建三个变量
  int Count = 0;//计算总数
  for (a = 1; a <= number; a++)//百位
  {
    for (b = 1; b <= number; b++)//十位
    {
      for (c = 1; c <= number; c++)//个位
      {
        if (a != b && b != c && a != c)//判断(无重复数字)
        {
          printf("%d%d%d ", a, b, c);
          Count++;//Count = Count + 1
        }
      }
    }
    printf("\n");//换行
  }
  printf("Count = %d\n", Count);
  return 0;
}

运行结果🖊

  • 123 124 132 134 142 143
  • 213 214 231 234 241 243
  • 312 314 321 324 341 342
  • 412 413 421 423 431 432
  • Count = 24

🖊第十五题の代码🖊

#include<stdio.h>
int face(int n)
{
  if (n <= 1)
    return 1;
  else
    return n*face(n - 1);
}
int main(void)
{
  int n = 0;
  printf("请输入你的数字:");
  scanf_s("%d", &n);
  int ret = face(n);
  printf("%d\n", ret);
}

运行结果🖊


请输入你的数字:5


ret = 120


5 * face(4) → 调用形式face(5)

4 * face(3) → 调用形式face(4)

3 * face(2) → 调用形式face(3)

2 * face(1) → 调用形式face(2)

1 * face(0) → 调用形式face(1)


1 * wu       → 调用形式face(1)  表达式当前调用的值:1

2 * face(1) → 调用形式face(2)  表达式当前调用的值:2

3 * face(2) → 调用形式face(3)  表达式当前调用的值:6

4 * face(3) → 调用形式face(4)  表达式当前调用的值:24

5 * face(4) → 调用形式face(5)  表达式当前调用的值:120


1 * wu = 0

2 * 1 = 2

3 * 2 = 6

4 * 6 = 24

5 * 24 = 120


目录
打赏
0
0
0
0
4
分享
相关文章
kde
|
3天前
|
Docker镜像加速指南:手把手教你配置国内镜像源
配置国内镜像源可大幅提升 Docker 拉取速度,解决访问 Docker Hub 缓慢问题。本文详解 Linux、Docker Desktop 配置方法,并提供测速对比与常见问题解答,附最新可用镜像源列表,助力高效开发部署。
kde
1407 4
2025年最新版最细致Maven安装与配置指南(任何版本都可以依据本文章配置)
本文详细介绍了Maven的项目管理工具特性、安装步骤和配置方法。主要内容包括: Maven概述:解释Maven作为基于POM的构建工具,具备依赖管理、构建生命周期和仓库管理等功能。 安装步骤: 从官网下载最新版本 解压到指定目录 创建本地仓库文件夹 关键配置: 修改settings.xml文件 配置阿里云和清华大学镜像仓库以加速依赖下载 设置本地仓库路径 附加说明:包含详细的配置示例和截图指导,适用于各种操作系统环境。 本文提供了完整的Maven安装和配置
2025年最新版最细致Maven安装与配置指南(任何版本都可以依据本文章配置)
Dify MCP 保姆级教程来了!
大语言模型,例如 DeepSeek,如果不能联网、不能操作外部工具,只能是聊天机器人。除了聊天没什么可做的。
435 5
Excel数据治理新思路:引入智能体实现自动纠错【Python+Agent】
本文介绍如何利用智能体与Python代码批量处理Excel中的脏数据,解决人工录入导致的格式混乱、逻辑错误等问题。通过构建具备数据校验、异常标记及自动修正功能的系统,将数小时的人工核查任务缩短至分钟级,大幅提升数据一致性和办公效率。
Go语言实战指南 —— Go中的反射机制:reflect 包使用
Go语言中的反射机制通过`reflect`包实现,允许程序在运行时动态检查变量类型、获取或设置值、调用方法等。它适用于初中级开发者深入理解Go的动态能力,帮助构建通用工具、中间件和ORM系统等。
142 63
让AI时代的卓越架构触手可及,阿里云技术解决方案开放免费试用
阿里云推出基于场景的解决方案免费试用活动,新老用户均可领取100点试用点,完成部署还可再领最高100点,相当于一年可获得最高200元云资源。覆盖AI、大数据、互联网应用开发等多个领域,支持热门场景如DeepSeek部署、模型微调等,助力企业和开发者快速验证方案并上云。
211 16
让AI时代的卓越架构触手可及,阿里云技术解决方案开放免费试用
国内如何安装和使用 Claude Code镜像教程 - Windows 用户篇
国内如何安装和使用 Claude Code镜像教程 - Windows 用户篇
247 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问