目录

  • 题目
    • 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;
}

运行结果:

【C语言】数据结构实验报告一相关推荐

  1. 图的遍历c语言数据结构实验报告,数据结构实验报告--图的遍历

    江 西 理 工 大 学 数据结构 实验报告 实验名称 图的遍历 日期 2014-12-01 专业班级 计算机(中加)131班 地点 信息学院621 实验人 王鹏伟 学号 同组人 单独完成 152013 ...

  2. 图的遍历c语言数据结构实验报告,数据结构图的遍历实验报告.doc

    数据结构图的遍历实验报告.doc 实 验 报 告课程名称 数据结构实验名称 图的遍历姓 名专 业 计算机科学与技术班 级 计算机学 号成绩计算机科学与技术学院实验教学中心2015 年 11 月 20 ...

  3. 二叉树的遍历(c语言数据结构实验报告三)

    二叉树的遍历 一.实验目的或任务 二.实验教学基本要求 三.实验教学的内容或要求 1. 编写函数,输入字符序列,建立二叉树的二叉链表 2. 编写函数,实现二叉树的中序递归遍历算法. 3. 编写函数,实 ...

  4. 厦门理工C语言实验报告8,厦门理工c语言数据结构实验

    <厦门理工c语言数据结构实验>由会员分享,可在线阅读,更多相关<厦门理工c语言数据结构实验(15页珍藏版)>请在人人文库网上搜索. 1.数据结构实验报告 实验序号:6 实验项目 ...

  5. 数据结构c语言版实验报告2,数据结构(C语言版) 实验报告 (2)

    <数据结构(C语言版) 实验报告 (2)>由会员分享,可在线阅读,更多相关<数据结构(C语言版) 实验报告 (2)(15页珍藏版)>请在人人文库网上搜索. 1.数据结构(C语言 ...

  6. 数据结构实验报告,二叉树的基本操作(C语言)

    数据结构实验报告,二叉树的基本操作(C语言) 作者:命运之光 专栏:数据结构 目录 数据结构实验报告,二叉树的基本操作(C语言) 实验六 二叉树的基本操作 一.需求分析 二.概要设计 三.详细设计 四 ...

  7. C语言数据结构线性表上机实验报告,数据结构实验报告实验一线性表_图文

    数据结构实验报告实验一线性表_图文 更新时间:2017/2/11 1:23:00  浏览量:763  手机版 数据结构实验报告 实验名称: 实验一 线性表 学生姓名: 班 级: 班内序号: 学 号: ...

  8. C语言南邮数据结构实验报告2,南邮数据结构实验报告.docx

    南邮数据结构实验报告 实验报告 课程名称 实验名称数据结构二叉树基本操作以及哈夫曼编码译码系统 实验时间 指导单位指导教师年月日 学生姓名 学院(系) 班级学号专业 二叉树的基本运算: 一.问题描述 ...

  9. 桂电七院数据结构实验报告一

    顺序表的基本操作 实验内容与步骤 实现顺序表上的插入.删除等操作.调试程序并对相应的输出作出分析:修改输入数据,预期输出并验证输出的结果.加深对有关算法的理解. 步骤: 第一步:定义顺序表的存储结构. ...

  10. 数据结构实验报告(六)

    数据结构实验报告(六) 一.实验名称 实验六  图的实验1--图的邻接矩阵存储实现 二. 实验目的 1.  熟练理解图的相关概念: 2.  掌握图的邻接矩阵的存储方法的实现: 3.  学会图的遍历算法 ...

最新文章

  1. 转: GridView:当鼠标滑过,行的背景颜色发生变化
  2. R语言使用randomForest包构建随机森林模型(Random forests)、使用importance函数查看特征重要度、使用table函数计算混淆矩阵评估分类模型性能、包外错误估计OOB
  3. rhel Linux 网络配置
  4. 零窗口探测怎么抓包_天问·探路火星|五大亮点!最快“胖五”把探测器送入苍穹...
  5. jquery css,attr,val方法
  6. 基于cesium的三维城市建筑可视化系统(shp数据导入cesium的三种可行方法)
  7. 【个人笔记一】ART系统类的编译解析加载探究
  8. jmeter 网页登陆_JMeter无法登录网站 – JMeter noob
  9. 《邪不压正》好不好看?大数据分析告诉你
  10. 微信小程序如何从数组里取值_微信小程序 怎么数组里面值
  11. 论文:Linguistic Structure Guided Context Modeling for Referring Image Segmentation
  12. 基于javaee的社区医院远程挂号系统
  13. shell softech 面料_MAMMUT猛犸象的黑科技大军(服装篇)
  14. (遇到问题) AAAI2021 pdf要求: CYMK颜色空间,png图片300DPI,字体嵌入pdf
  15. 蓝牙路由器解决方案行业应用
  16. mysql的英文文献_mysql数据库英文文献.doc
  17. 多线程和事务之Workaround
  18. windows升级新版本mysql
  19. 读取盘序列号(是物理序列号,不是硬盘扇区上的序列号)在win7下的确不能用了
  20. 洛谷B2079 求出 e 的值(阶乘)

热门文章

  1. 以太坊go-ethereum客户端查询交易列表(二)
  2. Python中鸭子类型与多态介绍
  3. ARM学习(3) 异常模式学习(CortexR5)
  4. loops_per_jiffy的计算
  5. cockroachdb 和mysql_TiDB和CockroachDB同为Spanner/F1的开源实现,有哪些重大差异?
  6. D2550安装Centos7
  7. v3特约商户进件-Java版本
  8. 晨间日记――为梦 想而设的仪式(一)
  9. Java之项目用到类Objects,TreeMap排序简单分享
  10. 软考高级系统架构设计师系列论文十九:论软件设计模式及其应用