C语言数组与循环结构程序设计实验报告
c语言数组实验报告
c语言数组实验报告C 语言数组实验报告一、实验目的1、深入理解 C 语言数组的概念和基本操作。
2、掌握数组的定义、初始化、遍历和访问。
3、学会使用数组解决实际问题,提高编程能力和逻辑思维能力。
二、实验环境1、操作系统:Windows 102、编译环境:Visual Studio 2019三、实验内容1、一维数组的操作定义一个包含 10 个整数的一维数组,并使用循环进行初始化。
编写程序,计算数组中所有元素的和与平均值,并输出结果。
实现对数组元素的遍历,输出每个元素的值。
2、二维数组的操作定义一个 3 行 4 列的二维整数数组,并进行初始化。
编写程序,计算二维数组中所有元素的总和。
打印出二维数组中每一行的元素值。
3、字符数组的操作定义一个字符数组,存储一个字符串。
实现字符串的输入和输出功能。
编写程序,统计字符串中字符的个数。
四、实验步骤(一)一维数组的操作1、定义并初始化一维数组```cint arr10 ={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};```2、计算数组元素的和与平均值```cint sum = 0;float average;for (int i = 0; i < 10; i++){sum += arri;}average =(float)sum / 10;printf("数组元素的和为:%d\n", sum);printf("数组元素的平均值为:%2f\n", average);```3、遍历并输出数组元素```cfor (int i = 0; i < 10; i++){printf("%d ", arri);}printf("\n");```(二)二维数组的操作1、定义并初始化二维数组```cint arr234 ={{1, 2, 3, 4},{5, 6, 7, 8},{9, 10, 11, 12}};```2、计算二维数组元素的总和```cint sum2 = 0;for (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){sum2 += arr2ij;}}printf("二维数组元素的总和为:%d\n", sum2);```3、打印二维数组每一行的元素值```cfor (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){printf("%d ", arr2ij);}printf("\n");}```(三)字符数组的操作1、定义并初始化字符数组```cchar str100;```2、输入和输出字符串```cprintf("请输入一个字符串:");scanf("%s", str);printf("您输入的字符串是:%s\n", str);3、统计字符串中字符的个数```cint count = 0;for (int i = 0; stri!='\0'; i++){count++;}printf("字符串中字符的个数为:%d\n", count);```五、实验结果(一)一维数组的操作结果1、数组元素的和为:552、数组元素的平均值为:5503、数组元素的输出结果为:1 2 3 4 5 6 7 8 9 10(二)二维数组的操作结果1、二维数组元素的总和为:782、二维数组每一行的元素输出结果为:5 6 7 89 10 11 12(三)字符数组的操作结果1、输入字符串为:hello2、输出字符串为:hello3、字符串中字符的个数为:5六、实验分析(一)一维数组在对一维数组进行操作时,通过循环可以方便地对数组中的每个元素进行访问和处理。
循环结构程序设计(C语言实验报告)
循环结构程序设计(C语言实验报告)实验目的:1. 掌握循环结构程序设计流程2. 熟悉while、do-while和for循环语句的使用3. 掌握循环语句的嵌套应用实验原理:循环结构是一种非常重要的程序设计结构,其目的是为了让程序可以重复执行一段代码块,从而达到省去大量代码重复编写的目的,也可以是让程序能够按照用户的需求反复执行一段代码块。
在C语言中,常用的循环结构有while、do-while和for三种,这三种循环语句的基本语法结构是:while(循环条件){循环体语句;}其中,while循环和do-while循环的区别在于:while循环条件成立时,不一定会执行一次循环体,但do-while循环条件成立时,会先执行一次循环体,然后判断循环条件是否成立;至于for循环,则是将循环条件、循环初值和循环增量三个要素集成在一起,使用比较方便。
另外,循环结构也可以进行嵌套应用,即在循环体内部再嵌套一个循环,这样可以实现多个变量的循环控制。
应用实例包括如下:1. 打印九九乘法表2. 对一个数组进行排序3. 多重循环实现字谜游戏实验内容:1. while循环:目的是求出1~100的整数和,并在程序运行过程中输出1~100的所有整数。
目的是输入若干个数字,计算它们的平均值。
3. for循环:目的是输入一个数n,求1~n中可以被3或5整除的所有整数和。
4. 循环嵌套:目的是打印九九乘法表。
实验总结:本次实验通过三种常用的循环结构,并结合实例进行学习掌握,同时还熟悉了循环嵌套的应用。
相信这对于日后的程序设计和代码优化应用会非常有帮助。
c语言实验7数组实验报告
实验报告课程名称程序设计实验项目名称数组班级与班级代码14级计算机科学与技术1班实验室名称(或课室) SS1-332专业计算机科学与技术任课教师学号:姓名:实验日期:2014年月日广东商学院教务处制一.实验目的1.熟练掌握一维数组、二维数组的定义、赋值、输入、输出方法。
2.熟练掌握字符数组和字符串函数的使用。
3.熟练掌握一位数组以及一位数组元素的存储关系。
4.熟练掌握一位数组和二维数组的使用以及在函数中的传递。
5.通过上机实践掌握与数组有关的算法。
二、实验内容上机题1输入并运行以下程序。
实验内容:用2个数组对第3个数组进行赋值#include<stdio.h>main(){int i,a[5],b[5],c[5];a[0]=2,a[1]=6,a[2]=4,a[3]=8,a[4]=9;b[0]=2,b[1]=7,b[2]=9,b[3]=5,b[4]=3;for(i=0;i<=4;i++){c[i]=a[i]*b[i];printf("c[%d]=%d\n",i,c[i]);}}实验步骤○1int a[5]:整型一维数组说明,a是数组名,也是数组的起始地址,该数组可以存储5个整数。
a[0]~a[4]也可以看成是变量标识字符,[]中的数值称为数组下标,下标从0开始。
○2数组赋值方法和一般变量一样。
例如,a[0]=2表示将2赋给a[0]。
运行结果上机题2 输入并运行以下程序。
实验内容:对不指明数组的数组进行赋值并用循环结构进行求和#include<stdio.h>main(){int sum,i;int a[]={5,8,4,6,4,3,8,2,4,5,6};sum=0;for(i=0;i<=10;i++)sum+=a[i];printf("sum=%d\n",sum);}实验结果实验小结○1对全部元素赋初值时,可以不指定数组长度,C编译系统自动根据初值个数来决定数组长度。
c语言循环结构实验报告
c语⾔循环结构实验报告c语⾔循环结构实验报告姓名:张乐 实验地点:⼀教524 实验时间:2021.5.6⼀、实验⽬的与要求1、熟练掌握使⽤while、do...while、和for语句实现循环的⽅法。
2、了解三种循环语句的区别和转换、各⾃的适应性、嵌套循环的使⽤。
3、掌握在循环语句中使⽤break和continue语句改变程序流程的⽅法。
4、能在程序设计中使⽤循环的⽅法实现各种算法。
⼆、实验内容实验5.3.11、问题描述:求数列前n项的和2、实验代码:#include<stdio.h>void main(){int n,i,j,sign=1;float fac,sum;printf("Please input value of n:");scanf("%d",&n);sum=0.0;for(i=1;i<=n;i++){fac=1.0;for(j=1;j<=2*i-1;j++){fac=fac*j;}fac=fac*sign;sum=sum+fac;sign=-sign;}printf("sum=%.0f\n",sum);}3、效果截图:实验5.3.21、问题描述:求所有的⽔仙花数,三位⾃然数的百⼗个位上数值的⽴⽅和等于数本⾝的数称为⽔仙花数。
2.实验代码#include<stdio.h>void main(){int x,y,z;int k=100;while(k<=999){x=k/100;y=(k/10)%10;z=k%10;if(k==x*x*x+y*y*y+z*z*z)printf("%d\n",k);k++;}}3、效果截图:实验5.3.41、问题描述:输⼊四个字符型数字,将其⼗进制数显⽰出来。
2.实验代码:#include<stdio.h>void main(){char c;int k,data;data=0;for(k=0;k<4;k++){while(1){c=getchar();if(c>='0'&&c<='9')break;}if(k==0){data+=(c-'0')*1000;}if(k==1){data+=(c-'0')*100;}if(k==2){data+=(c-'0')*10;}if(k==3){data+=(c-'0');}}printf("Data=%d",data);}3、效果截图:4、问题分析:明确变量类型后,将for与while嵌套,利⽤if语句进⾏变量类型转换实验5.3.5.21、问题描述:⼀正整数数列,前四项和为26,积为880,求该数列前六项值与和。
C语言循环结构程序设计实验报告
C语言循环结构程序设计实验报告实验目的:掌握C语言循环结构的基本原理和使用方法,能够编写具有循环结构的程序。
实验原理:在C语言中,循环结构主要包括while循环、do-while循环和for 循环三种形式。
通过循环结构,可以使程序中的其中一段代码重复执行多次,从而提高程序的灵活性和效率。
实验内容:1. 用while循环实现计算1-100的累加和。
2. 用do-while循环实现输入一个整数n,计算1到n的累加和。
3. 用for循环实现输出9*9乘法口诀表。
实验过程:1. 用while循环实现计算1-100的累加和。
```c#include <stdio.h>int mainint i = 1;int sum = 0;while (i <= 100)sum += i;i++;}printf("1-100的累加和为:%d\n", sum);return 0;```2. 用do-while循环实现输入一个整数n,计算1到n的累加和。
```c#include <stdio.h>int mainint n, i = 1, sum = 0;printf("请输入一个整数n:");scanf("%d", &n);dosum += i;i++;} while (i <= n);printf("1-%d的累加和为:%d\n", n, sum);return 0;```3. 用for循环实现输出9*9乘法口诀表。
```c#include <stdio.h>int mainint i, j;for (i = 1; i <= 9; i++)for (j = 1; j <= i; j++)printf("%d*%d=%d\t", j, i, i*j);}printf("\n");}return 0;```实验结果:1.1-100的累加和为:50502.输入一个整数n:10,1-10的累加和为:553.```1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=427*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=487*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=547*9=63 8*9=72 9*9=81```实验结论:通过本次实验,学习了C语言中循环结构的基本原理和使用方法。
c语言循环结构实验报告总结
C语言循环结构实验报告总结引言C语言是一种广泛应用于系统程序开发的高级编程语言。
循环结构是C语言中重要的概念,通过循环结构,可以重复执行一段代码,提高程序的效率与可读性。
本实验旨在通过编写C语言程序来掌握循环结构的使用方法,并通过实际的实验案例来加深对循环结构的理解。
背景知识在开始实验之前,我们需要了解一些基础的C语言知识。
循环结构的类型在C语言中,常用的循环结构有三种类型:for循环、while循环和do-while循环。
1.for循环:通过指定循环变量的初始值、循环条件和循环变量的增量来控制循环的执行次数。
2.while循环:在每次循环开始前判断循环条件是否满足,如果满足则执行循环体,否则结束循环。
3.do-while循环:与while循环相似,但是循环体至少会被执行一次,然后再判断循环条件是否满足。
在实验中,我们将使用这三种循环结构来完成各种任务。
循环控制语句除了基本的三种循环结构外,C语言还提供了一些循环控制语句来控制循环的执行。
1.break语句:用于立即退出循环,跳出循环体。
2.continue语句:用于立即结束本次循环,跳过剩余循环体的执行,开始下一次循环。
这些循环控制语句在实际编程中非常实用,可以根据需要在循环内部进行灵活的控制。
实验过程实验案例一:求和在这个实验案例中,我们将使用for循环结构来求解给定范围内的整数和。
1.首先,我们需要定义一个用于存储求和结果的变量sum,并初始化为0。
2.接下来,我们通过for循环遍历给定的整数范围,将每个整数累加到sum中。
3.最后,我们输出求和结果sum。
下面是代码实现示例:#include <stdio.h>int main() {int sum = 0;int start = 1, end = 100;for (int i = start; i <= end; i++) {sum += i;}printf("Sum: %d\n", sum);return 0;}实验案例二:乘法表在这个实验案例中,我们将使用嵌套的for循环结构来输出乘法表。
c语言循环实验报告
c语言循环实验报告C语言循环实验报告引言:C语言是一种广泛应用于程序设计和开发的高级编程语言。
而循环结构是C语言中最为重要和基础的语法之一,它可以帮助我们重复执行某些特定的代码块,提高程序的效率和灵活性。
本实验旨在通过实际编程实践,探索C语言中循环结构的使用方法和应用场景,并进一步加深对循环的理解。
实验一:for循环在C语言中,for循环是最常用的循环结构之一。
它的基本语法如下:```for (初始化表达式; 条件表达式; 更新表达式) {循环体语句;}```在本实验中,我们使用for循环来实现一个简单的九九乘法表打印程序。
通过嵌套的for循环,我们可以方便地控制行和列的输出,实现乘法表的格式化打印。
以下是代码示例:```#include <stdio.h>int main() {int i, j;for (i = 1; i <= 9; i++) {for (j = 1; j <= i; j++) {printf("%d * %d = %d\t", j, i, i * j);}printf("\n");}return 0;}```通过运行以上代码,我们可以得到一个完整的九九乘法表。
实验二:while循环除了for循环,C语言中的while循环也是常用的循环结构之一。
它的基本语法如下:```while (条件表达式) {循环体语句;更新表达式;}```在本实验中,我们使用while循环来实现一个简单的猜数字游戏。
游戏规则是计算机随机生成一个1到100的整数,玩家通过输入猜测的数字,计算机根据猜测结果给出相应的提示,直到猜中为止。
以下是代码示例:```#include <stdio.h>#include <stdlib.h>#include <time.h>int main() {int target, guess;srand(time(0));target = rand() % 100 + 1;printf("猜数字游戏开始!\n");printf("请输入一个1到100的整数:"); scanf("%d", &guess);while (guess != target) {if (guess > target) {printf("猜大了!请重新输入:"); } else {printf("猜小了!请重新输入:"); }scanf("%d", &guess);}printf("恭喜你,猜对了!\n");return 0;}```通过运行以上代码,我们可以体验到一个简单而有趣的猜数字游戏。
循环结构程序设计-C语言程序实验报告
安徽工程大学高级语言程序设计实验报告班级姓名同组者/ 成绩日期2019.10.17 指导教师张义实验名称循环结构程序设计一、实验目的1.熟悉使用while语句、do-while语句和for语句实现循环的方法。
2.熟悉在程序设计中用循环的方法实现各种算法。
3.理解程序中循环结构语句的执行过程。
二、实验内容1.程序填空。
分别用for、while和do-while语句编写一个C程序,计算并输出数列1,3,5.…,2n-1,…的前n项之和,其中,n由键盘输入。
2.编程并上机调试运行。
(1)求1!+2!+3!+…+n!(n从键盘输入)。
(2)打印以下图案(用循环实现):** * ** * * * ** * * * * * ** * * * ** * **(3)猴子吃桃,猴子第一天摘若干桃子,当即吃了一半,又多一个,又多一个,第二天吃了剩下桃子一半又多一个。
以后每天早上都吃前一天剩下的一半多一个,这样到了第十天,只剩下一个桃子。
问第一天共摘了多少个桃子?(4)打印九九乘法表。
(5)有算式s=1+12+123+1234+12345+…,从键盘输入n,根据已知算式求前n项之和。
如n=3,则s=1+12+123;n=5,则s=1+12+123+1234+12345。
(6)从键盘输入一串数字字符,将其转换成对应的整数。
如输入字符串“368”,则输出整数368。
*思考题3.在实验内容1的程序(1)输入时,若在“for(i=1;i<=k;____)”语句后多输入一个分号,即“for(i=1;i<=k;____);”,分析程序,写出预期结果。
4.在实验内容1的程序(2)输入时,若while语句后的{}省略,即while(____)s+=i;______;分析程序,写出预期结果。
5.简述while语句和do-while语句的区别。
三、算法流程图或实验步骤(可根据需要增删、修改)1.(1)for语句实现:算法流程图:#include<stdio.h>void main ( ){long s, n, k , i;scanf ("%ld",&n);k=2*n-1;s=0;for(i=1;i<=k;i=i+2)s+=i;printf("1+3+…+%ld=%ld\n",k,s);}实验步骤:Files→New→Files→C++source File→文件名:program4011.c→位置:E:\123\→确定→完善源程序→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果(2)while语句实现:算法流程图:#include<stdio.h>void main ( ){long s=0,n,i=1;scanf("%ld",&n);while(i<=2*n-1){s+=i;i=i+2;}printf("1+3+…+%ld=%ld\n",2*n-1,s);}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4012.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(3)do-while语句实现:算法流程图:#include<stdio.h>void main ( ){long s=0,n,i=1;scanf("%ld",&n);do{s+=i;i=i+2;}while(i<=2*n-1);printf("1+3+…+%ld=%ld\n",2*n-1,s);}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4013.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果2.(1)算法流程图:#include<stdio.h>void main(){int n,s=0,i,j,t;scanf("%d",&n);for(i=1;i<=n;i++){t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}printf("%d\n",s);return 0;}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4021.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(2)算法流程图:#include<stdio.h>void main(){int i,j,k;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)printf(" ");for(k=1;k<=2*i-1;k++)printf("*");printf("\n");}for(i=1;i<=3;i++){for(j=1;j<=i;j++)printf(" ");for(k=1;k<=7-2*i;k++)printf("*");printf("\n");}}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4022.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(3)算法流程图:#include <stdio.h>int main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2; /*第1天的桃子数是第2天桃子数加1后的2倍.*/x2=x1;day--;}printf("total=%d\n",x1);return 0;}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4023.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(4)算法流程图:#include <stdio.h>int main() {int i,j;for(i=1;i<=9;i++) {for(j=1;j<=9;j++)printf("%d*%d=%2d\t", i, j, i*j);printf("\n");}return 0;}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4024.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(5)算法流程图:#include<stdio.h>void main(){int n=0,i=1,m=0,sun=0;printf("请输入一个数");scanf("%d",&n);while(i<=n){m=m*10+i;sun+=m;i++;}printf("%d",sun);}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4025.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(6)算法流程图:#include <stdio.h>void main(){char str[20];scanf("%s",str);printf("%d\n",atoi(str));}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4026.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果3.(1)算法流程图:#include<stdio.h>void main ( ){long s, n, k , i;scanf ("%ld",&n);k=2*n-1;s=0;for(i=1;i<=k;i=i+2);s+=i;printf("1+3+…+%ld=%ld\n",k,s);}(2)实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4031.c→位置:E:\123\→确定→输入修改后的代码→Buid→是→查看编译结果4.(1)算法流程图:#include<stdio.h>void main ( ){long s=0,n,i=1;scanf("%ld",&n);while(i<=2*n-1)s+=i;i=i+2;printf("1+3+…+%ld=%ld\n",2*n-1,s);}(2)实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4031.c→位置:E:\123\→确定→输入修改后的代码→Buid→是→查看编译结果→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果四、实验结果及分析1.详情见第三项算法流程图2.详情见第三项算法流程图3.预期结果:编译时产生错误4.预期结果:程序虽然编译没有错误,但程序无效,并不能起到原题所需要的功能。
C语言程序设计 实验报告3 循环结构
二、 实验内容和原理
1. 输入一行字符,分别统计出其中英文大写字母、小写字母、空格、数字和其他字符的个 数。 2. 计算输入的 10 个整数中正数的个数及正数平均值(要求使用 continue)。 3. 输出 3~100 之间所有的素数。 4. 请编程实现输出以下图案。
5. 输出所有的三位“水仙花数”。
合条件时相应表示增加,最后输出。
2、 用 for 语句限制个数,再用迭代方法处理,当 a 符合要求时,sum=sum+a。用 continue 结束本次循环。
3、 用 for 语句循环再用穷举法将 3~100 的数逐个检查,看它能不能被 2 到 sqrt(x) 中任意一整数整除,如果可以 num++。
ቤተ መጻሕፍቲ ባይዱ
数%d\n",letters,LETTERS,space,digit,other); return 0; } 2、#include<stdio.h> int main() {int i,num=0,a; float sum=0; printf("请任意输入是个整数(中间用空格隔开):"); for(i=1;i<=10;i++) {scanf("%d",&a); if(a>=0) {num++; sum+=a; continue; } } printf("正数个数:%d,正数个数总和:%.0f\n",num,sum); printf("正数平均数:%.2f\n",sum/num); return 0; } 3、#include<stdio.h> #include<math.h> int main() {int x,y,num=0; for(x=3;x<=100;x++) {for(y=2;y<=sqrt(x);y++) if(x%y==0) break; if(y>sqrt(x)) {printf("%d ",x); num++; } } printf("3-100 之间的素数有%d 个。\n",num); return 0; } 4、#include<stdio.h> int main() {int i,j,k; for(i=0;i<=4;i++) {for(j=0;j<=3-i;j++) printf(" "); for(k=0;k<=2*i;k++) printf("*"); printf("\n"); }
C语言程序设计实验报告-数组
一、实验项目名称数组二、实验目的1.掌握数组的基本概念,包括:数组的定义、数组的类型、数组的初始化、数组的赋值、数组元素下标的范围、数组元素的正确以及引用数组元素的输入/输出。
2.掌握字符数组与字符串的使用方法。
理解字符数组与其它数组的区别、理解字符串及其特点。
掌握常用的字符串处理库函数的用法并清楚对字符串的简单处理。
3.掌握与数组相关的算法,包括排序算法和查找算法等。
三、实验内容进行有关数组的程序设计。
具体内容:1.编程实现:对任意一个一维数组,从中找出数组元素的最大值和最小值。
要求:(1)数组为整型数组(10个元素)。
(2)使用scanf函数实现数组元素的输入。
在输入前给出必要的提示。
(3)输出时给出必要的说明,首先输出原始的10个元素,换行后输出最大值以及最大值在数组中的位置、最小值以及最小值在数组中的位置。
(4)如果现改为20个元素的数组,怎样修改程序?修改程序后,运行程序进行检查。
如果需要数组元素不断改变,应怎样修改程序?2.编程实现:在给定的字符串中查找满足条件的第一个字符。
要求:(1)字符串采用初始化的方式处理。
(2)通过scanf函数读入一个任意字符。
(3)在字符串中查找该字符,如果存在该字符,输出该字符在字符串中的位置以及相应的说明。
如果不存在该字符,则要给出相应的信息。
3.编程实现:首先任意输入一个大于2且小于10的整数n,再输入一个由n决定的二维整型数组(n ⨯n),形成n ⨯n阶矩阵,将矩阵中最大元素所在的行和最小元素所在的行对调后,再输出该矩阵(注意:数组不允许动态定义)。
例如:原始数据:n=4 结果数据:1 2 3 4 8 11 14 163 5 9 10 3 5 9 108 11 14 16 1 2 3 415 2 7 6 15 2 7 6要求:(1)本题中所涉及到的循环都采用for语句。
(2)在输入/输出时进行必要的说明。
(3)对输入的2~10之间的整数(例如4)以n=4的格式输出。
C语言实验报告-循环结构设计
湖北工程学院学生实验报告书实验课程名称C语言开课专业经济学大类指导教师姓名邹晶、郭道猛学生姓名学生班级2016学年-2017学年第1学期实验课程名称:C语言试验项目名称实验4循环结构程序设计(一)实验成绩试验者专业班级组别同组者实验目的:(一)掌握用while,do-while,for语句实现循环的方法;(二)掌握在设计条件型循环结构的程序时,如何正确地设定循环条件,以及如何控制循环的次数。
(三)掌握与循环有关的算法。
实验环境:VC++实验内容:见实验报告指导书实验四, 循环结构程序设计(一)试验过程记录1.输入代码:#include<stdio.h>void main (){int p=1, s=0,i;for(i=1;i<=20;i++) 求1!+2!+3!+……+20! */的值{p*=i;s+=p;}printf("sum=%d\n",s);}结果截图:3.输入代码:#include<stdio.h> 求最大公约数void main (){int m,n,b;printf("please input two positive integer:");scanf("%d%d",&m,&n);while(n!=0){b=m%n;m=n;n=b;}printf("theirgreatest common divisor is %d\n",m);}结果截图:5.输入代码:#include<stdio.h>void main (){int n=0, c;c = getchar (); 统计字符串中指定字符个数while (c !='\n'){if(c>='0'&& c<='9') n++;c=getchar ();printf("%d", n);}}结果截图:6.输入代码:#include <stdio.h>void main(){int a , b, c, i , j; 求奇数及偶数之和a=0,b=1,c=0;for(i=0; i<=100; i+=2){ a+=i;b=i;c+=b;}printf("sum of evens is %d\n",a);printf("sum of evens is %d\n",c);}结果截图:7.输入代码:#include "stdio.h"void main(){int a,b,c,j;for(j=100;j<=999;j++) 水仙花数{a=j/100;b=j/10-a*10;c=j-a*100-b*10;if(j==a*a*a+b*b*b+c*c*c)printf("%d\n",j);}}结果截图:8.输入代码:#include "stdio.h"void main(){float x,amax,amin;scanf("%f",&x); 统计输出最高和最低成绩amax=x;amin=x;while(x>=0){if(x>amax)amax=x;if(x<amax)amax=x;scanf("%f",&x);}printf("\namax=%f\namin=%f\n",amax,amin);}结果截图:9.输入代码:#include "stdio.h"void main(){int m,n,i,t;long int s=0; 不能被3和7整除的整数之和scanf("%d%d",&m,&n);if(m>n){t=m;m=n;n=t;}for(i=m;i<=n;i++)if(i%3!=0 &&i%7!=0)s+=i;printf("sum is;%ld\n",s);}结果截图:10.输入代码:#include <stdio.h>void main(){int num,k;k=0;printf("\please enter a number:");scanf("%d",&num); 计算num各位数字之和do{k+=num%10;num/=10;}while(num);printf("\n%d\n",k); }结果截图:。
C语言数组与循环结构程序设计实验报告-推荐下载
实验报告课程名称程序设计基础实验项目数组与循环结构程序设计(一)实验仪器计算机系别计算机学院专业班级/学号学生姓名实验日期 2014.12.4 成绩指导教师实验三一、实验目的(1)熟悉掌握用while语句、do…while语句和for语句实现循环的方法。
(2)掌握在程序设计中用循环的方法实现一些常用算法。
(3)进一步学习调试程序。
二、实验内容(1)输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。
(2)输出所有的“水仙花数” ,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
例如,153是一个水仙花数,因为153=13+53+33。
(3)猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,就只剩一个桃子了。
求第一天共摘多少个桃子。
在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半零两个。
请修改程序并运行,检查结果是否正确。
三、实验课时2课时4、实验步骤(20分)(1).先分析题目,想一个能达成目标的算法,然后打开vc6.0开始打码,等到完成后先编译看是否有错误,若有则查看软件给出的提示再进行修改,直到成功再运行程序并输入数字检验,看是否正确,不正确则返回代码再修改直到结果正确,最后截图完成实验。
(2).分析题目初步确定算法,然后打开vc6.0开始打码,注意格式,防止犯错误,代码打好后F7查看是否正确,不正确则修改,正确则开始运行,验证输出是否正确,错误则返回修改,否则完成实验。
(3).分析题目初步确定算法,打开VC6.0,新建文件C++SF,输入代码,运行,记录输出信息,分析原因;按照题目要求,对代码进行修改,继续运行,成功则记录输出信息,进行截屏,完成问答。
c语言循环结构实验报告总结
c语言循环结构实验报告总结C语言循环结构实验报告总结引言:循环结构是计算机编程中非常重要的一个概念,它可以让程序重复执行某些操作,从而提高程序的效率。
在C语言中,循环结构有三种:for、while和do-while。
本次实验我们将学习并掌握这三种循环结构的使用方法。
一、 for循环结构for循环结构是C语言中最常用的一种循环结构,它的基本语法如下:for (初始化表达式; 条件表达式; 更新表达式){循环体语句;}其中,初始化表达式只会在第一次进入循环时执行一次;条件表达式会在每次进入循环时都进行判断,如果为真,则继续执行循环体语句;更新表达式会在每次执行完循环体语句后执行。
我们可以通过一个简单的例子来理解for循环的用法:#include <stdio.h>int main(){int i;for (i = 1; i <= 10; i++){printf("%d ", i);}return 0;}上述代码中,我们使用for循环输出了1到10这10个数字。
首先定义了一个变量i,并将其初始化为1;然后设置条件表达式为i <= 10;最后设置更新表达式为i++。
在每次循环中,都会先判断条件表达式是否成立,如果成立,则执行循环体语句,即输出当前的i值,并将i加1。
二、 while循环结构while循环结构也是C语言中常用的一种循环结构,它的基本语法如下:while (条件表达式){循环体语句;}其中,条件表达式会在每次进入循环时进行判断,如果为真,则继续执行循环体语句;否则跳出循环。
我们可以通过一个简单的例子来理解while循环的用法:#include <stdio.h>int main(){int i = 1;while (i <= 10){printf("%d ", i);i++;}return 0;}上述代码中,我们使用while循环输出了1到10这10个数字。
C语言程序设计实验报告
C语言程序设计实验报告一、实验目的本次 C 语言程序设计实验的主要目的是通过实际编写和调试 C 语言程序,加深对 C 语言语法、数据类型、控制结构、数组、指针、函数等核心概念的理解和掌握,提高编程能力和问题解决能力。
二、实验环境本次实验使用的编程环境是 Visual Studio Code,编译器为 GCC。
操作系统为 Windows 10。
三、实验内容及步骤(一)简单数据类型与运算1、定义并初始化不同类型的变量,如整型、浮点型、字符型等。
2、进行基本的算术运算、关系运算和逻辑运算,并输出结果。
(二)控制结构1、编写使用 ifelse 语句进行条件判断的程序,根据不同的条件执行不同的操作。
2、运用 for 循环和 while 循环实现特定次数的重复操作,例如计算1 到 100 的和。
(三)数组1、定义并初始化一维数组和二维数组。
2、实现数组元素的遍历和操作,如查找最大值、最小值等。
(四)指针1、理解指针的概念,定义指针变量并进行赋值。
2、通过指针访问变量和数组元素。
(五)函数1、定义和调用具有不同参数类型和返回值类型的函数。
2、理解函数的参数传递机制,包括值传递和指针传递。
四、实验过程中的问题及解决方法(一)语法错误在编写程序的过程中,经常会出现语法错误,如遗漏分号、括号不匹配等。
通过仔细检查代码,对照 C 语言的语法规则,能够及时发现并修正这些错误。
(二)逻辑错误逻辑错误是比较难以发现和解决的问题。
例如,在循环中可能会出现错误的边界条件,导致结果不正确。
通过打印中间结果和逐步调试,能够帮助找出逻辑错误的所在,并进行修正。
(三)运行时错误运行时错误可能是由于内存访问越界、除数为零等原因引起的。
使用调试工具和异常处理机制,能够有效地处理运行时错误,保证程序的稳定性。
五、实验结果与分析(一)简单数据类型与运算通过实验,对不同数据类型的取值范围、精度以及运算规则有了更清晰的认识。
例如,整型数据在不同的平台上可能具有不同的取值范围,浮点型数据在进行运算时可能会存在精度损失。
c语言程序实验报告
c语言程序实验报告C语言程序实验报告引言:C语言是一种广泛应用于计算机编程的高级语言,具有语法简洁、执行效率高等特点。
在本次实验中,我们将通过编写C语言程序来实践所学的知识,并探索各种功能的实现方法。
本报告将对实验过程和结果进行详细描述和分析。
实验一:基本语法和数据类型在这个实验中,我们首先学习了C语言的基本语法和数据类型。
通过编写简单的程序,我们熟悉了变量的声明和赋值、算术运算符的使用以及条件判断和循环结构的应用。
通过实际操作,我们深入理解了C语言的表达能力和灵活性。
实验二:函数和数组在这个实验中,我们学习了函数和数组的使用。
我们掌握了如何定义和调用函数,如何传递参数和返回值。
通过编写程序,我们进一步加深了对数组的理解,掌握了数组的声明、初始化和遍历等操作。
这些知识对于解决实际问题和提高程序的复用性非常重要。
实验三:指针和动态内存分配指针是C语言的重要特性之一,也是较为复杂的概念。
在这个实验中,我们学习了指针的定义、初始化和使用方法。
通过编写程序,我们深入理解了指针与变量之间的关系,掌握了指针的运算和指针与数组的关系。
此外,我们还学习了动态内存分配的方法,了解了如何在程序运行过程中动态申请和释放内存。
实验四:结构体和文件操作结构体是一种自定义的数据类型,可以将多个不同类型的变量组合在一起。
在这个实验中,我们学习了结构体的定义和使用方法。
通过编写程序,我们掌握了结构体的初始化、访问和传递等操作。
此外,我们还学习了文件操作的方法,了解了如何读写文件和处理文件指针。
实验五:综合实验在这个实验中,我们将运用前面所学的知识,编写一个综合性的程序。
通过实践,我们巩固了对C语言的掌握,并提高了解决问题的能力。
这个实验不仅考验了我们的编程技巧,还培养了我们的逻辑思维和创新能力。
总结:通过这些实验,我们不仅学习了C语言的基本语法和数据类型,还掌握了函数、数组、指针、结构体和文件操作等高级特性。
通过实践,我们深入理解了C语言的运行机制和编程思想,提高了解决问题的能力和代码的质量。
C语言循环结构程序设计实验报告
云南大学数学与统计学实验教学中心
实验报告
课程名称:程序设计和算法语言
学期:2012~2013学年下学期
成绩:
指导教师:
学生姓名:
学生学号
实验名称:循环结构程序设计
实验编号:四
do
{ t=t*n;
s=s+t;
n++;
}
while(n<=25);
printf(“1!+2!+3!+…+25!=%e\n”,s);
}
3指出下面三个程序的功能,当输入“quit?”时,它们的执行结果是什么?
#include<stdio.h>
main()
{ char c;
c=getchar();
while(c!=’?’)
n++;
}
while(fabs((n+1)*(2*n+1))<(1e-004));
printf("n=%d,sum=%f",n,sum);
}
运行结果:
n=2,sum=0.
2.如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,
例如:6的因子为1,2,3,且1+2+3=6,因此6是一个“完数”。
while(i<=10)
{
t=1/i;Βιβλιοθήκη sum=sum+t;
i++;
}
printf("%f\n",sum);
}
【自编程序上机】
程序循环结构实验报告(3篇)
第1篇实验名称:程序循环结构实验实验日期:2023年4月10日实验地点:计算机实验室实验目的:1. 理解循环结构在程序设计中的作用。
2. 掌握不同循环结构(如for循环、while循环、do-while循环)的语法和应用。
3. 能够根据实际问题选择合适的循环结构进行编程实现。
4. 提高编程实践能力。
实验环境:1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm实验内容:一、实验一:for循环结构1. 实验目的了解for循环的语法和使用方法,掌握其基本操作。
2. 实验步骤(1)编写一个程序,使用for循环打印1到10的整数。
(2)编写一个程序,使用for循环计算1到100的整数之和。
3. 实验代码```python打印1到10的整数for i in range(1, 11):print(i)计算1到100的整数之和sum = 0for i in range(1, 101):sum += iprint("1到100的整数之和为:", sum)```4. 实验结果程序成功运行,打印出1到10的整数和1到100的整数之和。
二、实验二:while循环结构1. 实验目的了解while循环的语法和使用方法,掌握其基本操作。
2. 实验步骤(1)编写一个程序,使用while循环计算1到10的整数之和。
(2)编写一个程序,使用while循环判断一个数是否为素数。
3. 实验代码```python计算1到10的整数之和sum = 0i = 1while i <= 10:sum += ii += 1print("1到10的整数之和为:", sum)判断一个数是否为素数num = 29is_prime = Truei = 2while i i <= num:if num % i == 0:is_prime = Falsebreaki += 1if is_prime:print(num, "是素数")else:print(num, "不是素数")```4. 实验结果程序成功运行,打印出1到10的整数之和以及29是否为素数。
c语言 数组 实验报告
c语言数组实验报告
《C语言数组实验报告》
摘要:
本实验旨在通过C语言编程实现数组的基本操作,包括数组的初始化、赋值、遍历和排序等。
通过实验,我们深入了解了数组在C语言中的使用方法,加深了对数组概念和操作的理解。
一、实验目的
1. 理解C语言数组的概念和基本操作;
2. 掌握数组的初始化、赋值、遍历和排序等操作;
3. 提高对C语言的编程能力。
二、实验内容
1. 数组的定义和初始化;
2. 数组元素的赋值和访问;
3. 数组的遍历;
4. 数组的排序。
三、实验步骤
1. 定义一个整型数组并初始化;
2. 使用循环结构给数组元素赋值;
3. 编写循环结构实现数组的遍历;
4. 使用排序算法对数组进行排序。
四、实验结果
1. 成功定义并初始化了一个包含10个元素的整型数组;
2. 使用循环结构成功给数组元素赋值,并能正确访问数组元素;
3. 编写的遍历代码能够正确输出数组中的所有元素;
4. 使用冒泡排序算法对数组进行了排序,得到了正确的结果。
五、实验总结
通过本次实验,我们加深了对C语言数组的理解,掌握了数组的基本操作方法,并且在实践中提高了编程能力。
数组在C语言中是一种非常重要的数据结构,
对于日后的编程工作具有重要的参考价值。
希望通过实验的学习,能够更加熟
练地运用数组进行编程,为以后的学习和工作打下坚实的基础。
循环结构程序设计-C语言程序实验报告
安徽工程大学高级语言程序设计实验报告班级姓名同组者/ 成绩日期2019.10.17 指导教师张义实验名称循环结构程序设计一、实验目的1.熟悉使用while语句、do-while语句和for语句实现循环的方法。
2.熟悉在程序设计中用循环的方法实现各种算法。
3.理解程序中循环结构语句的执行过程。
二、实验内容1.程序填空。
分别用for、while和do-while语句编写一个C程序,计算并输出数列1,3,5.…,2n-1,…的前n项之和,其中,n由键盘输入。
2.编程并上机调试运行。
(1)求1!+2!+3!+…+n!(n从键盘输入)。
(2)打印以下图案(用循环实现):** * ** * * * ** * * * * * ** * * * ** * **(3)猴子吃桃,猴子第一天摘若干桃子,当即吃了一半,又多一个,又多一个,第二天吃了剩下桃子一半又多一个。
以后每天早上都吃前一天剩下的一半多一个,这样到了第十天,只剩下一个桃子。
问第一天共摘了多少个桃子?(4)打印九九乘法表。
(5)有算式s=1+12+123+1234+12345+…,从键盘输入n,根据已知算式求前n项之和。
如n=3,则s=1+12+123;n=5,则s=1+12+123+1234+12345。
(6)从键盘输入一串数字字符,将其转换成对应的整数。
如输入字符串“368”,则输出整数368。
*思考题3.在实验内容1的程序(1)输入时,若在“for(i=1;i<=k;____)”语句后多输入一个分号,即“for(i=1;i<=k;____);”,分析程序,写出预期结果。
4.在实验内容1的程序(2)输入时,若while语句后的{}省略,即while(____)s+=i;______;分析程序,写出预期结果。
5.简述while语句和do-while语句的区别。
三、算法流程图或实验步骤(可根据需要增删、修改)1.(1)for语句实现:算法流程图:#include<stdio.h>void main ( ){long s, n, k , i;scanf ("%ld",&n);k=2*n-1;s=0;for(i=1;i<=k;i=i+2)s+=i;printf("1+3+…+%ld=%ld\n",k,s);}实验步骤:Files→New→Files→C++source File→文件名:program4011.c→位置:E:\123\→确定→完善源程序→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果(2)while语句实现:算法流程图:#include<stdio.h>void main ( ){long s=0,n,i=1;scanf("%ld",&n);while(i<=2*n-1){s+=i;i=i+2;}printf("1+3+…+%ld=%ld\n",2*n-1,s);}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4012.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(3)do-while语句实现:算法流程图:#include<stdio.h>void main ( ){long s=0,n,i=1;scanf("%ld",&n);do{s+=i;i=i+2;}while(i<=2*n-1);printf("1+3+…+%ld=%ld\n",2*n-1,s);}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4013.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果2.(1)算法流程图:#include<stdio.h>void main(){int n,s=0,i,j,t;scanf("%d",&n);for(i=1;i<=n;i++){t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}printf("%d\n",s);return 0;}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4021.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(2)算法流程图:#include<stdio.h>void main(){int i,j,k;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)printf(" ");for(k=1;k<=2*i-1;k++)printf("*");printf("\n");}for(i=1;i<=3;i++){for(j=1;j<=i;j++)printf(" ");for(k=1;k<=7-2*i;k++)printf("*");printf("\n");}}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4022.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(3)算法流程图:#include <stdio.h>int main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2; /*第1天的桃子数是第2天桃子数加1后的2倍.*/x2=x1;day--;}printf("total=%d\n",x1);return 0;}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4023.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(4)算法流程图:#include <stdio.h>int main() {int i,j;for(i=1;i<=9;i++) {for(j=1;j<=9;j++)printf("%d*%d=%2d\t", i, j, i*j);printf("\n");}return 0;}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4024.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(5)算法流程图:#include<stdio.h>void main(){int n=0,i=1,m=0,sun=0;printf("请输入一个数");scanf("%d",&n);while(i<=n){m=m*10+i;sun+=m;i++;}printf("%d",sun);}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4025.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(6)算法流程图:#include <stdio.h>void main(){char str[20];scanf("%s",str);printf("%d\n",atoi(str));}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4026.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果3.(1)算法流程图:#include<stdio.h>void main ( ){long s, n, k , i;scanf ("%ld",&n);k=2*n-1;s=0;for(i=1;i<=k;i=i+2);s+=i;printf("1+3+…+%ld=%ld\n",k,s);}(2)实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4031.c→位置:E:\123\→确定→输入修改后的代码→Buid→是→查看编译结果4.(1)算法流程图:#include<stdio.h>void main ( ){long s=0,n,i=1;scanf("%ld",&n);while(i<=2*n-1)s+=i;i=i+2;printf("1+3+…+%ld=%ld\n",2*n-1,s);}(2)实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4031.c→位置:E:\123\→确定→输入修改后的代码→Buid→是→查看编译结果→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果四、实验结果及分析1.详情见第三项算法流程图2.详情见第三项算法流程图3.预期结果:编译时产生错误4.预期结果:程序虽然编译没有错误,但程序无效,并不能起到原题所需要的功能。
C语言程序设计实验报告:循环结构程序设计
C 语言实验报告课程__C 程序设计_实验名称_循环结构程序设计__第 页 共 页系 别__电气工程______________________ 实 验 日 期 2010 年 4 月 28日 专业班级___ 自动化 __2班 _______________ 实 验 报 告 日 期 2010 年 4月 28日 姓 名___马震_________学号_P091813232___ 报 告 退 发 ( 订正 、 重做 ) 教 师 审 批 签 字一.实验目的For 语句以及数组的练习。
二.实验内容(-)实验题目一:求1至100的和加1至50的平方的和加1至10的倒数的和 1.要点分析 见右图 实验步骤void main(){double k,s=0,t=0,u=0; for(k=1;k<=100;k++) s=s+k; for(k=1;k<=50;k++) t=t+k*k; for(k=1;k<=10;k++) u=u+1/k; printf("%f\n",s+t+u);} 3.实验结果(二)实验题目二:打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。
1.要点分析 见下页右侧图#include <stdio.h>void main(){int a,b=0,c=0,d=0;for(a=100;a<=999;a++){b=a/100;c=a/10-10*b;d=a-100*b-10*c;if(a==b*b*b+c*c*c+d*d*d)printf("水仙花数为%d\n",a);}}3实验结果(三)实验题目三:有一分数序列:2/1,8/5,13/8,21/13…求出这个数列的前20 1.要点分析见右侧图2.实验步骤#include <stdio.h>void main(){double a=1,b=2,c=1,s=0;for(;c<=20;c=c+2){s=s+b/a;a=b+a;s=s+a/b;b=b+a;}printf("数列前20项和为%f\n",s);}3实验结果(四)实验题目四:一球从100每次落地后返回原高度的一半,再落下。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程名称程序设计基础
实验项目数组与循环结构程序设计(一)
实验仪器计算机
系别计算机学院
专业
班级/学号
学生姓名
实验日期 2014.12.4 成绩
指导教师
实验三
一、实验目的
(1)熟悉掌握用while语句、do…while语句和for语句实现循环的方法。
(2)掌握在程序设计中用循环的方法实现一些常用算法。
(3)进一步学习调试程序。
二、实验内容
(1)输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。
(2)输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
例如,153是一个水仙花数,因为153=13+53+33。
(3)猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,就只剩一个桃子了。
求第一天共摘多少个桃子。
在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半零两个。
请修改程序并运行,检查结果是否正确。
三、实验课时
2课时
四、实验步骤(20分)
(1).先分析题目,想一个能达成目标的算法,然后打开vc6.0开始打码,等到完成后先编译看是否有错误,若有则查看软件给出的提示再进行修改,直到成功再运行程序并输入数字检验,看是否正确,不正确则返回代码再修改直到结果正确,最后截图完成实验。
(2).分析题目初步确定算法,然后打开vc6.0开始打码,注意格式,防止犯错误,代码打好后F7查看是否正确,不正确则修改,正确则开始运行,验证输出是否正确,错误则返回修改,否则完成实验。
(3).分析题目初步确定算法,打开VC6.0,新建文件C++SF,输入代码,运行,
记录输出信息,分析原因;按照题目要求,对代码进行修改,继续运行,成功则记录输出信息,进行截屏,完成问答。
五、流程图(20分)
1.
2.
3 .
六、实验心得(20
(1).实验中遇到while((c=getchar())!='\n')不明白他的意思,通过查找资料知道其意思是遇到回车键就输出。
(2).实验中最大的难题就是用怎样的一个算法来算出个十百位的数字,最后通过参阅资料解决,多做练习培养自己算法思维很重要。
(3).实验中使用逆推的思想,由此设计一个while结构算法,完成程序。
七.运行结果截图(15分)
(1).
(2).
(3).
八.C程序源代码(25分)
(1).#include<stdio.h>
int main()
{
char c;
int letters=0,space=0,digit=0,other=0;
printf("请输入一行字符:\n");
while((c=getchar())!='\n')
{
if(c>='a' && c<='z' || c>='A' && c<='Z') letters++;
else if(c==' ')
space++;
else if(c>='0' && c<='9')
digit++;
else
other++;
}
printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d\n",letters,space,digit,other);
return 0;
}
(2).
#include<stdio.h>
int main()
{
int i,j,k,n;
printf("水仙花数:");
for(n=100;n<1000;n++)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k) printf("%d ",n);
}
printf("\n");
return 0;
}
(3).
1.#include<stdio.h>
int main()
{
int a,b,d;
b=1;
d=9;
while(d>0)
{
a=(b+1)*2;
b=a;
d--;
}
printf("桃子=%d\n",a); return 0;
}
2. #include<stdio.h>
int main()
{
int a,b,d;
b=1;
d=9;
while(d>0)
{
a=(b+2)*2;
b=a;
d--;
}
printf("桃子=%d\n",a); return 0;
}。