C++实验报告
维生素c实验报告

维生素c实验报告维生素C实验报告维生素C是一种重要的营养素,对人体健康起着重要的作用。
为了深入了解维生素C的特性以及其在不同环境条件下的稳定性,我们进行了一系列实验。
实验一:维生素C的含量测定我们首先测定了某品牌橙子中维生素C的含量。
实验步骤如下:1. 将橙子切开,挤取橙汁。
2. 取一定量的橙汁,加入已知浓度的碘液。
3. 碘液会与维生素C发生反应,产生蓝色的混合物。
4. 通过比色法,测定蓝色混合物的吸光度,从而计算出维生素C的含量。
实验结果显示,每100毫升橙汁中含有约30毫克的维生素C。
这个结果与维生素C的日常摄入量推荐值相符,说明橙汁是一种良好的维生素C来源。
实验二:维生素C的稳定性为了探究维生素C在不同环境条件下的稳定性,我们进行了一系列实验。
实验一:光照条件下的稳定性我们将维生素C溶液分别暴露在不同光照条件下,包括强光、弱光和黑暗。
经过一段时间后,我们测定了维生素C溶液中维生素C的含量。
实验结果显示,强光条件下,维生素C的含量显著降低,损失约30%;弱光条件下,维生素C的损失约为10%;而在黑暗条件下,维生素C的损失非常小。
这表明,光照是维生素C降解的主要因素之一,因此在保存维生素C时,应尽量避免阳光直射。
实验二:温度条件下的稳定性我们将维生素C溶液分别置于不同温度下,包括常温、冷藏和冷冻。
经过一段时间后,我们测定了维生素C溶液中维生素C的含量。
实验结果显示,常温条件下,维生素C的含量损失最快,损失约为50%;冷藏条件下,维生素C的损失约为20%;而在冷冻条件下,维生素C的损失非常小。
这表明,温度也是维生素C降解的重要因素之一,因此在保存维生素C时,应尽量将其冷藏或冷冻。
综合实验结果,我们可以得出以下结论:1. 橙汁是一种良好的维生素C来源,每100毫升橙汁中含有约30毫克的维生素C。
2. 光照是维生素C降解的主要因素之一,应避免阳光直射。
3. 温度也是维生素C降解的重要因素之一,应将其冷藏或冷冻以延缓维生素C的损失。
c语言实验报告册

c语言实验报告册C语言实验报告册。
实验一,C语言基本程序设计。
1. 实验目的。
通过本实验,掌握C语言的基本程序设计方法,包括变量的定义和使用、表达式的计算、控制结构的使用等。
2. 实验内容。
(1)编写一个C程序,实现输入两个整数,然后输出它们的和、差、积和商。
(2)编写一个C程序,实现输入一个实数,计算并输出它的绝对值。
3. 实验步骤。
(1)定义两个整型变量a和b,用来存储输入的整数。
(2)使用printf函数提示用户输入两个整数,并使用scanf函数将用户输入的值分别赋给变量a和b。
(3)定义四个整型变量sum、diff、product和quotient,分别用来存储a和b的和、差、积和商。
(4)分别计算a和b的和、差、积和商,并将结果分别赋给sum、diff、product和quotient。
(5)使用printf函数输出sum、diff、product和quotient的值。
4. 实验结果。
输入:a = 5。
b = 3。
输出:sum = 8。
diff = 2。
product = 15。
quotient = 1。
5. 实验结论。
通过本实验,我掌握了C语言的基本程序设计方法,包括变量的定义和使用、表达式的计算、控制结构的使用等。
在实际编程中,我需要注意变量的类型和范围,以避免数据溢出和精度丢失的问题。
实验二,C语言函数的使用。
1. 实验目的。
通过本实验,学习C语言函数的定义和调用,掌握函数参数的传递和返回值的使用。
2. 实验内容。
(1)编写一个C程序,实现输入两个整数,计算它们的最大公约数和最小公倍数。
(2)编写一个C程序,实现输入一个整数n,计算并输出1到n的阶乘之和。
3. 实验步骤。
(1)定义一个函数gcd,用来计算两个整数的最大公约数。
(2)定义一个函数lcm,用来计算两个整数的最小公倍数。
(3)定义一个函数factorial,用来计算一个整数的阶乘。
(4)在主函数中,调用gcd和lcm函数计算最大公约数和最小公倍数;调用factorial函数计算阶乘之和。
c语言实验报告实验

c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际操作和编程实践,加深对 C 语言基本语法、数据类型、控制结构、数组、指针等重要概念的理解和掌握,提高编程能力和解决实际问题的能力。
二、实验环境本次实验使用的编程环境为 Visual Studio 2019,操作系统为Windows 10。
三、实验内容1、基本数据类型和运算符的使用定义不同类型的变量,如整数型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和运算操作。
熟悉各种运算符的优先级和结合性,包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。
2、控制结构的应用使用ifelse 语句实现条件判断,根据不同的条件执行相应的代码块。
运用 switch 语句进行多分支选择,处理不同的情况。
利用 for 循环、while 循环和 dowhile 循环实现重复执行的操作,例如计算数列的和、打印特定的图案等。
3、数组和字符串的操作定义和使用一维数组、二维数组,进行数组元素的访问、赋值和遍历。
掌握字符串的存储和处理方式,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)进行字符串的操作。
4、指针的应用理解指针的概念和指针变量的定义,通过指针访问变量和数组元素。
实现指针与数组、指针与函数的结合使用,体会指针在程序中的灵活运用。
5、函数的定义和调用编写自定义函数,实现特定的功能,如计算阶乘、判断素数等。
掌握函数的参数传递方式(值传递和地址传递),理解函数的返回值。
6、结构体和共用体的使用定义结构体类型,创建结构体变量,访问结构体成员。
了解共用体的概念和使用场景,比较结构体和共用体的区别。
四、实验步骤1、实验准备打开 Visual Studio 2019 开发环境,创建一个新的 C 语言项目。
维生素c含量的测定 实验报告

维生素c含量的测定实验报告实验目的:测定某种水果中维生素C的含量。
实验原理:维生素C是一种易氧化的物质,在空气中易受热和光的影响而分解,所以在测定维生素C含量时需采取适当的措施。
本实验采用I2-苯酚法测定维生素C的含量。
此法原理是利用维生素C与碘化钾反应生成褐色的碘褐色物质,通过测定生成物的浓度来间接计算维生素C含量。
实验步骤:1.样品制备:将所选水果洗净并去皮,然后切成适当大小的块。
取100g水果样品加入100ml蒸馏水,混合均匀。
2.提取维生素C:将上述混合液分装到锥形瓶中,加入5ml三氯乙酸并摇匀,使之完全酸化。
然后放置于阴暗处静置24小时。
3.滴定:将上述混合液分装到滴定筒中,加入适量I2溶液,并用淀粉溶液作指示剂。
以0.1mol/L C6H8O6溶液为对照组。
实验结果:根据对照组的颜色变化,可以通过比较样品的颜色变化程度来测定维生素C的含量。
颜色愈淡,维生素C含量愈低。
根据滴定计算出水果中维生素C的含量。
实验讨论:实验结果可能会受到以下因素的影响:1.水果样品的新鲜程度:新鲜水果中的维生素C含量较高,过了保质期的水果中的维生素C含量会降低。
2.样品制备的操作:样品制备的过程中,应尽量保证样品与空气的接触时间较短,以防维生素C的氧化分解。
3.滴定的准确性:滴定过程中,需仔细控制滴定剂和指示剂的添加量,以确保结果的准确性。
实验结论:通过实验测定,我们可以得出某种水果中维生素C的含量。
这个结果有助于我们了解水果的营养价值,并且可以帮助我们选择含有更多维生素C 的水果。
参考文献:1. 魏彩霞,林辉,李晓彤,杨龙. 微波法测定果蔬中维生素C的含量[J]. 食品与机械,2015,31(12):198-200.2. 张文英,周文杰. 技术指标法测定果蔬中维生素C的含量分析[J]. 食品计量学报,2014,8(2):093-097.。
周信东主编C语言程序设计基础实验一实验报告精编

周信东主编C语言程序设计基础实验一实验报告精编实验一实验报告:C语言程序设计基础一、实验目的本实验旨在通过实践的方式学习C语言程序设计的基本概念和语法规则,初步掌握C语言的编程思想和方法,提高编程能力和解决实际问题的能力。
二、实验内容1. 编写一个简单的C程序,要求输出"Hello, World!"。
2.编写一个C程序,实现两个整数的加法。
3.编写一个C程序,实现给定半径的圆的面积和周长的计算。
三、实验步骤及结果1.实验步骤第一步:编写HelloWorld程序#include <stdio.h>int maiprintf("Hello, World!\n");return 0;第二步:编写两个整数相加的程序#include <stdio.h>int maiint num1, num2, sum;printf("请输入两个整数:\n");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum); return 0;第三步:编写圆的面积和周长计算程序#include <stdio.h>#define PI 3.14int maifloat radius, area, perimeter;printf("请输入圆的半径:\n");scanf("%f", &radius);area = PI * radius * radius;perimeter = 2 * PI * radius;printf("圆的面积为:%f\n", area); printf("圆的周长为:%f\n", perimeter); return 0;2.实验结果HelloWorld程序运行结果:Hello, World!两个整数相加程序运行结果:请输入两个整数:35两个整数的和为:8圆的面积和周长计算程序运行结果:请输入圆的半径:四、实验总结通过本次实验,我学习了C语言的基本语法规则和编程思想,掌握了使用printf和scanf函数进行输入输出操作、变量的定义和赋值、简单的数学运算,进一步了解了C语言的使用场景和基本应用。
C语言实训总结报告范文(通用5篇)

C语言实训总结报告范文(通用5篇)在经济飞速发展的今天,报告的适用范围越来越广泛,报告包含标题、正文、结尾等。
一听到写报告马上头昏脑涨?以下是小编整理的C语言实训总结报告范文,仅供参考,希望能够帮助到大家。
C语言实训总结报告篇1这个星期,我们迎来了C语言实训——一次至为重要的实训。
在这个星期里,同学们都很认真的做着那20多道实训题目,遇到不懂的互相请教,或请问老师。
非常感谢老师对我们的帮助,这次实训使我受益匪浅,收获了很多。
通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。
不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。
这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。
如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。
C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。
比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。
还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。
通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。
c语言程序设计_实验一实验报告

实验项目名称:实验一C 语言的运行环境的使用实验目的及要求:1. 了解 Windows 系统下 C 语言的运行环境,熟悉 C 程序编辑、调试、运行的基本操作方法。
2. 熟练掌握编辑、编译、连接和运行 C 程序的方法。
3. 通过运行简单的 C 程序,初步了解 C 源程序的特点。
4. 初步理解 C 语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运行结果的基本输出方法。
实验内容(方法和步骤):1、编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for程序代码:#include <stdio.h>int main(){printf("Hello,World!\n");printf("Welcome to the C language world!\n");printf(Everyone has been waiting for.\n");return 0;}运行结果:2、编写程序,将两个整数相加,并输出结果。
程序代码:#include <stdio.h>int main(){int a,b,c;a=12;b=26;c=a+b;printf("c=%d\n",c);return 0";}运行结果:3. 编写程序,要求从键盘输入2 个整数,输出其中较大的数程序代码:#include <stdio.h>int main(){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);pintf("max=%d",c);return 0;}int max(int x,int y){ int z;if (x>y) z=x;else z=y;return(z);}运行结果:4.输入并运行下程序,观察运行结果。
实验一C程序的运行环境和运行C程序的方法实验报告

实验一C程序的运行环境和运行C程序的方法实验报告实验一:C程序的运行环境和运行C程序的方法一、实验目的1.了解C程序的运行环境和运行C程序的方法;2.掌握在不同操作系统环境下编写和运行C程序的基本步骤;3.加深对C程序运行机制的理解。
二、实验原理C程序是一种用于系统编程的高级编程语言,广泛应用于开发应用程序和操作系统。
在运行C程序之前,我们需要了解C程序的运行环境和运行方法。
1.运行环境:运行C程序的环境可以是不同的操作系统,如Windows、Linux、MacOS等。
每个操作系统都提供了一种特定的环境来运行C程序。
2.运行方法:在不同的操作系统下,运行C程序的方法也有所不同。
- 在Windows操作系统下,可以使用任何支持C编译器的集成开发环境(IDE)来编写和运行C程序。
常用的IDE有Dev-C++、Code::Blocks 等。
- 在Linux操作系统下,可以使用GNU编译器套装(GCC)来编译和运行C程序。
首先需要安装GCC编译器,然后使用命令行工具编写和运行C程序。
- 在MacOS操作系统下,可以使用Xcode开发工具来编写和运行C程序。
Xcode是苹果官方提供的集成开发环境,提供了编译器和调试器等工具。
三、实验步骤1. 在Windows操作系统下运行C程序:- 启动Dev-C++,选择"File"菜单中的"New"选项,创建一个新的C 源文件;-在源文件中编写C程序代码,并保存为以.c为扩展名的文件;2. 在Linux操作系统下运行C程序:- 在终端窗口中使用GCC编译器编译C程序,如gcc -o program program.c,其中program为可执行文件名;- 运行C程序,如./program。
3. 在MacOS操作系统下运行C程序:- 启动Xcode,选择"File"菜单中的"New"选项,创建一个新的C源文件;-在源文件中编写C程序代码,并保存为以.c为扩展名的文件;- 点击Xcode窗口右上角的"Run"按钮,编译并运行C程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五、第五题: 5、编写函数,该函数实现任意一个正整数是否为完全数。
再编写函数输出完全数等于各因子之和的式子。
最后找出2~100000之内所有完全数。
所谓完全数是其各因子之和正好等于本身的数,例如输出格式如下的完全数:6=1+2+3,28=1+2+4+7+14。
#include<iostream>using namespace std;void panduan(int i)//自定义函数,用于判断i是不是完全数{int m,s=0;int *num=new int[i];//动态分配数组空间,虽然仍然大于实际需要值,但数组大小基本上得到了控制for(m=1;m<=i/2;m++){if(i%m==0){num[s]=m;s++;//s最终为因子个数}}int sum=0;int n;for(n=0;n<s;n++)sum=sum+num[n];//sum最终为各因子之和if(sum==i){cout<<i<<"=";for(n=0;n<s-1;n++)cout<<num[n]<<"+";cout<<num[s-1]<<endl;}delete []num;//释放数组空间}int main(){int i;cout<<"从2到的100000完全数如下:\n";for(i=2;i<100000;i++)panduan(i);return 0;}2.实验结果:3.问题分析:在做这道题的过程中,起初出现了一个奇怪的现象:如果上限由100000改为10000,则程序正常运行,但对于100000,会显示出现问题:后来检查不出问题时,发现了一直以来一个不良习惯:不编写释放数组空间的语句。
试着加上这一语句之后再运行时,发现程序能够正常进行了,因而认为应该是这句语句的作用,但并不知道具体的原因。
六、第六题:6、(必做题)编写一个实现文章(即字符串)单词统计功能的程序,要求:输入一系列英文单词字符串(即带空格的字符串),单词间用空格隔开或逗号或句号隔开。
请统计该字符串中单词出现的频率,并按词典顺序输出单词及其频率。
必须用结构体方法实现。
1.源程序代码:#include<iostream>#include<cstring>using namespace std;struct frequency{char word[20];int n;}danci[100]; //定义结构体变量danci,它由单词及其频率两个量组成struct w{char a[20];}in[100];//定义了个元素的字符串组,用于储存输入的句子中的每个单词int fre(char nu[],w in[],int mu)//统计每个单词的频率函数{int i,pl=0;for(i=0;i<mu;i++){if(strcmp(nu,in[i].a)==0)pl++;}return pl;}void main(){char article[501];cout<<"输入句子:\n";cin.get(article,500);int l=strlen(article);//取其长度,定义为整型数lint i,j,k,m;for(i=0,j=0;i<l;i++)//开始循环,从i=0循环到i=l,循环内部也会对i进行增加,因而主循环的i是处理了一些节点:离开单词部分到进入单词部分之间的字符{char a=*(article+i);//a定义为article第i个字符,if((a<='z'&&a>='a')||(a<='Z'&&a>='A'))//判断若已经是字母了的话就进入循环记录接下来的单词内容,否则继续i增加直到走完非字母字符到达字母{m=0;k=i;char b=*(article+k);while((b<='z'&&b>='a')||(b<='Z'&&b>='A'))//当它是字母就循环,若已经不是字母了,就跳出循环{in[j].a[m]=b;k++;m++;b=*(article+k);};//一直加直到遇到非字母字符时停止in[j].a[m]='\0';//这个单词转录完了之后,将最后一个字符写为‘\0'以防乱码j++;//下一个单词的写入i=k-1;//由于在小循环中k最后一次循环多加了一个,所以在这里扣除,赋给i,i就不再执行单词的中间字母部分,只需对非字母部分判断直到遇到下一个单词的开头字母}}//至此,已记录所有单词到in[].a中。
int mu=j;//记录下单词数目,共有单词mu个(注意到最后j加了)//然后将每一个不同的单词储存在danci[].word里int s=0;for(i=0;i<mu;i++){j=0;while(j<i&&strcmp(in[i].a,in[j].a)!=0)j++;if(j==i){strcpy(danci[s].word,in[i].a);s++;}}//至此将所有不同单词依次储存到了danci.word中,s为不同单词个数//然后排序for(i=0;i<s;i++){k=i;for(j=i+1;j<s;j++)if(strcmp(danci[j].word,danci[k].word)<0)k=j;if(k!=i){frequency tmp=*(danci+i);*(danci+i)=*(danci+k);*(danci+k)=tmp;}}//cout<<"统计结果为:\n";for(i=0;i<s;i++)//逐个判断频率并导入到danci[i].n中去{danci[i].n=fre(danci[i].word,in,mu);cout<<"单词: "<<danci[i].word<<"\t频率: "<<danci[i].n<<endl;//输出}}2.实验结果:(1)按照题目要求的检验:(2)事实上,由于审题失误,我所编写的这个程序,能够对一切情况进行处理(个人认为这个程序能够实现题目的要求,所以不能算错),单词之间可以有多个非字母字符,可以有空格,开头也可以有各种字符,唯一不足的是无法将The和the识别为同一单词:3.问题分析:这道题较难,再加上审题的失误导致我在这道题上做了更多的工作。
可能办法有点笨,但没有深入思考,所以最终程序较为麻烦。
从我最终编写的程序来看,能够实现对各种输入情况下单词数的统计,实现这一功能主要问题在以下几点:首先说明程序的思路:输入一个含有各种字符的字符串,然后将其中的每一个单词依次挑选出来同时将其储存在用结构体定义好的一组字符串中;然后将这些单词中不同的单词挑出来存到另一二元结构体{单词,频率}的每一项的“单词”元素中;然后对二元结构体根据“单词”元素进行排序;然后根据每个“单词”元素在原来储存的所有单词中的出现次数得到频率并且同时将频率值保存到“频率”元素中并输出。
(1)单词的分离过程,这应该是其中几乎最麻烦的过程。
由于要将每个单词识别出来,分开并且储存下来所以要定义一系列的字符串用于存储每个单词,为此定义了结构体:struct w{char a[20];}in[100];然后需要判断单词。
从第一个字符开始,遇到字母后开始将原字符串的字符录入到单词字符串,遇到不是字母的字符时停止,给末尾加上’\0’后这一单词的录入便完成,然后从这个非字母字符开始在往下判断,遇到下一个字母也就是下一个单词的首字母时子进行下一个单词的录入,直到完成所有录入。
完成以上工作之后,为了进行下一步的统计频率,还需要将其中不同的单词挑出来然后存储到二元结构体的Word元素中,为此进行如下操作:从第一个单词开始,逐个判断它是不是与前面所有单词都不相同,若是,则将其存储下来,否则不存储。
为此用了库函数strcmp进行两个字符串之间的比较。
(2)排序:这一环节比较简单,完全可以仿照作业第二题的方法;(3)频率统计:将存储下来的不同单词依次在所有单词中找出与之相同的个数即可,由于之前已经完成,故可以在记录频率同时输出结果。
(4)不足:用到库函数strcmp时,程序有警告,但可以运行,至于警告的原因,尚不清楚。
(七)第七题: 7、(必做题)任意输入一个正整数,统计输出各个数位上数字出现的次数。
例如输入312366060,输出0为2;1为1;2为1;3为2;6为3。
1.源程序代码:#include<iostream>using namespace std;struct frequency{int m;//数字int n;//频率};int main(){int x;//输入的数cout<<"请输入整数:";cin>>x;int a,i,j,k,s=x;//s初始为输入值,后逐渐缩小,用于求解位数;a得到的是位数for(a=0;s>0;a++)s=s/10;int *num=new int[a];for(i=0,s=x;i<a;i++){*(num+i)=s%10;s=s/10;}frequency fre[10];for(j=0;j<=9;j++){k=0;for(i=0;i<=a;i++){if(j==num[i])k++;}fre[j].n=k;fre[j].m=j;}cout<<"统计结果如下:\n";for(j=0;j<10;j++){if(fre[j].n!=0)cout<<fre[j].m<<"\t"<<fre[j].n<<endl;}return 0;}2.实验结果:(1)开头不是0:(2)开头是0,由于是输入正整数,所以开头的0不考虑:3.问题分析:思路:(1)求出整数位数,以便动态分配数组空间;(2)依次分离出每一位的数存储下来;(3)从0到9逐个统计个数;(4)对于个数为0的不输出,大于0的输出统计结果。