C语言实验报告 联系客服

发布时间 : 星期二 文章C语言实验报告更新完毕开始阅读

C语言实验报告

实习主题 实验题目 实验时间 C语言程序设计 2013 学年 2 学期 1 周 ( 2013 年 2 月 25 日— 3 月2日) 学生姓名 实验地点 张永聪 经济管理学院电子实验室 学号 设备号 34 2012211156 班级 0311202 指导教师 刘友军

1. 编写一个函数pi,其功能是根据以下近似公式求π值:(π*π)/6=1+1/(2*2) +1/(3*3) +?

+1/(n*n)。并写一个主函数,调用该函数计算π的值,n在主函数中从键盘输入。要求程序存入test11.c。 设计思路:主要考察函数的调运,以及如何定义函数,函数的运行,此题应该使用一个循环。 调试结果:

#include #include main( ) {

int m=1,n,s; float p=0,t; scanf(\ while(m<=n) {

s=1/(m*m); p=p+s; m++; }

t=sqrt(p*6);

printf(\ }

运行结果:

2. 下列程序是将一个数组中的值按逆序重新存放并输出。请输入并完善程序。要求程序存

入test12.c。

#include void main()

{ int arr[10],i,j,temp; }

设计思路:数组的考察,首先定义一个数组,FOR循环的使用,数组的转换。 运行结果:

printf(“Input value of array:\\n”); for(i=0;i<10;i++)

scanf(“%d”,

&arr[i] );

arr[j] ,arr[j]=temp;

for(i=0,j=9;i<=j;i++,j--)

temp=arr[i],arr[i]=

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

printf(“M”,

arr[i] );

3. 在下列程序中,函数my_cmp()的功能是比较字符串s和t的大小,当s等于t时返回0,

否则返回s和t的第一个不同字符ASCII码差值,当s

#include

* *

int my_cmp(char *s,char *t) { while(*s==*t)

{

if(*s++==0) return(0); ++s,++t;

*

}

return(*s-*t);

}

void main()

*

{ char *s1,*s2; gets(s1); gets(s2);

if(my_cmp(s1,s2)==0) printf(“EQ”); else if(my_cmp(s1,s2)>0) printf(“s1>s2”);

else printf(“s2>s1”); }

设计思路:函数的调用,以及while、if语句的使用,如何输入一个字符串,指针的运用。

运行结果:

4. 编写一个程序用来统计学生成绩。其功能包括输入学生姓名和成绩,按成绩从高到低排

列打印输出,对前80%的学生定为合格(pass),后20%的学生定为不合格(fail)。要求程序存入test14.c。 设计思路:

调试结果:#include \#include \struct student {

char name[20]; float score;

struct student *next; };

int n;

struct student *creat(void) {

struct student *head,*p1,*p2; n=0;

head=p1=p2=(struct student*)malloc(sizeof(struct student)); printf(\请输入学生姓名:\\n\

scanf(\

printf(\请输入学生成绩:(成绩为零为结束)\\n\scanf(\while(p1->score!=0) {

n++; if(n!=1)p2->next=p1;

p2=p1; p1=(struct student*)malloc(sizeof(struct student)); printf(\请输入学生姓名:\\n\ scanf(\

printf(\请输入学生成绩:\\n\ scanf(\}

p2->next=NULL;

return head; }

struct student *sort(struct student *head)