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
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
{ 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)
相关推荐: