【C语言】数据结构实验报告一

article/2025/10/4 17:24:29

目录

  • 题目
    • 1.1 求1~n的连续整数和。
    • 1.2 对于1到n的每个整数n,输出log2n,根号n,n ,nlog2n ,n^2 ,n^3 ,2^n ,n!的值。
    • 1.3 求1~n的素数的个数,并且计算出时间
    • 1.4 求1~n的连续整数阶乘的和。

题目

1.1 求1~n的连续整数和。

#include<stdio.h>
#include<math.h>
#include<time.h> 
//--------------------方法一-------------- 
int sum1(long n)
{return((n*(n+1))/2);
}
void AddTime1(long n)
{clock_t t;long sum;t = clock();sum = sum1(n); t = clock() - t;printf("方法一:%d\n",sum);printf("用时:%lf\n",((float)t)/CLOCKS_PER_SEC); 
}
//--------------------方法二------------------ 
int sum2(long n)
{        long i, sum = 0;for (i = 0; i <= n; i++)sum = i + sum;return(sum); 
}
void AddTime2(long n)
{clock_t t;long sum;t = clock();sum = sum1(n); t = clock() - t;printf("方法二:%d\n",sum);printf("用时:%lf\n",((float)t)/CLOCKS_PER_SEC); 
}
int main()
{AddTime1(10000000);AddTime2(9999999999);return 0;
}

运行结果:

运行结果的时间为什么会是0?我试了很多情况都是这个结果,我猜测应该是这个时间太快了,运算不出来。

在这里插入图片描述

1.2 对于1到n的每个整数n,输出log2n,根号n,n ,nlog2n ,n^2 ,n^3 ,2^n ,n!的值。

#include <stdio.h>
#include <stdlib.h>
#include<math.h>   double log(double n);
double sqrt(double n);
int main()
{int i,n,t,r,p=1,q=1,m;printf("请输入n的值:");scanf("%d",&n);
//--------------log------------------------- for(i=1;i<=n;i++){int v;m=log(i)/log(2);v=i*(log(i)/log(2));printf("%d的Log: %d.\n",i,m);printf("%d倍的Log: %d.\n",i,v);}printf("\n");
//--------------------开根函数------------------- for(i=1;i<=n;i++){int k;k=sqrt(i);printf("根号%d: %d.\n",i,k);  }printf("\n");
//---------------输入n------------------------------- for(i=1;i<=n;i++) {int o;o=i;printf("n: %d.\n",o);}printf("\n");
//------------------n^2与n^3----------------------for(i=1;i<=n;i++)   {t=i*i;r=i*i*i;printf("%d的平方: %d,  %d的立方: %d.\n",i,t,i,r);}printf("\n");
//-------------输出2的n次方------------------------for(i=1;i<=n;i++) {p=p*2;printf("2的%d次方: %d.\n",i,p);}printf("\n");
//-------------------输入n!--------------------------- for(i=1;i<=n;i++) {q=q*i;printf("%d! = %d.\n",i,q);}return 0;
}

运行结果:
在这里插入图片描述

1.3 求1~n的素数的个数,并且计算出时间

两个方法的结构相似,唯一不太一样的就是循环的次数不一样,前者是遍历到sqrt(n),后者是遍历到n/2。

#include<stdio.h>
#include<math.h>
#include<time.h>//-----------------方法一---------------- 
void countprime1()
{int n,f;printf("------------方法一 -----------------");printf("\n请输入n:");scanf("%d" ,&n);int count = 0;for (int i = 2; i <= n; i++){f=1;for(int j = 2; j <=sqrt(i); j++){if(i%j==0){f=0;break;}}if(f){count++;}}printf("1~%d的素数个数有%d个\n ",n,count);
}
//--------------------方法二----------------------------- 
void countprime2()
{int n,f;printf("------------方法二 -----------------");printf("\n请输入n:");scanf("%d" ,&n);int count = 0;for (int i = 2; i <= n; i++){f=1;for(int j = 2; j <= i/2; j++){if(i%j==0){f=0;break;}}if(f){count++;}}printf("1~%d的素数个数有%d个\n ",n,count);
}
int main(){clock_t t;t = clock();countprime1();t = clock() - t;printf("用时:%f\n",((float)t)/CLOCKS_PER_SEC); printf("\n");t = clock();countprime2();t = clock() - t;printf("用时:%f\n",((float)t)/CLOCKS_PER_SEC); return 0;
}

运行结果:
在这里插入图片描述

1.4 求1~n的连续整数阶乘的和。

#include<stdio.h>//--------------求阶乘-------------------- 
int Fact(int i)
{if (i == 0)return 1;elsereturn i * Fact(i - 1);
}
int main()
{int i, j, n, sum = 0;printf("请输入n的值:");scanf("%d", &n);for (i = 1; i <= n; i++){j = Fact(i);sum = j + sum;  //求和 }printf("1!+2!+....+%d! = %d ",n,sum);return 0;
}

运行结果:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/q1Z8C5lx.shtml

相关文章

数据结构实验:电话号码查询系统

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、问题描述二、问题描述&#xff08;1&#xff09;选用的散列函数&#xff08;2&#xff09;散列因子&#xff08;3&#xff09;解决冲突的方法 三、实验结果…

数据结构实验报告五 查找

一、实验目的 1、掌握查找表、动态查找表、静态查找表和平均查找长度的概念。 2、掌握线性表中顺序查找和折半查找的方法。 3、学会哈希函数的构造方法&#xff0c;处理冲突的机制以及哈希表的查找。 二、实验内容和要求 1.静态查找表技术 依据顺序查找算法和折半查找算法的…

数据结构实验公交车系统

数据结构实验公交车系统&#xff08;完整代码私信&#xff09; 1.查询公交车信息 2.查询站点信息 3.查询两个站点之间的路线&#xff08;最多一次换乘&#xff09; 4.添加、删除、修改公交车&#xff0c;站点&#xff0c;路线 创建4个文本文档&#xff08;即txt&#xff09; r…

数据结构实验报告六 排序

一、实验目的 1、掌握内部排序的基本算法&#xff1b; 2、分析比较内部排序算法的效率。 二、实验内容和要求 1.运行下面程序&#xff1a; #include <stdlib.h> #include <stdio.h> #define MAX 50 int slist[MAX]; /*待排序序列*/void insertSort(int list[],…

数据结构实验——哈夫曼编码

目录 问题描述 基本要求 问题分析 实验代码 运行结果 实验总结 问题描述 利用哈夫曼编码进行通信可以大大提高信道利用率&#xff0c;缩短信息传输时间&#xff0c;降低传输成本。但是&#xff0c;这要求在发送端通过一个编码系统对待传数据预先编码&#xff0c;在接收端…

数据结构实验C语言实现版

目录 数据结构实验——顺序表的基本操作 数据结构实验——单链表的基本操作 数据结构实验——顺序栈的建立及基本操作实现 数据结构实验——链队列的建立及基本操作实现 数据结构实验——赫夫曼树构造及赫夫曼编码的实现 数据结构实验——迪杰斯特拉算法求最短路径 数据结…

数据结构实验报告

数据结构与算法实验一&#xff08;顺序表的操作&#xff09; 一、实验目的 1&#xff0e;掌握线性表的顺序存储结构的表示和实现方法。 2&#xff0e;掌握顺序表基本操作的算法实现。 3&#xff0e;了解顺序表的应用。 二、实验内容 1&#xff0e;建立顺序表。 2&#xff0…

【数据结构】实验项目:顺序表,也就那么回事

目录 序 嗨&#xff0c;这里是狐狸~~ 简介 顺序表的结构定义&#xff1a; 声明顺序表类型变量&#xff1a; 实验内容&#xff1a; 实验说明 : 实验思路 1、 输入一组整型元素序列&#xff08;不少于10个&#xff09;&#xff0c;建立顺序表。 2&#xff0e; 在该顺…

数据结构(实验一)

第一次写报告&#xff0c;虽然有点简单&#xff0c;但还是要勉励自己再接再厉。加油 继续努力。 1.实验目的&#xff08;结出本次实验所涉及并要求掌握的知识点&#xff09; 1.掌握顺序表的存储结构形式及描述方法和基本运算的实现&#xff1b; 2.掌握用顺序表设计合理的数据…

数据结构实验

1.有序数组的插入 代码&#xff1a; bool Insert( List L, ElementType X ){//溢出if(L->LastMAXSIZE-1) return false;//插入在最后一位if(L->Data[L->Last] > X){L->Data[L->Last1]X;L->Last;return true;}int tp0;int find0;int tmp0;for(int i0;i &l…

网络传输大文件使用什么软件可以高速传输?

网络传输大文件使用什么软件可以高速传输&#xff1f;通过网络传输文件总是在速度上得不到很好的体现&#xff0c;更不用说是传输大文件了。本身支持大文件网络传输的工具就是不是很多&#xff0c;很多的传输工具对文件的大小都有所限制&#xff0c;要是想要找到一个高速传输大…

.mmap文件用什么软件可以打开?

1.下载MindManager专属打开它的软件 2。

什么是Saas软件?

人们常常会提及Saas&#xff08;萨斯&#xff09;软件&#xff0c;那么什么是Saas软件呢&#xff1f;首先大家通过百度可以看到百度百科的解释 相信大多数的伙伴们看了之后的感想就是一脸蒙圈&#xff0c;如果让自己给别人介绍什么是Saas软件还是记不住解释不清楚&#xff0c;那…

测试移动信号频率的软件,手机信号工作频段侦测软件

手机信号来源于基站发射的信号。但是常常会遇见的手机信号差&#xff0c;信号弱&#xff0c;上网速度慢等&#xff0c;都有可能是源于信号弱带来的。那么我们看见的手机上显示的信号弱&#xff0c;到底是什么信号弱&#xff1f;如何判别&#xff1f; 这里推荐一款APP软件&#…

杀毒软件可以查杀所有计算机病毒吗,杀毒软件可以查杀所有病毒吗

杀毒软件包括电脑杀毒软件和手机杀毒软件&#xff0c;那么杀毒软件可以查杀所有病毒吗&#xff1f;目前&#xff0c;做到所有病毒查杀还没有一家杀毒软件敢100%保证&#xff0c;因为电脑病毒也在日新月异的发展着&#xff0c;那是不是新病毒就查杀不了呢&#xff1f;也不是&…

可以测试电脑网络速度的软件,介绍4种有用的Internet Speed软件应用程序,用于测试网络速度软件...

当今社会将使用Internet&#xff0c;但是Internet的速度极大地影响了我们的工作和浏览. 在玩游戏和观看视频时测网速什么软件好&#xff0c;拥有一个良好的Internet甚至更为必要. 目前&#xff0c;我们可以使用Internet速度测试软件进行测试. 网络的速度和稳定性使您可以更好地…

什么软件可以测试鬼,PP助手新奇App推荐 《鬼魂探测器》能抓鬼?

最近&#xff0c;小伙伴们迷上了一款奇葩App&#xff0c;据说可以将潜伏在你周围的“阿飘”揪出来。这款软件就是《鬼魂探测器》&#xff0c;听起来是不是有点毛骨悚然&#xff0c;但又忍不住好奇心&#xff0c;通过PP助手下载一探究竟吧。 图1&#xff1a;PP助手(Win)2.0 只要…

测试电脑整机功耗软件,有什么好的测电脑整机功耗的软件吗?

很多人都说电脑的速度越快耗电量就越快&#xff0c;早期的486和现在的P4相比&#xff0c;那简直就是“节能电脑”了&#xff0c;那么想不想知道你的电脑到底有耗电量是多少呢&#xff1f;来试试Overclockulator吧&#xff0c;根据你的选择它可以估算出一台电脑的耗电量。 该软件…

有没有测试颜色的软件,用什么软件测试显示器色彩最准:色彩校正软件

用什么软件测试显示器色彩最准&#xff1a;1.iphone直接显示器校色&#xff0c;这个估计是最有效的方法。有的人可能用不惯iphone的界面&#xff0c;我经常用iphone来测试工程数据&#xff0c;因为iphone有自己的屏幕校色传感器&#xff0c;而iphone的屏幕比一般的显示器都要准…

java用什么软件_Java编程什么软件最好用?

原标题&#xff1a;Java编程什么软件最好用&#xff1f; “工欲善其事必先利其器”&#xff0c;想要学好Java编程开发&#xff0c;除了要有好的学习资源之外&#xff0c;还要有一套适合自己的Java编程软件&#xff0c;好的编程软件能极大提高你的学习和工作效率。那么&#xff…