文档库 最新最全的文档下载
当前位置:文档库 › c语言上机实习报告

c语言上机实习报告

c语言上机实习报告
c语言上机实习报告

<<计算机上机实习>>

实习报告

班级

学号/序号

姓名

指导教师

完成日期

第一部分:分析设计与说明

第二部分:程序框图

第三部分:源程序清单

第四部分:原始数据

第五部分:运行结果

第六部分:实习心得

第一部分:分析设计与说明

第一步:建立一个机械10704班的学生成绩信息文件和学分文件,采用文本文档格式。第二步:程序设计思定义一个结构体用于存放chengji文件中的数据。

1 .编写菜单,,在主函数中编写菜单,采用二级菜单形式,相应的选项对应相应的函数。

2 .编写第一个函数,用于读取文件chengji中的数据。

3 .编写第一个函数,用于读取文件xuefen中的数据。

4 .编写第二个函数,用于计算平均分和排名次,并将结果保存。

5 .编写第三个函数,计算各分数段的人数,并将结果保存。

6 .编写第四个函数,统计不及格的情况,并将结果保存。

7. 编写第六个函数,作各科成绩的饼状图。

8. 编写第八个函数,矩形表示。

9. 编写第九个函数,用于解线性方程组。

10.编写第九个函数,编写五角星动画函数。

说明:

十个函数中,前七个函数属于学生信息管理函数,在第一个二级菜单下,后三个保存在第二个二级菜单下。主函数起调配其他函数的功能。

第二部分:程序框架

主函数

函数1:学生管理函数2:解线性方程组动画制作

菜单1 菜单2 菜单3

1.解线性方程组1.线性图

1.计算平均分和名次

2.作动画

2.计算分数段人数

3.统计不及格情况

4.输入优秀学生

5.作分布图

6.查找

7.删除

第三部分:源程序清单

# include "stdio.h"

# include"conio.h"

#include"math.h"

#include "stdlib.h"

#include "dos.h"

# include"graphics.h"

#define PI 3.14159

#define H PI/180

#define N 4

struct stu

{int num,mingci;

char name[20];

int score[5];

float aver;

}stu1[40];

struct xuefen

{

int num;

char kcname[20];

int xf,a,b,c,d,e;

float courseaver ; }course[5];

struct chengji

{

float kcave;

float bzcha;

int exc;

int good;

int mid;

int pass;

int nopass;

}chengji[5];

main () /*主菜单*/

{ char ch1;

do{ clrscr();

printf("\n\n\n\n\n\n\n\n\n");

printf(" **********c语言程序设计上机实习**********\n");

printf(" ---------------------\n\n");

printf(" 1 学生成绩管理\n\n") ;

printf(" 2 解线性方程组 \n\n") ;

printf(" 3 动画\n\n");

printf(" 4 退出\n\n");

printf(" 输出选择序号\n");

while ((ch1=getchar(),ch1!='1'&&ch1!='2'&&ch1!='3'&&ch1!='4'));

switch(ch1)

{case'1': section1(); break;

case'2': section2(); break;

case'3': section3(); break;

case'4': exit(0);}

}while(1);

}

section1() /*第1个2级菜单*/

{char ch21;

do{ clrscr();printf("\n\n\n\n\n\n\n\n\n\n");

printf(" **********学生成绩管理系统***********\n");

printf(" ---------------------\n\n");

printf(" 1. 输入原始数据并显示 2. 计算平均分及名次\n\n") ;

printf(" 3. 计算分数段人数 4. 输出课程平均分 \n\n") ;

printf(" 5. 统计不及格情况 6. 输出优秀学生 \n\n");

printf(" 7. 作分布图 8. 返回上级菜单 \n\n");

printf(" 输入选择序号\n");

while

((ch21=getchar(),ch21!='1'&&ch21!='2'&&ch21!='3'&&ch21!='4'&&ch21!='5'&&ch21!=' 6'

&&ch21!='7'&&ch21!='8'));

switch(ch21)

{case'1': function1_1(); break;

case'2': function1_2(); break;

case'3': function1_3(); break;

case'4': function1_4(); break;

case'5': function1_5(); break;

case'6': function1_6(); break;

case'7': function1_7(); break;

case'8': return(0);}

}while(1);

}

section2() /*第2个2级菜单*/

{char ch22;

do{ clrscr();printf("\n\n\n\n\n\n\n\n\n\n");

printf(" **********解线性方程组***********\n"); printf(" ---------------------\n\n");

printf(" 1.解方程组\n\n");

printf(" 2.返回上级菜单\n\n");

printf(" 输入选择序号\n");

while ((ch22=getchar(),ch22!='1'&&ch22!='2'));

switch(ch22)

{case'1': function2_1(); break;

case'2': return(0);}

}while(1);

}

section3() /*第3个2级菜单*/

{char ch23;

do{ clrscr();printf("\n\n\n\n\n\n\n\n\n\n");

printf(" **********作动画***********\n");

printf(" ---------------------\n\n");

printf(" 1.作动画\n\n");

printf(" 2.返回上级菜单\n\n");

printf(" 输入选择序号\n");

while ((ch23=getchar(),ch23!='1'&&ch23!='2'));

switch(ch23)

{case'1': function3_1(); break;

case'2': return(0);}

}while(1);

}

function1_1()

{FILE *fp,*fp1,*fp2,*fp3;

char strr1[200], strr2[200];

int i,j;

printf("加入读入原始数据并显示的程序内容\n");

if((fp=fopen("C:\\chengji.txt","r"))==NULL)

{printf("cannot open the file\n");

exit(0);}

if((fp1=fopen("C:\\chengji1.txt","w"))==NULL)

{printf("cannot open the file\n");

exit(0);}

if((fp2=fopen("C:\\xuefen.txt","r"))==NULL)

{printf("cannot open the file\n");

exit(0);}

if((fp3=fopen("C:\\xuefen1.txt","w"))==NULL)

{printf("cannot open the file\n");

exit(0);}

/*fgets(strr,50,fp);*/

fgets(strr1,200,fp);

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

{ fscanf(fp,"%d%s",&stu1[i].num,stu1[i].name);

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

fscanf(fp,"%d",&stu1[i].score[j]);

}

/*fputs(strr,50,fp1;*/

fprintf(fp1,"学号姓名毛邓三近代史听力英语高数\n ");

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

{ fprintf(fp1,"%-5d%-10s",stu1[i].num,stu1[i].name);

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

fprintf(fp1,"%-8d",stu1[i].score[j]);

fprintf(fp1,"\n");

}

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

{ printf("%-5d%-10s",stu1[i].num,stu1[i].name);

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

printf("%-5d",stu1[i].score[j]);

}

fgets(strr2,200,fp2);

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

{ fscanf(fp2,"%d%s%d",&course[i].num,course[i].kcname,&course[i].xf);

}

fprintf(fp3,"编号课程名称课程学分\n ");

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

{ fprintf(fp3,"%-5d%-10s%-5d",course[i].num,course[i].kcname,course[i].xf); fprintf(fp3,"\n");

}

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

{ printf("%-5d%-10s%-5d",course[i].num,course[i].kcname,course[i].xf); printf("\n"); }

printf("*********按Enter键继续************\n");

getchar();getchar();

fclose(fp);

fclose(fp1);

fclose(fp2);

fclose(fp3);

}

function1_2()

{ int i,j,s;

float sum;

FILE *fp4;

printf("加入计算平均分及名次的程序内容\n");

sum=0;

s=0;

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

s=s+course[i].xf;

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

{sum=0;

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

sum+=stu1[i].score[j]*course[j].xf;

stu1[i].aver=sum/s;

}

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

for(i=0;i<39-j;i++)

if(stu1[i].aver

{stu1[40]=stu1[i];

stu1[i]=stu1[i+1];

stu1[i+1]=stu1[40];

}

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

stu1[i].mingci=i+1;

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

{

printf("%-5d%-10s",stu1[i].num,stu1[i].name);

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

printf("%-10d",stu1[i].score[j]);

printf("%-6.1f%-5d",stu1[i].aver ,stu1[i].mingci);

printf("\n");}

if((fp4=fopen("C:\\mingci.txt","w"))==NULL)

{printf("cannot open fille\n");

return;

}

fprintf(fp4, "学号姓名毛邓三近代史听力英语高数平均分名次\n"); for(i=0;i<40;i++)

{fprintf(fp4,"%-5d%-10s",stu1[i].num,stu1[i].name);

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

fprintf(fp4,"%-6d",stu1[i].score[j]);

fprintf(fp4,"%-6.1f%4d",stu1[i].aver ,stu1[i].mingci);

fprintf(fp4,"\n");

}

printf("**************按Enter键继续****************\n");

getchar(); getchar();fclose(fp4);

}

function1_3()

{FILE *fp5;

int i,j;

printf("加入计算分数段人数程序\n");

if((fp5=fopen("C:\\dumain.txt","w"))==NULL)

{

printf("can not open this file\n");

exit(0);}

fprintf(fp5,"范围 >90 80~90 70~80 60~70 <60\n");

printf("范围 >90 80~90 70~80 60~70 <60\n");

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

{ course[j].a=0;

course[j].b=0;

course[j].c=0;

course[j].d=0 ;

course[j].e=0;

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

{if(stu1[i].score[j]>=90&&stu1[i].score[j]<=100) course[j].a++;

else if(stu1[i].score[j]>=80) course[j].b++;

else if(stu1[i].score[j]>=70) course[j].c++;

else if(stu1[i].score[j]>=60) course[j].d++;

else if(stu1[i].score[j]>0) course[j].e++; }

fprintf(fp5,"%-8s%-8d%-8d%-8d%-8d%-8d\n",course[j].kcname,course[j].a,course[j] .b,course[j].c,course[j].d,course[j].e);

printf("%-8s%-8d%-8d%-8d%-8d%-8d\n",course[j].kcname,course[j].a,course[j].b,co urse[j].c,course[j].d,course[j].e); }

printf("**********按Enter键继续***********\n");

getchar();getchar();fclose(fp5);}

function1_4()

{

FILE *fp6;

int i,j;

int sum1;

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

{ sum1=0;

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

sum1=sum1+stu1[i].score[j];

course[j].courseaver=sum1/40.0;

} for(j=0;j<5;j++)

printf("%-8s%-6.2f\n",course[j].kcname,course[j].courseaver);

if((fp6=fopen("C:\\coursepj.txt","w"))==NULL)

{ printf("cannot open file\n");exit(0);}

fprintf(fp6,"课程名平均分\n");

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

fprintf(fp6,"%-8s%-6.2f\n",course[j].kcname,course[j].courseaver);

printf("加入输出课程平均分程序内容\n");

printf("**********按Enter键继续***********\n");

getchar();getchar();

fclose(fp6);}

function1_5()

{int i,j;

FILE *fp7;

printf("加入统计不及格情况程序内容\n");

if((fp7=fopen("C:\\bujige.txt","w"))==NULL)

{

printf("can not open this file\n");

exit(0);}

fprintf( fp7,"学号姓名课程学分成绩 \n");

printf("学号姓名课程学分成绩\n");

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

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

{if(stu1[i].score[j]<60)

{fprintf(fp7,"%-5d%-14s%-10s%-8d%-5d\n",

stu1[i].num,stu1[i].name,course[j].kcname,

course[j].xf,stu1[i].score[j]);

printf("%-5d%-14s%-10s%-8d%-5d\n",

stu1[i].num,stu1[i].name,course[j].kcname,

course[j].xf,stu1[i].score[j]);

}

}

printf("**********按Enter键继续***********\n");

getchar();getchar();fclose(fp7);}

function1_6()

{ int i,j;

FILE *fp8;

printf("加入输出优秀学生程序内容\n");

if((fp8=fopen("C:\\youxiu.txt","w"))==NULL)

{ printf("can not open this file\n");

exit(0);}

fprintf(fp8,"学号姓名毛邓三近代史听力英语数学平均成绩名次\n");

printf("学号姓名毛邓三近代史听力英语高数平均成绩名次\n");

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

{ if(stu1[i].aver>=90||stu1[i].mingci<=3||(stu1[i].aver>=85&&(stu1[i].score[0] >=99||stu1[i].score[1]>=99||stu1[i].score[2]>=99||stu1[i].score[3]>=99||stu1[i] .score[4]>=99||stu1[i].score[5]>=99)))

{ printf("%-5d %-10s ",stu1[i].num,stu1[i].name);

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

printf("%-8d",stu1[i].score[j]);

printf("%5.2f %5d\n",stu1[i].aver,stu1[i].mingci);

fprintf(fp8,"%-5d%-10s",stu1[i].num,stu1[i].name);

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

fprintf(fp8,"%-8d",stu1[i].score[j]);

fprintf(fp8,"%5.2f%5d\n",stu1[i].aver,stu1[i].mingci);

}

}

printf("***********按Enter键继续**********\n");

getchar();getchar();fclose(fp8);}

function1_7()

{ int e1=0,e2=0,e3=0,e4=0,e5=0,f1=0,f2=0,f3=0,f4=0,f5=0,c1=0,c2=0,c3=0,c4=0,c5=0,b1=0 ,b2=0,b3=0,b4=0,b5=0,d1=0,d2=0,d3=0,d4=0,d5=0;

char

*a1="maodeng",*a2="jindaishi",*a3="tingli",*a4="yingyu",*a5="gaoshu",*k1=">=90" ,*k2=">=80",*k3=">=70",*k4=">=60",*k5="<60";

int gdriver=DETECT,gmode=0;

float r=50.0,x,y,q;

char ch1,str1[80]; int i=0,m;float n;

printf("加入作分布图程序内容\n");

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

{if(stu1[i].score[0]>=90) e1++;

else if(stu1[i].score[0]>=80) e2++;

else if(stu1[i].score[0]>=70) e3++;

else if(stu1[i].score[0]>=60) e4++;

else e5++;

if(stu1[i].score[1]>90) f1++;

else if(stu1[i].score[1]>80) f2++;

else if(stu1[i].score[1]>70) f3++;

else if(stu1[i].score[1]>60) f4++;

else f5++;

if(stu1[i].score[2]>90) c1++;

else if(stu1[i].score[2]>80) c2++;

else if(stu1[i].score[2]>70) c3++;

else if(stu1[i].score[2]>60) c4++;

else c5++;

if(stu1[i].score[3]>90) b1++;

else if(stu1[i].score[3]>80) b2++;

else if(stu1[i].score[3]>70) b3++;

else if(stu1[i].score[3]>60) b4++;

else b5++;

if(stu1[i].score[4]>90) d1++;

else if(stu1[i].score[4]>80) d2++;

else if(stu1[i].score[4]>70) d3++;

else if(stu1[i].score[4]>60) d4++;

else d5++;}

initgraph(&gdriver,&gmode," ");

setbkcolor(0);

setcolor(0);

circle(100,120,r);

circle(400,120,r);

circle(100,240,r);

circle(400,240,r);

circle(100,360,r);

setcolor(2); /*毛邓三 */

for(q=0.0;q<=50;q+=0.01)

arc(100,120,0,e1*9,q);

setcolor(3);

for(q=0.0;q<=50;q+=0.01)

arc(100,120,e1*9,(e1+e2)*9,q);

setcolor(5);

for(q=0.0;q<=50;q+=0.01)

arc(100,120,(e1+e2)*9,(e1+e2+e3)*9,q);

setcolor(6);

for(q=0.0;q<=50;q+=0.01)

arc(100,120,(e1+e2+e3)*9,(e1+e2+e3+e4)*9,q); setcolor(14);

for(q=0.0;q<=40;q+=0.01)

arc(100,120,(e1+e2+e3+e4)*9,360,q);

setcolor(15);

outtextxy(90,173,a1);

setcolor(2); /*近代史饼状图*/

for(q=0.0;q<=50;q+=0.01)

arc(400,120,0,f1*9,q);

setcolor(3);

for(q=0.0;q<=50;q+=0.01)

arc(400,120,f1*9,(f1+f2)*9,q);

setcolor(5);

for(q=0.0;q<=50;q+=0.01)

arc(400,120,(f1+f2)*9,(f1+f2+f3)*9,q);

setcolor(6);

for(q=0.0;q<=50;q+=0.01)

arc(400,120,(f1+f2+f3)*9,(f1+f2+f3+f4)*9,q); setcolor(14);

for(q=0.0;q<=40;q+=0.01)

arc(400,120,(f1+f2+f3+f4)*9,360,q);

setcolor(15);

outtextxy(385,173,a2);

setcolor(2); /*听力饼状图*/

for(q=0.0;q<=50;q+=0.01)

arc(100,240,0,c1*9,q);

setcolor(3);

for(q=0.0;q<=50;q+=0.01)

arc(100,240,c1*9,(c1+c2)*9,q);

setcolor(5);

for(q=0.0;q<=50;q+=0.01)

arc(100,240,(c1+c2)*9,(c1+c2+c3)*9,q);

setcolor(6);

for(q=0.0;q<=50;q+=0.01)

arc(100,240,(c1+c2+c3)*9,(c1+c2+c3+c4)*9,q); setcolor(14);

for(q=0.0;q<=50;q+=0.01)

arc(100,240,(c1+c2+c3+c4)*9,360,q);

setcolor(15);

outtextxy(90,293,a3);

setcolor(2); /*英语饼状图*/

for(q=0.0;q<=50;q+=0.01)

arc(400,240,0,b1*9,q);

setcolor(3);

for(q=0.0;q<=50;q+=0.01)

arc(400,240,b1*9,(b1+b2)*9,q);

setcolor(5);

for(q=0.0;q<=50;q+=0.01)

arc(400,240,(b1+b2)*9,(b1+b2+b3)*9,q);

setcolor(6);

for(q=0.0;q<=50;q+=0.01)

arc(400,240,(b1+b2+b3)*9,(b1+b2+b3+b4)*9,q); setcolor(14);

for(q=0.0;q<=50;q+=0.01)

arc(400,240,(b1+b2+b3+b4)*9,360,q);

setcolor(15);

outtextxy(385,293,a4);

setcolor(2); /*高数饼状图*/

for(q=0.0;q<=50;q+=0.01)

arc(100,360,0,d1*9,q);

setcolor(3);

for(q=0.0;q<=50;q+=0.01)

arc(100,360,d1*9,(d1+d2)*9,q);

setcolor(5);

for(q=0.0;q<=50;q+=0.01)

arc(100,360,(d1+d2)*9,(d1+d2+d3)*9,q);

setcolor(6);

for(q=0.0;q<=50;q+=0.01)

arc(100,360,(d1+d2+d3)*9,(d1+d2+d3+d4)*9,q); setcolor(14);

for(q=0.0;q<=50;q+=0.01)

arc(100,360,(d1+d2+d3+d4)*9,360,q);

setcolor(15);

outtextxy(90,413,a5);

outtextxy(225,69,k1);

outtextxy(225,89,k2);

outtextxy(225,109,k3);

outtextxy(225,129,k4);

outtextxy(225,149,k5);

setcolor(2);

moveto(200,70); /*矩形表示*/

rectangle(200,70,220,77);

setfillstyle(1,2);

floodfill(201,71,2);

setcolor(3);

moveto(200,90);

rectangle(200,90,220,97);

setfillstyle(1,3);

floodfill(201,91,3);

setcolor(5);

moveto(200,110);

rectangle(200,110,220,117);

setfillstyle(1,5);

floodfill(201,111,5);

setcolor(6);

moveto(200,130);

rectangle(200,130,220,137);

setfillstyle(1,6);

floodfill(201,131,6);

setcolor(14);

moveto(200,150);

rectangle(200,150,220,157);

setfillstyle(1,14);(1,14);

floodfill(201,151,14);

getch();

closegraph();

printf("************按Enter键继续*********\n");

getchar();getchar();}

function2_1()

{ double a[N][N]={5,7,6,5,7,10,8,7,6,8,10,9,5,7,9,10}; double b[N]={23,32,33,31},X[N];

int i,j,k,l1,t;

float l,temp1,temp2,sum;

printf("加入解线性方程组的程序内容\n");

printf("计算下列方程组的解:\n");

printf("\n");

for(i=0;i

{

for(j=0;j

{

printf("%4.2f",a[i][j]);

if(j+1

printf("X%d=",j+1);

else

printf("X%d=",j+1);

}

printf("%4.2f\n",b[i]);

printf("\n\n");

}

for(k=0;k

{

t=k;

temp1=a[t][k];

for(i=k+1;i

{

if(fabs(temp1)

temp1=a[i][k];

t=i;}}

if(t!=k)

{ for(j=0;j

{ temp1=a[k][j];

a[k][j]=a[t][j];

a[t][j]=temp1;

}

temp2=b[k];

b[k]=b[t];

b[t]=temp2;

}

for(i=k+1;i

{

l=a[i][k]/a[k][k];

b[i]-=l*b[k];

for(j=k;j

{

a[i][j]-=l*a[k][j];}

}

}

X[N-1]=b[N-1]/a[N-1][N-1]; for(i=N-2;i>=0;i--)

{sum=0;

for(j=i+1;j

sum+=a[i][j]*X[j];

X[i]=(b[i]-sum)/a[i][i];}

printf("result:\n\n");

for(i=0;i

{printf("X[%d]=%8.4f\n\n",i+1,X[i]);

}

printf("************按Enter键继续*********\n"); getchar();getchar();}

function3_1()

{ int i,j,k;

int x[5],y[5],x1[5],y1[5],x0[10],y0[10],r,R=200; int color[10]={10,1,2,5,14,7,6,3,4,15};

int gdriver=DETECT,gmode=10;

initgraph(&gdriver,&gmode," ");

r=(R*sin(18*H))/cos(36*H);

printf("加入作动画程序内容\n");

for(i=0;i<=360;i+=6)

{for(j=0;j<5;j++)

{ x[j]=320+R*cos(PI/2+j*72*H+i);

y[j]=240-R*sin(PI/2+j*72*H+i);

x1[j]=320+r*cos(126*H+j*72*H+i);

y1[j]=240-r*sin(126*H+j*72*H+i);

}

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

{line(320,240,x[j],y[j]);

line(320,240,x1[j],y1[j]);

line(x[j],y[j],x1[j],y1[j]);

}

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

line(x1[j],y1[j],x[j+1],y[j+1]);

line(x1[4],y1[4],x[0],y[0]);

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

{x0[j]=320-r*cos(108*H+j*36*H+i);

y0[j]=240+r*sin(108*H+j*36*H+i);

for(k=1;k<10;k++)

{ setfillstyle(1,color[k]);

floodfill(x0[k],y0[k],RED);}}

cleardevice();

delay(10);

setbkcolor(10);

cleardevice();

setcolor(4);

circle(320,240,200);}

i=0;

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

{ x[j]=320+R*cos(PI/2+j*72*H+i);

y[j]=240-R*sin(PI/2+j*72*H+i);

x1[j]=320+r*cos(126*H+j*72*H+i);

y1[j]=240-r*sin(126*H+j*72*H+i);}

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

{line(320,240,x[j],y[j]);

line(320,240,x1[j],y1[j]);

line(x[j],y[j],x1[j],y1[j]);}

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

line(x1[j],y1[j],x[j+1],y[j+1]);

line(x1[4],y1[4],x[0],y[0]);

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

{x0[j]=320-r*cos(108*H+j*36*H+i);

y0[j]=240+r*sin(108*H+j*36*H+i);

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

{ setfillstyle(1,color[k]);

floodfill(x0[k],y0[k],RED);}}

getch();

closegraph();

printf("************按Enter键继续*********\n"); getchar();getchar();}

第四部分:原始数据

学号姓名毛邓三近代史听力英语高数

1 安志娇 80 90 85 78 90

2 蔡君87 70 66 78 50

3 曹瑞90 86 71 76 84

4 董小虎79 81 76 83 78

5 付璐90 8

6 68 63 50

6 高辉81 83 92 8

7 83

7 韩世彬82 78 73 83 93

8 韩亚文70 76 80 77 71

9 胡克良81 87 48 67 75

10 胡世伟90 85 75 79 70

11 胡文娟67 79 55 70 63

12 户哲85 88 80 83 99

13 季春珑88 85 78 66 98

14 江晓星88 63 63 65 39

15 李海澜84 72 60 72 60

16 李淼79 86 85 86 95

17 李瑞74 87 85 70 88

18 梁斯敏82 81 69 73 4

19 刘杰84 80 70 82 93

20 刘日升71 73 71 67 83

21 刘涛69 86 69 74 15

22 吕明霞90 92 78 82 96

23 马明辉84 83 55 55 60

24 裴家友69 85 72 74 84

25 石恒72 77 73 70 88

26 石义财70 74 66 83 66

27 舒喆60 63 85 60 46

28 宋腾92 83 94 76 93

29 唐虹光81 86 86 79 96

30 万新88 82 82 89 92

31 温育森71 84 46 77 67

32 吴海云74 85 71 80 87

33 吴勇81 82 62 50 60

34 谢勇88 75 66 63 60

35 徐淼81 76 55 67 78

36 严坤72 82 76 71 60

37 严伟82 82 73 83 74

38 晏健84 84 78 81 97

39 阳振华82 83 81 76 85

40 杨涛73 74 71 77 60

第五部分:调试过程与总结

程序看起来很复杂、过程繁多,但是分为几大块,每一块完成一个功能,几块之间相互不影响,这样就很快理清了整个过程。过程分析出来以,这只不过做了一小部分,大部分工作在于调试的过程中,错误频频出现,语法错误是一方面,另一方面是输入时不是多少个

号,就是多少大括号,但要细心,耐心去改,还是不难。经过这次上机实习,我进一步了解到了程序的结构与其设计思想,在设计的过程当中发现自己知识上的漏洞与欠缺,与其他同学还有一定的差距。但我的动手和上机实际操作能力得到锻炼。

C语言上机报告答案

2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a 赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。 问题2 改printf("%c,%c,%d\n",a,b,c);这条语句 改成:printf("%c %c %d\n",a,b,c);

c语言实验报告总结

篇一:《C语言上机实验心得》 C语言上机实验心得 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。 说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。 通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。 我主要存在以下的这些缺点 1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后

输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。 2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解 题了。 3、 4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。 5、 6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在

一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更 多。由此可看出上机实践的重要性。 通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过但随着练习的增多,我对C语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。

C语言上机实验[1]

实验四循环结构程序设计(4学时) 一、实验方式:一人一机 二、实验目的: 1、熟练掌握while语句、do-while语句和for语句。 2、练习并掌握循环结构的嵌套形式。 3、掌握循环结构的程序设计方法。 三、实验内容:说明:前四题为必做题目,后两题为选做题目。 1、从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结 束输入。(实验指导书P41) 2、求所有的水仙花数。水仙花数是一个3位数的自然数,该数各位数的立方和等于该数 本身。(实验指导书P42) 3、判断输入的某个数是否为素数。若是,输出YES,否则输出NO。(实验指导书P167) 4、计算π的近似值。公式如下:π/4=1-1/3+1/5-1/7+……,直到最后一项的绝对值小 于10-6为止。(实验指导书P169) 5、计算1!+2!+……+n! 的值,n值由键盘输入。(实验指导书P176) 6、输入10个整数,统计并输出其中正数、负数和零的个数。 四、实验答案:(代码+运行结果截屏) 实验五综合实验1:结构化程序设计(2学时) 一、实验方式:一人一机 二、实验目的: 1、进一步掌握选择结构、循环结构的编程特点。 2、掌握C语言的结构化程序设计思想。 3、学习利用循环结构实现的一些常用算法(如穷举、迭代、递推等)。 三、实验内容:说明:前两题为必做题目,后两题为选做题目。 1、编一程序,对于给定的一个百分制成绩,输出对应A,B,C,D,E表示的的等级成绩。设: 90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。(实验指导书P162) 2、百马百担问题。(实验指导书P45) 3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 4、输出如下图案: * *** ***** ******* ***** *** * 四、实验答案:(代码+运行结果截屏)

C语言 数组 实验题目及答案

实验六数组程序设计 【实验目的】 1、掌握使用一维数组编程方法 2、掌握使用二维数组进行程序设计 【实验内容】 一、上机验证程序,并分析结果 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。1、#include int main() { int a[ ]={1,2,3,4,5} , i, j, s=0 ; j = 1; for ( i = 4 ; i>=0 ; i--) { s = s+ a[i] * j ; j = j * 10 ; } printf(" s= %d \n" , s ); return 0; } 二、程序改错题 1.下面程序的功能,是从键盘输入一个数组(数组长度为10),查找数组中正数的个数。源代码如下,程序中存在错误,请将其改正。 #include int main()

{ int a(10);/*定义数组*/ int count,i;/* i循环变量 count 正数个数*/ for(i=0;i<=10;i++) {/*循环输入*/ scanf("%d",a[i]); } count=1; for(i=0;i<=10;i++) {/*查找正数*/ if(a(i)>0) count++; } printf("数组中正数有:%d个\n",count); return 0; } 三编写程序 1.编写程序要求输入30个学生的单科成绩,输出高于平均分的成绩。#include #define N 30 int main() { float score[N],sum=0,aver; int i; for(i=0;i<30;i++) { scanf("%f",&score[i]); sum=sum+score[i]; } aver=sum/30; printf("平均分为:%.2f\n",aver); for(i=0;iaver) printf("%.2f ",score[i]); printf("\n");

2016年C语言实验报告

通知 各位老师: 本学期非计算机专业《计算机程序设计基础(C语言)》课实验报告要求: 1.统一用《武汉科技大学实验报告》本写。本学期交三次实验报告。 ①循环结构程序设计。 ②数组。 ③函数。 要求学生在完成以下实验报告,参考《C语言程序设计课程实验与题解》中的要求认真完成。 实验1 循环结构程序设计 一、实验目的 1.熟悉用while语句,do-while语句和for语句实现循环的方法。 2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。 3.熟悉break语句和continue语句用法的不同之处。 二、实验内容 【例】以下程序,输出下三角形状的乘法九九表。 #include void main() { int i,j; for (i=1;i<=9;i++) /* 打印表头*/ printf(" %4d",i); printf("%c",'\n'); for (i=0;i<=50;i++) printf("%c",'_'); printf("%c",'\n'); for (i=1;i<=9;i++) /* 循环体执行一次,打印一行*/ { for (j=1;j<=i;j++) printf(" %4d",i*j); /* 循环体执行一次,打印一个数据*/ printf("%c",'\n'); /* 每行尾换行*/ } printf("%c",'\n'); } 输入并执行该程序,观察输出结果,试着修改程序打印上三角形状的乘法九九表。 三、编程序并上机调试运行。 1.打印出所有“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和正好等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。 解题思路:根据题目要求只要分别求出一个三位数的个位、十位、百位上的数字,然后判断是否满足(某一三位数a=a的百位的立方+a的十位的立方+a的个位的立方)这个公式,满足这个三位数就是“水仙花数”。 2.李先生岁数的平方与他的夫人的岁数之和是1053,而他的夫人的岁数的平方与他

c语言实验报告

C语言实验报告 说明 1,所有程序均用VC6.0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。 2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。 实验2 数据类型、运算符和表达式 一、实验目的: (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。 (2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C语言的输入和输出函数的使用 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 三、程序调试与问题解决: (1)输人并运行下面的程序 #include void main() { char c1,c2; c1='a'; c2='b'; printf("%c %c\n",c1,c2); } ○1运行此程序。 ○2在上面printf语句的下面再增加一个printf语句。

printf("%d %d\n",c1,c2); 再运行,并分析结果。 输出结果如图,编译成功,无错误。 ○3将第3行改为 int c1,c2; 再运行,并分析结果。 ○4再将第4、5行改为 c1=a; c2=b; 再运行,并分析结果。 a,b没有定义,编译报错。 ○5再将第4、5行改为 c1=‘’a‘’; c2=‘’b‘’; 再运行,并分析结果。 ○6再将第4、5行改为 c1=300; c2=400; 再运行,并分析结果。 以字符型输出时,输出的将是300,400对应的字符。 (2)输人并运行教材第3章习题3. 6给出的程序 #include main () { char c1='a',c2='b',c3='c',c4='\101',c5='\116';

C语言上机实验题

第六章循环控制 通过本章实验作业应达目标 1.熟悉while、for、do_while、break、continue语句的作用与使用规范。 2.学习并掌握利用while语句、for语句、do_while语句实现循环结构。 3.掌握循环结构和选择结构之间嵌套、多重循环间嵌套的设计方法。 4.进行算法设计训练,能综合所学控制结构语句解决一般问题。 本章必须上交作业 程序6_1.c、6_2.c、6_5.c、6_6.c、6_8.c上传至211.64.135.121/casp。 本章开始,上机实验项目量加大,希望同学们多多自行上机。本章实验项目有余力都可以做一下并上交。 循环程序设计 计算机解决问题都是按指定的顺序执行一系列的动作。按照特定的顺序执行相应的动作来求解问题的过程称为算法。程序中的语句是算法的体现,而算法要解决的是“做什么”和“怎么做”的问题。 计算机程序中指定语句的执行顺序称为“程序控制”。结构化的程序控制包含三种基本结构:顺序结构,选择结构和循环结构。 1. 循环设计 循环是在循环条件为真时反复执行的一组计算机指令,是计算机解题的一个重要结构。循环控制有两种基本方法:计数法和标志法。 1)计数器控制的循环 事先准确地知道循环次数,因此设计一个循环控制变量,由变量值来控制循环次数。每循环一次,循环变量的值会递增(增值通常为1或-1),当其值达到终值时结束循环。 教材例6.2、6.3、6.7都是典型的计数器控制的固定次数次数循环。 2)标志控制的循环 事先不知道准确的循环次数,由某一目标值标记循环的结束。如,教材例6.6中以|t|的值达到标记下限值1e-6作为循环的结束。 循环设计时要注意合理设计循环条件,使得循环不会成为死循环。 2. 算法 程序设计的首要工作是算法设计,离开了算法也就没有了程序。算法,是指完成某一项工作而采取的方法和步骤,具体到程序设计,是对解题过程的准确而完整的描述,并用一种程序设计语言的来实现。 循环主要用来解决程序设计中两类基本的算法:穷举和迭代。 1)穷举 穷举的基本思想是对问题的所有可能状态一一测试,直到找到解或将全部可能状态都测试过为止。穷举是一种重复型算法,其核心是设计循环,在循环体中依次测试。 例:输入两个正整数x和y,求其最大公约数。 main() {int x,y,i,flag; printf("Please input two numbers:"); scanf("%d%d",&x,&y);

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

C语言上机实验标准答案.doc

实验一上机操作初步 (2 学时 ) 一、实验方式:一人一机 二、实验目的: 1、熟悉 VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个 C 程序。 3、初步了解 C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息: ( 实验指导书 P79) ************************* Very Good ************************* 2、计算两个整数的和与积。( 实验指导书 P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。 ( 书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include <> void main( ) {printf( printf( printf( “ ********************\n “Very Good\n” ); “ ********************\n ” ); ” ); } 2、#include <> void main( ) {int a,b,c,d; printf( “ Please enter a,b: ”);

scanf( “%d,%d” ,&a,&b); c=a+b; d=a*b; printf( “ %d+%d=%d\n” ,a,b,c); printf( “ %d*%d=%d\n” ,a,b,d); } 3、#include <> #include <> void main( ) { double x,s; printf( “ Please input value of x: ”); scanf( “%lf ” ,&x); s=cos(x); printf( “ cos(%lf)=%lf\n ”,x,s); } 4、#include <> void main( ) { printf( “ ==================================\n”); printf( “ 1 输入数据 2 修改数据 \n ”); printf( “ 3 查询数据 4 打印数据 \n ”); printf( “ ===================================\n”); } 5、#include <> void main( ) { int x,y,t; printf( “ Please enter x and y: ”); scanf( “%d%d”,&x,&y); t=x; x=y; y=t; printf( “ After swap:x=%d,y=%d\n ” ,x,y); } 实验二简单的 C程序设计 (4 学时 ) 一、实验方式:一人一机 二、实验目的: 1、掌握 C语言的数据类型。 2、学会使用 C语言的运算符及表达式。 3、掌握不同数据类型的输入输出方法。 三、实验内容: 说明:前四题为必做题目,后两题为选做题目。

C语言程序设计实验上机报告

课程实验报告课程名称:C语言程序设计 专业班级:信息安全1302 学号: 姓名: 指导教师: 报告日期:2014年6月16日 计算机科学与技术学院

目录 1 实验概述 (1) 2 第一次实验 (2) 2.1 实验目的 (2) 2.2 实验内容 (2) 2.3 实验小结 (19) 3 第二次实验 (20) 3.1 实验目的 (20) 3.2 实验内容 (20) 3.3 实验小结 (35) 4 第三次实验 (36) 4.1 实验目的 (36) 4.2 实验内容 (36) 4.3 实验小结 (49) 5 第四次实验 (50) 5.1 实验目的 (50) 5.2 实验内容 (50) 5.3 实验小结 (62) 6 第五次实验 (63) 6.1 实验目的 (63) 6.2 实验内容 (63) 6.3 实验小结 (69) 7 第六次实验 (70) 7.1 实验目的 (70) 7.2 实验内容 (70) 7.3 实验小结 (83) 8 第七次实验 (84) 8.1 实验目的 (836) 8.2 实验内容 (84) 8.3 实验小结 (105) 9 实验总结 (106) 参考文献 (107)

1实验概述 本实验采用C语言常用的上机开发环境Visual C++6.0集成开发环境。其关键是掌握程序的编辑、修改、编译、链接和执行的方法,以及如何调试程序,跟踪程序,通过断点控制程序,观察变量、表达式在程序运行过程中的取值,如何综合运用这些方法定位程序中的的错误和排除错误。 在实验中除了传统的编程设计题外,增加了源程序改错题,源程序完善、修改、替换题,程序的调试跟踪题等,培养学生跟踪程序、设置断点、调试程序的能力,排除程序中语法、逻辑方面错误与故障的能力,并养成细致、周密、严谨的编程作风。 实验中的源程序改错题,先给出一些含有经典、常见错误的源程序,让学生通过编译或运行发现错误,并加以改正,从而纠正初学者易犯的常见错误,实验中的源程序修改替换题,也是先给出源程序,然后要求学生按要求编写修改替换原来程序中的部分代码。实验中的跟踪调试结果填空题,给出源程序,要求学生填写程序运行过程中的某些中间结果。强迫学生用断点设置、单步跟踪等调试程序,观察并填写相应的中间结果。实验中的编程设计题,只给出题目,要求学生完成从源程序的编程、编辑、修改,编译产生目标代码,链接产生可执行文件,运行程序得到正确结果的全部环节。 学习C语言与学习和使用任何一门其他程序设计语言一样。首先要理解程序设计语言的语法和语义,然后通过上机熟悉该语言集成开发环境,掌握编辑、修改、编译、链接、跟踪、调试程序等方面的技巧。最后,还要熟悉语言编译系统提供的库函数或类库,以便快速实现程序的设计与开发。上机实验就是学习与掌握上面三个环节的重要途径。 上机实验之前一定要预先编好有关程序,把上机的重点放到程序的编辑、修改、编译、链接、跟踪、调试程序等方面,放到观察程序运行过程中的中间结果和运行完毕后的运行结果方面来。最终使自己的大脑变成一台“计算机”,能够在脑袋中运行自己的程序,判断各种情况下程序的走向等等,从而提高上机的效率和程序设计的准确性。 总之,上机实验是进一步深刻了解C语言的语法、语义,掌握用C语言进行初步程序设计所需要的方法和技能的一个重要环节。

C语言程序设计实验报告优秀范文

C语言程序设计实验报告优秀范文 实验名称计算出1000以内10个最大素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。 2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。 3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。 实验内容 计算并输出1000以内最大的10个素数以及它们的和。 要求: 在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数*/ { int t,i; t=sqrt(n); for(i=2;i if(n%i==0)/* 如果不是素数,返回0 */ return 0; return n;/* 如果是素数,返回该数*/ } void main { int i,j=0,n,m=0,a[1000],x; /*clrscr;*/ printf("please input a number form 1 to 1000:"); scanf("%d",&x); if(x==2)/* x=2时的处理*/ printf("%dn",x); else if(x printf("error!n");

C语言程序设计_上机实验指导与习题_第三版_(陈湘骥_编著_著)_华南农业大学_参考答案

C语言程序设计上机实验指导与习题 参考答案 (仅供教师内部参考) 华南农业大学

目录 上机实验 (1) 实验 1 C语言程序初步 (1) 一、实验目的 (1) 二、实验内容 (1) 实验2基本数据类型、运算和表达式 (3) 一、实验目的 (3) 二、实验内容 (3) 实验3基本输入与输出 (5) 一、实验目的 (5) 二、实验内容 (5) 实验4选择结构程序设计 (4) 一、实验目的 (4) 二、实验内容 (4) 实验5循环结构程序设计(一) (9) 一、实验目的 (9) 二、实验内容 (9) 实验6循环结构程序设计(二) (15) 一、实验目的 (15) 二、实验内容 (15) 实验7数组 (17) 一、实验目的 (17) 二、实验内容 (17) 实验8字符数组的应用 (22) 一、实验目的 (22) 二、实验内容 (22) 实验9函数的基本应用 (24) 一、实验目的 (24) 二、实验内容 (24) 实验10指针与结构体 (26) 一、实验目的 (26) 二、实验内容 (26) *实验11链表 (29) 一、实验目的 (29) 二、实验内容 (29) *实验12文件 (32) 一、实验目的 (32) 二、实验内容 (32)

上机实验 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用JudgeOnline实验系统。 二、实验内容 1. 运行第一个 C 程序 [题目:The first C Program] 将下列程序输入 TC(或 VC++),编译、连接和运行该程序。 void main() { printf("The first C Program\n"); } [具体操作步骤] 以 Turbo C 上的操作为例 (1)Windows 进入后,按照第一章中介绍的方法,进入 Turbo C。 (2)在编辑窗口中输入程序。 (3)保存程序,取名为 a1.c。 (4)按照第一章中介绍的方法,编译、连接和运行程序。 2.在JudgeOnline系统中提交实现了计算a+b功能的程序 [题目 1001:计算 a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, void main() { int a, b; scanf("%d%d", &a, &b); 1

C语言实验报告

郑州轻工业学院 实践报告 实现内容: OJ1123最佳校友(数组)、OJ1158又是升序(指针)、OJ1180成绩统计(结构)、OJ1203做幻方(文件) 学号:541507020140 学生姓名:王红旭 专业班级:电子信息科学与技术15-01 所在院系:计算机与通信工程学院 指导教师:王秉政 成绩: 实践名称:上机实验课 来源课程:[0404230]C程序设计进阶 实践时间:2016.03-05 实践地点:科学校区实验楼301 报告撰写时间:2016.05.10 1123最佳校友(数组)

1实践目的 为了方便数组的管理和使用,提高程序设计的效率。 2 实践要求 熟练使用数组解决问题。 3 使用的技术、知识点、工具等 C语言程序设计书本教材,数组等。 4 需求分析和功能描述 要求;北京校友会每年举办两次,所有校友都有校友编号,每次到会的校友都在签到簿上写下自己的编号和姓名,在校友会成立5周年的聚会上将颁发“最佳校友奖”,该奖项颁发给到会次数最多的校友。现在请你编写程序,找出这个奖项的得主。若有多个校友并列第一,则均可获奖。 5 系统总体设计 #include int main() { int a[100]={0}; int i,n,max,k; while(scanf("%d",&n),n>=0) a[n]++; max=a[0]; for(i=1;i<100;i++) { if(a[i]>max) max=a[i]; } k=0; for(i=0;i<100;i++) { if(a[i]==max) { if(k==0) printf("%d",i); else printf(" %d",i); k++; } }

C语言上机综合实验一及答案

1、编制程序,输入n 个整数(n 从键盘输入,n>0),输出它们的偶数和。 2、 编程,输入n 后:输入n 个数,根据下式计算并输出y 值。 3、输入一行字符,统计并输出其中英文字母、数字字符和其他字符的个数。 4、编写程序,输入一个正整数n ,计算并输出下列算式的值。要求定义和调用函数total(n)计算1+1/2+1/3+……+1/n ,函数返回值的类型是double 。 5、输入一个正整数n ,求1+1/2!+1/3!+……1/n!的值,要求定义并调用函数fact(n)计算n 的阶乘,函数返回值的类型是单精度浮点型。 答案: 程序1、 #include void main () { int n,i,x,sum=0; while(scanf("%d",&n),n<=0); printf ("请输入%d 个数:", n); for (i=1; i<=n ;i++) { scanf("%d",&x); if(x%2==0) sum+=x; } printf ("sum=%d", sum) ; } 程序2、 #include #include void main( ) { int i,n; float x,y; scanf(“%d”,&n); for(i=1;i<=n;i++){ scanf(“%f”,&x); if(x<-2) y=x*x-sin(x); else if(x<=2) y=pow(2,x)+x; else y=sqrt(x*x+x+1); printf(“%f \n”,y); } } 程序3、 # include void main( ) { int letter,digit,other; ?????>++≤≤-+-<-=2 12222sin 22x x x x x x x x y x 111111...23n k s k n ===++++∑

C语言实验报告

实验一进制转换一、实验要求 采用模块化程序设计完成进制转换。由键盘输入一个十进制正整数,然后将该数转换成指定的进制数(二、八、十六) 形式输出。指定的进制由用户输入。 二、实验目的 1、熟悉C 环境的安装、使用。 2、承上启下,复习《C 程序设计》等基础课程的知识。 3、掌握C 语言编程的方法。 三、预备知识 1、VC6.0的安装与使用。 2、C 程序设计基础知识。 四、实验内容 采用模块化程序设计完成进制转换。

五、程序框图 六、程序清单 1. 编写主函数:输入需转换的数与转换的进制 2. 编写子函数 (1)函数转换为除16进制以外的进制转换算数编程,使用while 循环实现计算进制 的转换,并输出转换后的数字; (2)函数转换为16进制,用while 函数实现16进制转换的计算并输出16进制转换后的数据; 3. 编写数组,关于16进制的一系列字符 4. 编写主函数加入do while 使函数可以循环。

七、实验步骤 #include char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; void fun(int n, int m) { int i=-1, a[100]; if(m!=16) { while(n) { a[i++]=n%m; n=n/m; } while(i!=-1) printf("%d",a[--i]); printf("\n");

} else { while(n) { a[++i]=num[n%16]; n/=16; } while(i!=-1) printf("%c",a[i--]); printf("\n"); } } int main() { int a, c;

C语言上机实验例题

实验一 C语言的运行环境、运行过程和表达式的使用 一、目的与要求 1、了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。 2、了解在该系统上如何编辑、编译、连接和运行一个C程序。 3、通过运行简单的C程序,初步了解C源程序的特点。 4、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。 5、学会使用C的有关算术运算符,以及包含这些运算符的表达式 二、实验例题 【例1】编程实现在屏幕上显示如下三行文字 Hello, world ! Wolcome to the C language world! Everyone has been waiting for. 在Turbo C的集成环境下,键入如下源文件。敲Alt+F组合键打开File菜单,File菜单中Write to或save as选项可将默认文件名改为任意文件名。程序如下: main() { printf("Hello,World!\n"); printf("Wolcome to the C language world!\n"); printf("Everyone has been waiting for.\n"); } 然后用Ctrl+F9执行,用Alt+F5查看结果,即在屏幕上显示题目要求的三行文字。按回车键重新返回Turbo C的编辑环境。注意,在运行程序之前最好先存盘。 【例2】输入并运行程序,写出运行结果。 main() {

int a,b,sum; a=123;b=456; sum=a+b; printf(“sum is %d\n”,sum); } 运行方法同上,最后结果为:sum is 579。 【例3】 输入并运行程序,写出运行结果。 main() { int a,b,c; int max(int,int); scanf(“%d,%d”,&a,&b); c=max(a,b); printf(“max=%d”,c); } int max(int x,int y) { int z; if (x>y) z=x; else z=y; return(z); } 这个程序的功能是对于任意输入的两个整数,输出较大的那个数。所以程序运行之后,光标将停留在用户屏幕上,等待用户输入两个整数,比如输入“3,5”,回车,在用户屏幕上就会输出“max=5”。 【例4】输入并运行下程序,写出运行结果。 mian() { char c1 , c2;

c语言实验报告心得总结

c语言实验报告心得总结 c语言实验报告心得总结一在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试编写一个比较复杂的程序系统。在为期一周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。在这里,我作为其中的参与者,感触良多。 在这次实训中,我对对C语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功,让我对下面的项目就充满信心。通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能。这次的实训,使我对C语言的学习产生浓厚的兴趣。 还是这次实训,最令人激动的就是合作做项目,虽然那只是一个很小很小的项目。每天大家来得很早,大家在一起学习,取长补短,我们很好的在实训中长知识,提高我们的学习热情。实训中深切体会到了老师认真负责的伟大的精神和热情为同学指导的促学方式,虽然对有些时候老师没给我们指出解决问题的方法有些小抱怨,但是到了结束时才知道,这种教学让我们自己学会了自学,学会了去看懂别人的代码。更多是老师给的感动,每天在我们来之前就到了教室,在讲

课中海给我们分享他在公司上班的一些心得和体会,还有那些我们应该注意的事项,这些是平时上课时无法学到的,是更深层次的巨大收获。 通过这次实训,也使我们发现了许多问题。 在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的变态,以后要克服,尽量保持一颗良好的心态,学好C语言,也学好用C语言编写一个按要求的系统。 还有就是对于未来,近程就是下学期,我觉得我还有许多方面需要提高。 首先我要继续学习好C语言的基础知识,然后能在电脑上熟练的运用。然后每天都能写一些程序,上网时候多看一些优秀的教程和优秀的代码。遇到问题时多和同学讨论,并且多弄出几套方案,多锻炼自己结局问题的能力和与同学合作的能力。 总之,这一切都成为我记忆里面的一个篇章,更是在C 语言编程上的一个里程碑。 c语言实验报告心得总结二在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,

大一C语言上机实验试题和答案

实验一上机操作初步(2学时) 一、实验方式:一人一机 二、实验目的: 1、熟悉VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个C程序。 3、初步了解C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息:(实验指导书P79) ************************* Very Good ************************* 2、计算两个整数的和与积。(实验指导书P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include void main( ) { printf(“********************\n”); printf(“ Very Good\n”); printf(“********************\n”); } 2、#include void main( ) { int a,b,c,d; printf(“Please enter a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; d=a*b; printf(“%d+%d=%d\n”,a,b,c); printf(“%d*%d=%d\n”,a,b,d);

大一C语言上机实验报告

C语言程序设计实验报告姓名: 班级: 学号: 实验内容: 编写一个程序,从键盘输入任意一个五位数,把这个数值分解为单个数字,然后打印出每一个数字(每个数字之间用三个空格分开)。例如用户输入了42339,屏幕输出结果为: 4 2 3 3 9 【提示】巧妙使用/ 和% 两种运算符。 源代码: #include void main() { long int num,a,b,c,d,e; scanf("%ld",&num); a=num/10000; b=num%10000/1000; c=num%1000/100; d=num%100/10; e=num%10; printf("%ld %ld %ld %ld %ld\n",a,b,c,d,e); }

运行结果: 实验内容: 已知三角形三边a,b,c,计算三角形的面积。 注:三角形面积公式为area=[s(s-a)(s-b)(s-c)]的1/2次幂 S=1/2*(a+b+c) 源代码: #include #include void main() { double area,s,a,b,c;

scanf("%lf%lf%lf",&a,&b,&c); s=(a+b+c)/2; if(a>0 && b>0 && c>0) { area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%lf\n",area); } else printf("输入错误,三角形边长不能为负数或0\n"); } 运行结果:

实验内容: 输入圆的半径,计算出圆的周长和面积源代码: #include #include void main() { double r,z,area,pi=3.14159; scanf("%lf",&r); if(r>0)

相关文档
相关文档 最新文档