c语言大作业小结,C语言实验报告

C循环

实验目的:

1.熟悉掌握while语句、do-while语句和for语句实现循环的方法

2.掌握在程序设计中用循环方法实现一些常用算法(如穷举、迭代、递推等)

3.掌握并会分析循环结构程序

实验内容:

1.编程计算5!,要求输出结果为:1×2×3×4×5=120。

2.输入10个数,求其中的最大数和最小数

实验过程及调试过程:

实验一:

#include

int main()

{

int

i=1,product=1;

while(i<=5)

{

product=product*i;

i++;

}

printf("The number is

%d\n",product);

return 0;

}

实验二:

#include

int main()

{

int

i=1,product=1;

while(i<=5)

{

product=product*i;

i++;

}

printf("The number is

%d\n",product);

return 0;

}

实验结果:

实验一:

The number is 120.

实验二:

(我输入的是1 2 3 4 5 6 7 8 9 10)

得到的答案是:

max=10

min=1

C语言的运行环境

实验目的:

1.熟悉开发环境,掌握程序设计的基本步骤

2.编制简单C程序并运行,熟悉C的编辑、编译、连接和运行过程

3.熟悉C的基本元素、标识符等,掌握C程序的基本结构

实验内容:

1. 检查所用的计算机系统是否已安装了C编译系统并确定它所在的子目录。

2.进入所用的C编译集成环境。

3.熟悉集成环境的界面和有关菜单的使用方法。

4.输入并运行一个简单的、正确的程序。

(1)输入下面的程序

#include

int main()

{

printf(“This is a c program.\n”);

return 0;

}

(2)仔细观察屏幕上的已输入的程序,检查有无错误,对程序进行编译,连接,运行,查看其结果。

(3)修改以上程序,请输出你的学号姓名。

5.编写程序,实现求两整数和与差。

实验步骤与调试过程:

1、

检查所用的计算机系统是否已安装了VC6.0,并确定它所在的子目录;

2、

进入C语言的编辑器;

3、

观察题目要求,开始进行自己的编译;

4、

根据题目一:对程序输入代码,

#include

int main()

{

printf(“This is a c program.\n”);

return 0;

}

5、

题目二对程序输出自己的学号和自己的姓名;

6、

对程序二进行修改,进行两数之和和两数之差的运算;

7、

试验结束后,分别进行运行并不断进行调试,得到正确结果后,再次进行保存。

实验结果:

试验一:

“This is a program.”

实验二:

“小明 1315935007”

实验三:

7 //2+5

3 //6-3

疑难小结:

.熟悉开发环境,掌握程序设计的基本步骤;编制简单C程序并运行,熟悉C的编辑、编译、连接和运行过程;熟悉C的基本元素、标识符等,掌握C程序的基本结构,对C语言有了一个较为深层面的认识。

主要算法和程序流程图:

实验一:

#include

int main()

{

printf("This is a

program");

return 0;

}

实验二:

#include

int main()

{

printf("小明 1315935007");

return 0;

}

实验三:#include

int main()

{

int a,b,sum;

printf("请输入两个数");

scanf("&d

%d",&a,&b);

sum=a+b;

printf("%d",sum);

return 0;

}

#include

int main()

{

int a,b,c;

printf("请输入两个数");

scanf("&d

%d",&a,&b);

c=a-b;

printf("%d",c);

return 0;

}

选择结构程序设计

实验目的:

1.

了解C语言表示逻辑量的方法(以0表示“假”,以非0代表“真”)

2.

学会正确使用逻辑运算符和逻辑表达式

3.

熟悉选择结构程序设计

4.

熟练使用if语句进行程序设计

5.

使用switch语句实现多分枝选择结构

实验内容:

1.输入x,y,编写程序求z=x+|y|的值。

2.编程判断输入的正整数是否既是5又是7的整数倍。若是,则输出yes;否则输出no。

3.编写简单的计算器程序:根据用户输入的两个操作数和运算符,显示计算结果。(设运算符包括+,-,*,/)。

实验步骤与调试过程:

1、

在电脑桌面上打开vc.6;

2、

新建一个文档,并将文档放入E盘中,文档名称为自己的姓名和学号;

3、

开始编译程序;

4、

保存并运行;

5、

如果有错误要仔细寻找错误并认真改正;

6、

记录程序结果。

实验结果:

实验一:

5 //x=2 y=-3

实验二:

NO //5

实验三:

3 //1+2

疑难小结:

在实验三中,输入1+2,最后得到的结果总是0,一直在寻找原因却找不到,请教学长才明白,是因为没有加break,导致程序不能跳出本次循环,一直往下运行。经过调整后,结果正确。

主要算法和程序流程图:

实验一:

#include

void main()

{

int x,y,z;

scanf("%d,%d",&x,&y);

if(y>=0)

z=x+y;

else

z=x-y;

printf("%d",z);

}

实验二:

#include

int main()

{

int i;

printf("please enter a

number \n");

scanf("%d",&i);

if (i>=0)

if(i%5==0&&i%7==0)

printf("YES\n");

else

printf("NO\n");

return 0;

}

实验三:

#include

int main()

{

int a,b,c;

char ch;

printf("Please

input:\n");

scanf("%d%c%d",&a,&ch,&b);

switch (ch)

{

case'+':c=a+b; break;

case'-':c=a-b; break;

case'*':c=a*b; break;

case'/':c=a/b;

}

printf("%d\n",c);

return 0;

}

循环结构程序设计

实验目的:

1.熟练掌握循环结构的嵌套

2.熟练掌握选择与循环结构的嵌套

3.掌握break和continue语句的使用

实验内容:

1.求任意两个整数之间所有的素数。

2.编写程序,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩。

实验步骤与调试过程:

1、

打开电脑,并查看桌面上是否有VC6;

2、

检查完毕后,打开VC6,建立一个新的文件;

3、

将此文件命名为自己的名字,并将此文件存于E盘中;

4、

查看实验题目要求,进行实验操作;

5、

完毕后,运行试验,检查是否发生错误,若错误,要及时查看并改正;

6、

进行小结。

实验结果:

实验一:

101 103 107 109 113 127 131 137 139 149

151 157 163 167 173 179 181 191 193 197

199

实验二:

第一的成绩:total=282,aver=76

第二的成绩:……

第三的成绩:……

第四的成绩:……

第五的成绩:……

疑难小结:

在实验二中,printf的语句出现问题,导致最后的结果总是被覆盖,经过老师的指导,最终改正过来,得到正确答案。

主要算法和程序流程图:

实验一:

#include

#include

int main()

{

int

n,k,i,m=0;

for(n=101;n<=200;n=n+2)

{

k=sqrt(n);

for(i=2;i<=k;i++)

if(n%i==0) break;

if(i>=k+1)

{

printf("%d ",n);

m=m+1;

}

if(m==0)

printf("\n");

}

printf("\n");

return

0;

}

实验二:

#include

int main()

{

int

i,j1,j2,j3,j4,j5,aver,total;

for(i=1;i<=6;i++)

{

printf("please enter the %d kinds of grades\n",i);

scanf("%d,%d,%d,%d,%d",&j1,&j2,&j3,&j4,&j5);

total=j1+j2+j3+j4+j5;

aver=total/5;

printf("第%d的成绩: total=%d,aver=%d\n",i,total,aver);

}

return

0;

}

数组一

实验目的:

1.掌握一维数组和二维数组的定义、赋值和输入输出的方法

2.掌握字符数组和字符串函数的使用

3.掌握与数组相关的算法(排序算法)

实验内容:

1.输入10个数,利用数组求其中的最大数和最小数。

2.

输入10个数,保存在数组中,在数组中查找某个数。如果找到了要求输出该数在数组中所在的位置,如果找不到则输出“没找到该数”的提示信息。

3. 求3×3矩阵中的最大数及其所在的位置(即行号和列号)。

实验步骤与调试过程:

1、

打开电脑,找到VC6的软件;

2、

打开VC6,新建一个文档;

3、

把这个文档命名为自己的学号,并把此文件存于E盘中;

4、

根据实验要求,开始试验;

5、

试验结束后,执行;

6、

发现错误后,要根据提示,自行琢磨改正;

7、

小结并保存。

实验结果:

实验一:

the max is 10

the min is 1

//我输入的是1,2,3,4,5,6,7,8,9,10

实验二:

在数组第五个位置找到6 //我输入的10个数字是 1 2 3

4 5 6 7 8 9 10

实验三:

The max is 9

在二维数组第三行第三列找到9

疑难小结:

在实验三中,程序并不能正确执行,原因是缺少循环语句并且没有定义行和列,经过修改,成簇能够正常运行。

主要算法和程序流程图:

实验一:

#include

int main()

{

int i,

a[10],max,min;

for(i=0;i<=9;i++)

{

scanf("%d",&a[i]);

}

max=min=a[0];

if(max

{

printf("the max is %d\n",a[i]);

}

if(min

{

printf("the min is %d\n",a[0]);

}

return

0;

}

实验二:

#include

int main()

{

int

m,a[10];

printf("please enter 10 numbers\n");

for(int

i=0;i<=9;i++)

{

scanf("%d",&a[i]);

}

printf("请输入要寻找的数 :\n");

scanf("%d",&m);

for(i=0;i<10;i++)

if(a[i]==m)

{printf("在数组第%d个位置找到%d\n",i,a[i]);

return

0;

}

printf("没有这个数\n");

printf("\n");

return

0;

实验三:

#include

int main()

{

int

i,j,a[3][3],max;

printf("请输入三行三列的数\n");

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

{

scanf("%d",&a[i][j]);

//printf("%d",a[i][j]);

}

//printf("\n");

}

max=a[0][0];

int

row=0;int col=0;

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

{

if(max

{

max=a[i][j];

row=i;

col=j;

}

}

}

printf("the

max is %d\n",max);

printf("在二维数组第%d行%d列找到%d\n",row+1,col+1,max);

printf("\n");

getchar();

return

0;

}

数组二

实验目的:

1.掌握一维数组和二维数组的定义、赋值和输入输出的方法

2.掌握字符数组和字符串函数的使用

3.掌握与数组相关的算法(排序算法)

实验内容:

1.编写一个程序,实现把一个字符串颠倒过来。

2.编写一个程序,循环从键盘接收一批学生的某门课的成绩,并依次保存在数组score的相应元素中,直到输入的成绩为999时结束。

(1)对成绩按从高到低排序,然后顺序输出排序后的所有学生的成绩,

(2)再输入一个学生的成绩,并插入排序后的成绩表中并保持有序,最后再输出所有学生的成绩

(3)再输入一个成绩,并从数组中删除与该数相同的所有同学成绩,最后输出最终的成绩表

实验步骤与调试过程:

1、

打开电脑,看电脑桌面上是否有VC6.0这个程序;

2、

打开VC6.0,建立一个新的文件,并将此文件命名为自己的姓名和学号,将次文件存在E盘中;

3、

根据题目要求,开始编写程序;

4、

完毕后,开始运行,如若发现错误,不断的进行调试,调试完毕后再次进行保存。

写小结,总结经验,完毕。

实验结果:

Dlrowolleh

疑难小结:

实验二的过程很复杂,在操作过程中比较困难,从中体现了知识结构的不牢固,在今后的学习中,要加强对C语言知识的学习,使自己能够更加自如地应用。

实验一:

#include

int main()

{

char a [11]="helloworld";

char b [11];

int i,j;

for(j=0;j<=9;j++)

{

b[j]=a[9-j];

}

for(i=0;i<=9;i++)

printf("%c",b[i]);

printf("\n");

return 0;

}

实验二:

#include

int I;

int main();

{

int i=0,n=0;

float score[N];

for(i=0;;i++)

{

printf("输入第%d个学生的成绩",i+1);

scanf("%f",&score[i]);

if(score[i]=999)break;

}

//输入所有的成绩

int j;

for(n=0;n

{

for(j=n+1;j

{

int temp;

if(score[n]

{

temp=scorn[n];

score[n]=score[j];

score[j]=temp;

}

}//冒泡算法排序

printf("从高到低分数排序为:\n");

for(n=0;n

printf("%7.2f",score[n]);

printf("\n");//输出排序后的成绩

I=i;

printf("请输入这个学生的成绩:\n");

scanf("%f",&score[i]);

I=I+1;

for(n=0;n;n++)

{

for(j=n+1;j

{

int temp;

if(score[n]

{

temp=score[n];

score[n]=score[j];

score[j]=temp;

}

}

}

printf("从高到低分数排序为:\n");

for(n=0;n

printf("%7.2f",score[n]);

printf("你想删除的分数:");

float dnumber;

scanf("%f",&dnumber);

for(i=0;i

{

if(dnumber==score[i])

i++;

else printf("%7.2f",score[i]);

}

}

}

函数一

实验目的:

1.理解和掌握多模块的程序设计与调试的方法

2.掌握函数的定义和声明函数的方法

3.熟悉调用函数时实参和形参的对应关系,以及“值传递”的方式

实验内容:

1.用函数实现两个整数交换,设计一个函数swap,实现两个整数的交换。

2.在主函数中输入一个十进制数,调用转换函数把这个十进制数转换成二进制数。

3.定义一个函数,判断三个整形边长能否构成三角形,如果是三角形,则判断它是否是直角三角形。

1)声明函数judge;

2)实现函数judge,根据输入的三个边长判断是否可以构成三角形;

3)在main中调用judge;

4)在main中根据judge的返回值判断是否是三角形,如果构成三角形则进一步判断是否是直角三角形,输出相应的结果。

实验步骤与调试过程:

5、

打开电脑,看电脑桌面上是否有VC6.0这个程序;

6、

打开VC6.0,建立一个新的文件,并将此文件命名为自己的姓名和学号,将次文件存在E盘中;

7、

根据题目要求,开始编写程序;

8、

完毕后,开始运行,如若发现错误,不断的进行调试,调试完毕后再次进行保存。

9、

写小结,总结经验,完毕。

实验结果:

实验一:a=12

b=21 //我输入的是a=21,b=12

实验二:10100 //我输入的是20

疑难小结:

实验一中不能够完全理解数值交换一意义。

试验一:

#include

int main()

{

void swap(int a,int

b);

int a,b,c;

printf("请输入分别a和b的值\n",a,b);

scanf("%d,%d",&a,&b);

swap(a,b);

}

void

swap(int a,int b)

{

int c;

c=a;

a=b;

b=c;

printf("a=%d,b=%d\n",a,b);

}

实验二:

#include

void f(int n)

{

if(n) f(n/2);

else return;

printf("%d",n%2);

}

int main()

{

int n;

while(1)

{

scanf("%d",&n);

if(n<0) break;

if(n==0) printf("0");

f(n);

printf("\n");

}

return 0;

}

实验三:#include

int judge(int a,int b,int c)

{

int m;

if(((a+b)>c)&&((a-b)b)&&((a-c)a)&&((b-c)

m=1;

else

m=0;

return m;

}

#include

void main()

{

int x,y,z,n;

printf("请输入三个数\n");

scanf("%d,%d,%d",&x,&y,&z);

n=judge(x,y,z);

if(n==1)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值