数据结构 实验四

实验四 二维数组基本操作的编程实现

【实验目的】
二维数组基本操作的编程实现
要求:
二维数组基本操作的编程实现(2学时,验证型),掌握数组的建立、读取数据、压缩存储等基本操作的编程实现,存储结构可以在顺序结构或链接结构中任选,也可以全部实现。也鼓励学生利用基本操作进行一些应用的程序设计。
【实验性质】
验证性实验(学时数:2H)
【实验内容】
设计一个可容纳40位数的求n!的程序。设计一个将稀疏数组压缩的程序。
【参考代码】(以下内容,学生任意选择一个完成即可)
(一)基础篇
/设计一个可容纳40位数的计算n!的程序/
/*程序构思: */
/依题意可得知,本程序所运用的数据结构为“数组”,/
/目的为运用数组来弥补整数数据类型有限的使用范围。/
/我们预先声明变量为一个大小为40的数组,负责存储每一个位数的数据,/
/变量Digit为计算位数的变更、变量i,j,r,k为循环中所用的计数变量。/
/首先先将Data数组中的数据做初始值零。再令第一位数值为1,位数也为1。/
/再将每次相乘的乘积存回数组中。/
/并循序处理每个数组中超过10的数,若数值超过10,则将位数加一,/
/原来的数除以10,商数加前一位数的数值后存回前一位数的数组中,/
/再将余数存回原来位数的数组中。最后再输出每次计算后的结果。/

#include <stdio.h>
void main()
{
   
    int Data[100];                      /*存储40位数的整数数组*/
    int Digit;                          /*数据位数变量        */
    int i,j,r,k;                        /*循环计数变量        */
    int N;                              /*用户输入值          */

    for(i=0;i<100;i++)                /*将数组初始值设为0    */
        Data[i]=0;

    Data[0]=1;                        /*设第0位数数组为1    */
    Data[1]=1;                        /*设第1位数数组为1    */
    Digit=1;                          /*设数据位数为1       */

    printf("请输入一个整数:");
    scanf("%d",&N);                 /*读取用户欲求的N值   */
    for(i=1;i<N+1;i++)
    {
   
        for(j=1;j<Digit+1;j++)
            Data[j]*=i;               /*数组中内容的运算*/
        for(j=1;j<Digit+1;j++)
        {
   
            if(Data[j]>10)
            {
   
                for(r=1;r<Digit+1;r++)
                {
   
                    if(Data[Digit]>=10)            
                    Digit
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呵呵up

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值