C语言实验报告册

绝世美人儿
740次浏览
2021年02月08日 17:22
最佳经验
本文由作者推荐

热门专业排名前十名-

2021年2月8日发(作者:我最好朋友的婚礼)




















课程名称:



学生学号:



所属院部:



(理工类)











C


语言程序设计实验



专业班级:


15


自动化


2




1517011063


学生姓名:



王启涛




智能科学与控制工程学院



指导教师:



王预




2015


——


20 16


学年




2


学期




金陵科技学院教务处制



实验报告书写要求



实验报告上交电子 稿,


标题采用四号黑体,


正文采用小四号宋体,


单倍行距。



实验报告书写说明



实验报告中实验目 的和要求、


实验仪器和设备、


实验内容与过程、


实验结果与分析这四项内容为必需项。


教师可根据学科特点和实验具

< p>
体要求增加项目。



填写注意事项



1


)细致观察,及时、准确、如实记录。




2


)准确说明,层次清晰。




3


)尽量采用专用术语来说明事物。





4


)外文、符号、公式要准确,应使用统一规定的名词和符号。




5


)应独立完成实验报告的书写,严禁抄 袭、复印,一经发现,


以零分论处




实验报告批改说明



实验报告的批改要 及时、认真、仔细,一律用红色笔批改。实验


报告的批改成绩采用五级记分制或百分制,



《金陵科技学院课堂教


学实施细则》 中作业批阅成绩评定要求执行。



金陵科技学院实验报告




实验项目名称:



初级程序设计



实验学时:


6


同组学生姓名:



实验地点:



工科楼



实验日期:


2016.3.29


实验成绩:



批改教师:



王预



批改时间:





















1




金陵科技学院实验报告




实验


1


初级程序设计




一、实验目的和要求




1


)熟悉


Visual


C ++


集成环境,进行编辑、保存、编译、连接及运行,并能进行简单

程序调试;




2


)掌握


C


语言中各种运算符的使用;

< br>



3


)掌握

< br>C


语言中各种数据类型的区别与应用;




4



熟练掌握


C


语言中变量的定义、


赋值和使用,


表达式语句、


输入


/


输出语句 的使用;




5


)掌握


C


语言中输入


/


输出函数的使用;




6< /p>


)掌握


C


语言中控制语句的使用,含


if-else



for

< br>、


while



do- while


语句的使用。



二、实验仪器和设备



奔腾以上计算机,装有


windows XP


以上版本操作系统和


Visual C++ 6.0


软件。



三、实验内容与过程



1


、程序调试




1



#include


main()


{ int s,t,p,sum;


scanf(


< br>%d%d%d



,&s,&t,&p);


sum=s+t+p;


printf(



sum=%dn



,su m);


}



2


#include


main()


{ int k=3;



if(k=3) printf(“***”);




else printf(“###”);



}



3



#include


main()


{int k=0;


do


{ printf(“k=%d


n


”,k);



}while(k++>0);


}


2


、程序改错



2




金陵科技学院实验报告



< p>
下面是判断一个学生考试成绩及格与否的程序(成绩A,或B,或C者为及格;成绩


为D者不及格)


,调试并改进如下程序使其能满足上述输出的需要。

< p>



include


main()


{ char mark=“A”;



switch(mark)



{ case “A”:




case “B”:



case


“C”: printf(“>=60



n”);




case “D”: printf(“<60



n”);




default: printf(“Error



n”);



}


}


3


、程序设计




1


)功能:编程实现使一任意实型正数保留


2


位小数,并对第三位进行四舍五入。




例如:实型数为


1234.567


,则函数返回


1234.570000





实型数为


1234.564


,则函数返回


1234.560000




#include


main()


{


float a,; int b;



scanf(



b=a*100+0.5;



a=b/100.0;



printf(


}



2


)功能:从键盘输入一个大写字母,要求改用小写字母输出。



说明:可分别利用格式化及字符专门的输入输出函数两种方法实现。




3


)功能:编写函 数计算下列分段函数的值:




x


2



x



6


x



0



2


f


(

< br>x


)




x



5


x



6


0



x



10




x


2



x

< p>


1


其它




4


)假设工资税率如下,其中

s


代表工资,


r


代表税率:



s<500 r=0%


500<=s<1000 r=5%


1000<=s<2000 r=8%


2000<=s<3000 r=10%


3000<=s r=15%


编 一程序实现从键盘输入一个工资数,输出实发工资数。要求使用


switch

< p>
语句。




5

< p>


功能:


功能:


计算正整 数


n


的所有因子


1



n


除外)

之和并输出。


n


的值由键盘输入。



3




金陵科技学院实验报告



< p>
例如:


n=120


时,输出


239





6


)功能:计算并输出下列多项式的值


S = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n!



例如:键盘给


n


输入


1 5


,则输出为:


s=2.718282





注意:要求

< br>n


的值大于


1


但不大于


100





7


)功能:从低位开始取出长整型变量


s


奇数位上的数,依次构成一个新数放在


t


中。



例如:当


s


中的数为:


7654321


时,


t


中的数为:


1357



五、实验注意事项



1


、赋值号“


=


”与关系运算符“


==


”的区别;



2



if-else

< br>语句中


else


后无条件表达式;



3



while

< br>与


do-while


的区别;



4


、复合语句必须用


{}


括起来。



六、思考题


< /p>


1


、功能:判断一个三位数是否



水仙花数



。在


main


函数中从键盘输入一个三位数,并


输出判断结果。



说明:所谓



水仙花数



是指一


3


位数,其 各位数字立方和等于该数本身。



例如:


153


是一个水仙花数,因为


153=1+125+27




2


、功能:计 算并输出


3



n


之间所有素数的平方根之和。




例如:键盘给


n


输入


100

< p>
后,输出为:


sum=148.874270


。< /p>



3


、功能:输出


Fibonacci


数列中大于


s


的 最小的一个数。其中


Fibonacci


数列

< br>F(n)


的定义


为:



F(0)=0



F(1)=1 F(n)=F(n-1)+F(n-2)



例如:键盘输 入


s=1000


时,输出


1597




4


、功能:判 断整数


x


是否是同构数。若是同构数,输出"是";否则输出" 不是"。


x


的值由主函数从键盘读入,要求不大于


100




说明:所谓



同构数



是指这 样的数,这个数出现在它的平方数的右边。



例如:输入整数< /p>


5



5


的平方数 是


25



5



25


中右侧的数,所以


5


是同构数。




程序清单:



3(1)


#include


main()


{


float a; int b;



scanf(



b=a*100+0.5;



a=b/100.0;



printf(


}



2



#include


main()


{


char ch;



pintf(


4




金陵科技学院实验报告





ch=getchar();



if(ch>'A'&&ch<'Z');



ch=ch+32;



putchar(ch);



pri ntf(



n



);


}



3


#include


main()


{


float x,y;



scanf(



if(x<0)




y=x*x+x+6;



else if(x<10&&x!=2.0&&x!=3.0)




y=x*x-5*x+6;




else





y=x*x-x-1;


printf(



}



4




#include


main()


{


int n,s;



scanf(



if(s<500)




n=1;



else if(s<1000)




n=2;




else if(s<2000)





n=3;





else if(s<3000)






n=4;






else







n=5;



switch(n)



{



case ‘


1':




printf(




break;



case ‘


2':




s=s*(1-5%);




printf(




break;



case ‘


3':



5



金陵科技学院实验报告


















}




s=s*(1-8%);



printf(



break;


case ‘


4':



s=s*(1-10%);



printf(



break;


case ‘


5':



s=s*(1-15%);



printf(



break;


default





print(


}


6




金陵科技学院实验报告




四、实验结果与分析(程序运行结果及其分析)



1 (1)


输入


1 2 2



Sum=5


(2)***


(3)k=0











五、实验体会(遇到问题及解决办法,编程后的心得体会)



7




金陵科技学院实验报告




实验项目名称:



中级程序设计



实验学时:


8


同组学生姓名:



实验地点:



实验日期:



实验成绩:



批改教师:



批改时间:




8




金陵科技学院实验报告




实验


2


中级程序设计



一、实验目的和要求




1


)掌握函数的定义、调用及返回、声明的应用;




2


)熟练掌握一维数组的定义、初始 化及使用;




3

)掌握二维数组的定义、初始化及应用;




4


)熟练掌握向函数传递一维数组的方法和应用;




5


)掌握向函数传递一维数组的方法 和应用。



二、实验仪器和设备



奔腾以上计算机,装有


windows XP


以上版本操作系统和


Visual C++ 6.0


软件。



三、实验内容与过程



1


、程序调试



#include


int func(int a,int b)


{return(a+b); }


main()


{int x=3,y=8,z=4,r;


r=func(func(x,y),z);


< p>
printf(“r=%d



n”,r);



}


2


、程序改错



要求


:1


、改错时,只允许修改现有语句中的一部分内容,不 允许添加和删除语句。



2


、提示行下一行为错误行。



(1)


功能:判断


m


是否为素数,若是返回


1


,否则返回

< br>0




#include


/**********FOUND**********/


void fun( int n)


{


int i,k=1;


if(m<=1) k=0;


/**********FOUND**********/


for(i=1;i


/**********FOUND**********/


if(m%i=0) k=0;


/**********FOUND**********/


return m;


}


void main()


{


int m,k=0;


9




金陵科技学院实验报告




for(m=1;m<100;m++)


if(fun(m)==1)


{


printf(


if(k%5==0) printf(


}


}



2


)功能:在一个已按升序排列的数组中插入一个数,插入后 ,数组元素仍按升序排


列。



#include


#define N 11


main()


{ int i,number,a[N]={1,2,4,6,8,9,12,15,149,156};


printf(


/**********FOUND**********/


scanf(


printf(


for(i=0;i


printf(


printf(


/**********FOUND**********/


for(i=N-1;i>=0;i--)


if(number<=a[i])


/**********FOUND**********/


a[i]=a[i-1];


else


{


a[i+1]=number;


/**********FOUND**********/


continue;


}


if(number


printf(


for(i=0;i


printf(


printf(


}


(3)


找出一个二行三列二维数组中的最大值,输出该最大值及其行列下标,建议二维 数


组值由初始化给出。



#include


#include


main()


{


int i,j,max,s,t;


10




金陵科技学院实验报告




/**********FOUND**********/


int a[2][]={1,34,23,56,345,7};


clrscr();


/**********FOUND**********/


max=0;


s=t=0;


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


/**********FOUND**********/


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


if(a[i][j]>max)


{ max=a[i][j]; s=i; t=j; }


/**********FOUND**********/


printf(


}


3


、程序设计



说明,所有题目均需添加


main


()


,在


main


()中调用子函数并设计完整的输入输出


才可调试通过




(1)


功能:


编写函数


float


fun(int


n)



求一分数序列


2/1



3/ 2



5/3



8/5



13/8


< br>21/13



的前


n

< p>
项之和。



说明:每一分数的分母是前两项的分母 之和,每一分数的分子是前两项的分子之和。



例如:求前


20


项之和的值为


32.660259




(2)


完成子函数


int fun(int n)


,找出一个大于给定整数且紧随这个整数的素数,并作

< p>
为函数值返回。



说明,以下四个关于数组的题 目,可以先用一个


main


()函数实现,然后相关内容学


习后再利用数组作函数参数的子函数和


main

()函数共同实现。




3


)功能:编写函数


void


fun(int


n,int


a[])


,按顺序将一个


4


位的正整数每一位上


的数字存到一维 数组,然后在主函数输出。例如输入


5918


,则输出结果为< /p>


5 9 1 8



< br>(


4


)功能:编写函数


void fun(int arr[],int n)


将一个数组中的值按逆序存放,并



main()


函数中输出。

< br>


例如:原来存顺序为


18,2,50,43,69


。要求改为:


69,43,50,2,18




(5)


功能:程序定义了


N


×


N


的二维数组, 并在主函数中自动赋值。请编写函数


void


fun(int a[][N],int n)


,使数组


a


左下三角元素中的值乘以任意整数


n




例如:若


n


的值为


2



a


数组中的值为



| 1 9 7 | | 2 9 7 |


a = | 2 3 8 |

则返回主程序后


a


数组中的值应为


| 4 6 8 |


| 4 5 6 | | 8 10 12|


(6)


功能:编写函数


void fun(int array[3][3])


,实现矩阵(


3< /p>



3


列)的转置(即行列


互换)。



例如:输入下面的矩阵:



100 200 300


400 500 600


700 800 900


11



热门专业排名前十名-


热门专业排名前十名-


热门专业排名前十名-


热门专业排名前十名-


热门专业排名前十名-


热门专业排名前十名-


热门专业排名前十名-


热门专业排名前十名-