【初阶C语言】有关的经典题型内含数组及递归函数题型讲解(入门适用)(一)

简介: 【初阶C语言】有关的经典题型内含数组及递归函数题型讲解(入门适用)(一)

1. 在屏幕上输出9*9乘法口诀表


//在屏幕上输出9*9乘法口诀表
//1*1=1
//2*1=2 2*2=4
//3*1=3 3*2=6 3*3=9
//...
//
#include <stdio.h>
int main()
{
  int i = 0;
  for (i = 1; i <= 9; i++)
  {
  //打印一行的数据
  int j = 0;
  for (j = 1; j <= i; j++)
  {
    printf("%d*%d=%-3d ", i, j, i * j);  //-3d向左对齐
  }
  printf("\n");
  }
  return 0;
}


2. 求10 个整数中最大值


#include <stdio.h>
//求10 个整数中最大值
int main()
{
  int arr[] = { -1,-2,-3,-4,-5,-6,-7,-8,-9,-10 };
  //            0 1 ...
  int m = arr[0];
  int i = 0;
  for (i = 1; i < 10; i++)
  {
  if (arr[i] > m)
    m = arr[i];
  }
  printf("%d\n", m);
  return 0;
}


注意:

不能将m定义为0,如果定义为零,只能满足正数形式,并不能满足负数。


3. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果


#include <stdio.h>
//计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果
int main()
{
  int i = 0;
  float sum = 0.0;
  int flag = 1;
  for (i = 1; i <= 100; i++)
  {
  sum += flag*1.0f/i;
  flag = -flag;
  }
  printf("%f\n", sum);
  return 0;
}


4. 编写程序数一下 1到 100 的所有整数中出现多少个数字9


#include <stdio.h>
//编写程序数一下 1到 100 的所有整数中出现多少个数字9
int main()
{
  int i = 0;
  int count = 0;
  for (i = 1; i <= 100; i++)
  {
  if (i % 10 == 9)
    count++;
  if (i / 10 == 9)//注意不是else if,否则结果会为19
    count++;
  }
  printf("%d\n", count);
  return 0;
}


注意: 个位和十位都要判断有没有数字9。


5. 能把函数处理结果的二个数据返回给主调函数


#include <stdio.h>
被调用的函数
void test(int arr[])  //形参用数组的形式
{
  arr[0] = 3;
  arr[1] = 5;
}
//主调函数
int main()
{
  int arr[2];
  test(arr);
  printf("%d %d\n", arr[0], arr[1]);
  return 0;
}
void test(int*p1, int*p2)  //形参用二个指针
{
  *p1 = 3;
  *p2 = 5;
}
//主调函数
int main()
{
  int x = 0; 
  int y = 0;
  test(&x, &y);
  printf("%d %d\n", x,y);
  return 0;
}
int x;
int y;
void test()   //用俩个全局变量
{
  x = 3;
  y = 5;
}
//主调函数
int main()
{
  test();
  printf("%d %d\n", x, y);
  return 0;
}


注意: return 这二个数是不可取的。

相关文章
|
1月前
|
存储 编译器 C语言
【C语言程序设计——入门】C语言入门与基础语法(头歌实践教学平台习题)【合集】
本文档介绍了C语言环境配置和编程任务,主要内容包括: - **C语言环境配置**:详细讲解了在Windows系统上配置C语言开发环境的步骤。 - **第1关:程序改错**:包含任务描述、相关知识(如头文件引用、基本语法规则)、编程要求、测试说明及通关代码。 - **第2关:scanf函数**:涉及`scanf`和`printf`函数的格式与使用方法,提供编程要求、测试说明及通关代码。 文档结构清晰,涵盖从环境搭建到具体编程任务的完整流程,适合初学者学习和实践。
51 4
|
1月前
|
C语言
【C语言程序设计——入门】基本数据类型与表达式(头歌实践教学平台习题)【合集】
这份文档详细介绍了编程任务的多个关卡,涵盖C语言的基础知识和应用。主要内容包括: 1. **目录**:列出所有关卡,如`print函数操作`、`转义字符使用`、`数的向上取整`等。 2. **各关卡的任务描述**:明确每关的具体编程任务,例如使用`printf`函数输出特定字符串、实现向上取整功能等。 3. **相关知识**:提供完成任务所需的背景知识,如格式化输出、算术运算符、关系运算符等。 4. **编程要求**:给出具体的代码编写提示。 5. **测试说明**:包含预期输入输出,帮助验证程序正确性。 6. 文档通过逐步引导学习者掌握C语言的基本语法和常用函数,适合初学者练习编程技能。
45 1
|
2月前
|
存储 NoSQL 编译器
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
指针是一个变量,它存储另一个变量的内存地址。换句话说,指针“指向”存储在内存中的某个数据。
124 3
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
|
2月前
|
传感器 算法 安全
【C语言】两个数组比较详解
比较两个数组在C语言中有多种实现方法,选择合适的方法取决于具体的应用场景和性能要求。从逐元素比较到使用`memcmp`函数,再到指针优化,每种方法都有其优点和适用范围。在嵌入式系统中,考虑性能和资源限制尤为重要。通过合理选择和优化,可以有效提高程序的运行效率和可靠性。
187 6
|
3月前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
99 5
|
3月前
|
存储 程序员 编译器
C 语言数组与指针的深度剖析与应用
在C语言中,数组与指针是核心概念,二者既独立又紧密相连。数组是在连续内存中存储相同类型数据的结构,而指针则存储内存地址,二者结合可在数据处理、函数传参等方面发挥巨大作用。掌握它们的特性和关系,对于优化程序性能、灵活处理数据结构至关重要。
|
3月前
|
存储 C语言 计算机视觉
在C语言中指针数组和数组指针在动态内存分配中的应用
在C语言中,指针数组和数组指针均可用于动态内存分配。指针数组是数组的每个元素都是指针,可用于指向多个动态分配的内存块;数组指针则指向一个数组,可动态分配和管理大型数据结构。两者结合使用,灵活高效地管理内存。
|
3月前
|
存储 NoSQL 编译器
C 语言中指针数组与数组指针的辨析与应用
在C语言中,指针数组和数组指针是两个容易混淆但用途不同的概念。指针数组是一个数组,其元素是指针类型;而数组指针是指向数组的指针。两者在声明、使用及内存布局上各有特点,正确理解它们有助于更高效地编程。
|
1月前
|
存储 算法 C语言
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
63 23
|
1月前
|
算法 C语言
【C语言程序设计——函数】利用函数求解最大公约数和最小公倍数(头歌实践教学平台习题)【合集】
本文档介绍了如何编写两个子函数,分别求任意两个整数的最大公约数和最小公倍数。内容涵盖循环控制与跳转语句的使用、最大公约数的求法(包括辗转相除法和更相减损术),以及基于最大公约数求最小公倍数的方法。通过示例代码和测试说明,帮助读者理解和实现相关算法。最终提供了完整的通关代码及测试结果,确保编程任务的成功完成。
68 15

热门文章

最新文章