【初阶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 这二个数是不可取的。

相关文章
|
5天前
|
存储 人工智能 算法
数据结构实验之C 语言的函数数组指针结构体知识
本实验旨在复习C语言中的函数、数组、指针、结构体与共用体等核心概念,并通过具体编程任务加深理解。任务包括输出100以内所有素数、逆序排列一维数组、查找二维数组中的鞍点、利用指针输出二维数组元素,以及使用结构体和共用体处理教师与学生信息。每个任务不仅强化了基本语法的应用,还涉及到了算法逻辑的设计与优化。实验结果显示,学生能够有效掌握并运用这些知识完成指定任务。
28 4
|
1月前
|
存储 编译器 C语言
【c语言】数组
本文介绍了数组的基本概念及一维和二维数组的创建、初始化、使用方法及其在内存中的存储形式。一维数组通过下标访问元素,支持初始化和动态输入输出。二维数组则通过行和列的下标访问元素,同样支持初始化和动态输入输出。此外,还简要介绍了C99标准中的变长数组,允许在运行时根据变量创建数组,但不能初始化。
37 6
|
1月前
|
存储 算法 C语言
C语言:什么是指针数组,它有什么用
指针数组是C语言中一种特殊的数据结构,每个元素都是一个指针。它用于存储多个内存地址,方便对多个变量或数组进行操作,常用于字符串处理、动态内存分配等场景。
|
1月前
|
存储 C语言
C语言:一维数组的不初始化、部分初始化、完全初始化的不同点
C语言中一维数组的初始化有三种情况:不初始化时,数组元素的值是随机的;部分初始化时,未指定的元素会被自动赋值为0;完全初始化时,所有元素都被赋予了初始值。
|
1月前
|
C语言
C语言数组
C语言数组
20 0
|
1月前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
34 3
|
11天前
|
C语言
c语言调用的函数的声明
被调用的函数的声明: 一个函数调用另一个函数需具备的条件: 首先被调用的函数必须是已经存在的函数,即头文件中存在或已经定义过; 如果使用库函数,一般应该在本文件开头用#include命令将调用有关库函数时在所需要用到的信息“包含”到本文件中。.h文件是头文件所用的后缀。 如果使用用户自己定义的函数,而且该函数与使用它的函数在同一个文件中,一般还应该在主调函数中对被调用的函数做声明。 如果被调用的函数定义出现在主调函数之前可以不必声明。 如果已在所有函数定义之前,在函数的外部已做了函数声明,则在各个主调函数中不必多所调用的函数在做声明
27 6
|
1月前
|
存储 缓存 C语言
【c语言】简单的算术操作符、输入输出函数
本文介绍了C语言中的算术操作符、赋值操作符、单目操作符以及输入输出函数 `printf` 和 `scanf` 的基本用法。算术操作符包括加、减、乘、除和求余,其中除法和求余运算有特殊规则。赋值操作符用于给变量赋值,并支持复合赋值。单目操作符包括自增自减、正负号和强制类型转换。输入输出函数 `printf` 和 `scanf` 用于格式化输入和输出,支持多种占位符和格式控制。通过示例代码详细解释了这些操作符和函数的使用方法。
36 10
|
24天前
|
存储 算法 程序员
C语言:库函数
C语言的库函数是预定义的函数,用于执行常见的编程任务,如输入输出、字符串处理、数学运算等。使用库函数可以简化编程工作,提高开发效率。C标准库提供了丰富的函数,满足各种需求。
|
30天前
|
机器学习/深度学习 C语言
【c语言】一篇文章搞懂函数递归
本文详细介绍了函数递归的概念、思想及其限制条件,并通过求阶乘、打印整数每一位和求斐波那契数等实例,展示了递归的应用。递归的核心在于将大问题分解为小问题,但需注意递归可能导致效率低下和栈溢出的问题。文章最后总结了递归的优缺点,提醒读者在实际编程中合理使用递归。
60 7