首页 > 编程语言 >一维数组程序设计示例(1)

一维数组程序设计示例(1)

时间:2024-11-03 23:44:19浏览次数:4  
标签:10 return 一维 示例 ++ 个数 数组 printf 程序设计

一、数组中的元素 不同排序输出 :

 1.   逆序 存放并输出 :

       # 分析:首先将输入的n个整数对应存放到a数组中,只要将a[0]与a[n - 1]交换,a[1]与a[n - 2]交换,… ,a[i] 与a[n - 1 - i]交换,即可逆序存放这n个整数。

        示例:

#include<stdio.h>

int main()       
{
    int n, i, a[10], t;
    scanf("%d",&n);                            //    输入 n 的值
    
    for (i = 0; i < n; i ++)
    {
        scanf("%d",&a[i]);                    //    输入 n 个数到 a数组
    }
    
    for (i = 0; i < n / 2;i ++)                //    交换对应元素
    {
        t = a[i];
        a[i] = a[n - 1 - i];
        a[n - 1 - i] = t;
    }
    
    for (i = 0;i < n; i ++)
    {
         printf("%-3d",a[i]);                   //     输出交换顺序后的数组中的元素
    }
    
    printf("\n");
    
    return 0;
}

       >>> 运行结果 :

10
9 8 7 6 5 4 3 2 1 0
0  1  2  3  4  5  6  7  8  9

--------------------------------
Process exited after 12.61 seconds with return value 0
请按任意键继续. . .

2.   递推法 输出数组中元素: ( 裴波拉契数列 ) 

      # 分析: 由递推公式的前两项可以求出第三项,继而由第二和第三项可以求出第四种从已知项出发一项一项求出未知项的方法叫递推法 。

       示例:  输出 裴波拉契数列 的前20项 。 公式如下 :

                                f(n) = { 1 ;                                        n = 1;

                                            1 ;                                        n = 2;

                                             f(n - 1) + f(n - 2);                n >= 3;  }

       本题目递推法结合数组来进行求解。使用数组解决斐波拉契数列的程序很清晰,可以将数列20项全部计算出来,按序存放在已定义的数组中,然后再输出。

#include<stdio.h>

int main()
{
	int f[21], i;                        //   定义斐波拉契数列的数组
	f[1] = 1;                            //   存放第1个数
	f[2] = 1;                            //   存放第2个数
	
	for (i = 3; i < 21; i ++)            //   计算第3个以后的斐波拉契数列
	{
		f[i] = f[i - 1] + f[i -2];
	}
	
	for (i = 1; i < 21; i ++)            //   输出斐波拉契数列
	{
		printf("%-8d",f[i]);
		if (i % 4 ==0)                   //   每行输出4个数据
		{
			printf("\n");
		}
	}
	
	return 0;
}

              >>>  运行结果 : 

1       1       2       3
5       8       13      21
34      55      89      144
233     377     610     987
1597    2584    4181    6765

--------------------------------
Process exited after 0.6288 seconds with return value 0
请按任意键继续. . .

3.   交换法 排序 :

      # 分析: 从键盘输入10个数,要求按升序排序,输出排序结果。

(1)利用循环语句由键盘输入10个数依次放入 a 数组。
(2)排序方法如下:
      ①第1轮用 a [0]依次与 a [1], a [2],…, a [9]进行比较,若次序不对就交换,否则不交换。 本轮结束后, a [0]中就是10个数中的最小数。
      ②第2轮用 a [1]依次与 a [2],…, a [9]进行比较,处理方法与①相同。本轮结束后, a [1]中为10个数中的次小数。
      ③重复上述过程,至第9轮,比较 a [8]与 a [9],把小者存入 a [8],此时 a [9]存放的就是最大数。到此为止,10个数已按升序排好。
 (3)完成上述操作需采用二重循环结构,外循环变量 i 从0循环到8,共循环9次;内循环变量 j 从 i +1循环到9。

#include<stdio.h>

int main()
{
	int i, j, t, a[10];
	
	for (j = 0; j < 10; j ++)
	{
		scanf("%d",&a[j]);                //   从键盘输入10个数
	}
	printf("\n");
	
	for (i = 0;i < 9; i ++)               //   外循环 循环9次
	{
		for (j = i + 1; j < 10; j ++)     //   内循环
		{
			if (a[i] > a[j])              //   如果前面的数比后面的大
			{
				t = a[i];                 //   交换位置
				a[i] = a[j];
				a[j] = t;
			}
		}
	}
	printf("\n");
	
	for (j = 0; j < 10; j ++)
	{
		printf("%-4d",a[j]);               //   输出排序后的数
	}
	
	return 0;
}

           <<< 运行结果 :

10 71 32 53 44 95 66 77 28 89


10  28  32  44  53  66  71  77  89  95
--------------------------------
Process exited after 2.683 seconds with return value 0
请按任意键继续. . .

标签:10,return,一维,示例,++,个数,数组,printf,程序设计
From: https://blog.csdn.net/Respberry_520/article/details/143472489

相关文章

  • 学期 2024-2025-1 学号 20241403 《计算机基础与程序设计》第六周学习总结
    学期(如2024-2025-1)学号(如:20241403)《计算机基础与程序设计》第六周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标Polya......
  • 2024-2025-1 20241428张雄一《计算机基础与程序设计》第六周工作总结
    学期(如2024-2025-1)学号(如:20241428)《计算机基础与程序设计》第6周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业的目标<写上具体方面>作业正文https://i.cnblogs.com/posts/edit教材学习内容总结时间复杂度......
  • 2024-2025-1 20241304 《计算机基础与程序设计》第6周学习总结
    2024-2025-120241304《计算机基础与程序设计》第6周学习总结作业信息|这个作业属于哪个课程|<[2024-2025-1-计算机基础与程序设计](https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05)|>|-- |-- ||这个作业要求在哪里|<作业要求的链接>(如2024-2025-1计算机基础与程序设......
  • Python轴承故障诊断 (17)基于TCN-CNN并行的一维故障信号识别模型
    往期精彩内容:Python-凯斯西储大学(CWRU)轴承数据解读与分类处理Pytorch-LSTM轴承故障一维信号分类(一)-CSDN博客Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客三十多个开源数据集|故障诊断再也不用担心数据集了!P......
  • 2024-2025-1 20241327 《计算机基础与程序设计》 第六周学习总结
    作业信息|2024-2025-1-计算机基础与程序设计)||--|-|2024-2025-1计算机基础与程序设计第六周作业)||快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题|作业正文|https://www.cnblogs.com/shr060414/p/18440575|教......
  • 【python-程序设计赛道-模拟题笔记整理】2024年第六届全国高校计算机能力挑战赛
    Python知识点整理不都正确是指要求找错误的如果没有错误的,全都是事实就没有符合题意的所以选选项D,三个选项不都正确模块模块不能被多次导入模块是构造程序的方式在执行时,一个模块只会被导入一次python程序文件是一个模块包语法空行不是python语法的一部分缩进是p......
  • 2024-2025-1 20241409司马平珏《计算机基础与程序设计》第六周工作总结
    作业归属课程:https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06作业目标:Polya如何解决问题、简单类型与组合类型、复合数据结构、查找与排序算法、算法复杂度、递归、代码安全作业正文:https://www.cnblogs.......