高级语言程序设计实习报告Word文档下载推荐.doc
《高级语言程序设计实习报告Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《高级语言程序设计实习报告Word文档下载推荐.doc(14页珍藏版)》请在冰豆网上搜索。
![高级语言程序设计实习报告Word文档下载推荐.doc](https://file1.bdocx.com/fileroot1/2022-10/9/2d97c4e6-7a4f-4006-bd64-cd5c9faf43e8/2d97c4e6-7a4f-4006-bd64-cd5c9faf43e81.gif)
)
to++;
for(;
*from!
;
from++,to++)
*to=*from;
*to='
}
main()
char*a,*b,str1[50],str2[100];
a=str1;
b=str2;
scanf("
%s%s"
a,b);
printf("
string1=%s\nstring2=%s\n"
cat_string(a,b);
\nsrting=%s\n"
b);
4.运行结果分析
输入:
friend
boy
输出结果:
string1=friend
string2=boy
string=boyfriend
二、题目:
编写程序完成统计学生成绩。
功能包括输入学生的姓名和成绩,按成绩从高到低排列打印输出,对成绩前70%的学生定为合格(PASS),而后30%的学生定为不合格(FAIL)。
1.需求说明
本实习题要求输入学生的姓名和成绩,将成绩从高到低排列,并将其打印输出,对成绩前70%的学生定义为合格,而后30%的学生定义为不合格。
也就是说,若有学生10名,则排名前7位的学生为合格,后3位为不合格。
(1)先定义结构体student,其中包括学号num、姓名name、成绩score;
(2)输入所有学生信息;
(3)对学生成绩进行排序,用气泡排序法,从高到低排列。
成绩排序时,其它信息的顺序也做相应的调整。
(4)对成绩前70%的学生定为合格PASS;
而后30%的学生定为不合格FALL;
(5)将成绩从高到低打印出来;
(6)结束。
#defineSIZE10
structstudent
{intnum;
charname[10];
intscore;
}stu[SIZE],st;
{inti,j;
charp[]="
PASS"
f[]="
FALL"
for(i=0;
i<
SIZE;
i++)
scanf("
%d%s%d"
&
stu[i].num,stu[i].name,&
stu[i].score);
for(j=0;
j<
=SIZE-2;
j++)
for(i=0;
=SIZE-1-j;
if(stu[i].score<
stu[i+1].score)
{st=stu[i];
stu[i]=stu[i+1];
stu[i+1]=st;
printf("
numnamescoreresult\n"
);
if(i<
SIZE*0.7)
printf("
%2d%10s%5d%8s\n"
stu[i].num,stu[i].name,stu[i].score,p);
else
stu[i].num,stu[i].name,stu[i].score,f);
1Li86
2Fun79
3Zhang81
4Wang90
5Min97
6Lin89
7Tan69
8Ling70
9Xi57
10Xu82
numnamescoreresult
5Min97PASS
4Wang90PASS
6Lin89PASS
1Li86PASS
10Xu82PASS
3Zhang81PASS
2Fun79PASS
8Ling70FALL
7Tan69FALL
9Xi57FALL
三、题目:
从键盘上输入3个学生的信息,将它们存入文件student;
然后再从文件中读出数据,显示在屏幕上。
本实习题要求输入3个学生的信息,可以包括学号,姓名,年龄,性别,成绩,家庭住址等信息,将它们存入文件student;
然后再从文件中读出数据,并将其显示在屏幕上。
2.算法设计
(1)先定义结构体student,其中包括学号num,姓名name,性别sex,年龄age,成绩score,家庭住址addr;
(2)编写保存函数save
a.先将文件打开;
b.若(fp=fopen(“student”,”wb”))==NULL,则说明文件无法打开;
反之文件能打开;
c.在打开的文件中一一将信息写进去;
d.最后,将文件student关闭。
(3)编写显示函数display
a.先将文件打开;
b.若(fp=fopen(“student”,”wb”))==NULL,则说明文件无法打开;
c.从打开的文件中一一将信息读出,并将其显示在屏幕上;
d.最后,将文件关闭。
(7)编写主函数
a.输入3个学生的所有信息;
b.调用save()函数;
c.调用display()函数;
(5)结束。
3.程序清单:
#defineSIZE3
charname[15];
charsex[2];
intage;
charaddr[30];
}stu[SIZE];
voidsave()
{FILE*fp;
inti;
if((fp=fopen("
student"
"
wb"
))==NULL)
{printf("
cannotopenfile\n"
return;
}
if(fwrite(&
stu[i],sizeof(structstudent),1,fp)!
=1)
printf("
filewriteerror\n"
fclose(fp);
voiddisplay()
rb"
{printf("
return;
}
numnamesexagescoreaddr\n"
{fread(&
stu[i],sizeof(structstudent),1,fp);
printf("
%3d%-15s%-2s%3d%5d%-30s\n"
stu[i].num,stu[i].name,stu[i].sex,
stu[i].age,stu[i].score,stu[i].addr);
fclose(fp);
{inti;
Pleaseinputstudents'
message:
\n"
num,name,sex,age,score,addr\n"
%d%s%s%d%d%s"
stu[i].num,stu[i].name,stu[i].sex,&
stu[i].age,
&
stu[i].score,stu[i].addr);
save();
display();
4.运行结果分析
Pleaseinputstudents’message:
num,name,sex,age,score,addr
1ZhangFangF1996room_101
2WangMingM2086room_102
3XiaoDanF1981room_103
numnamesexagescoreaddr
1ZhangFangF1996room_101
2WangMingM2086room_102
3XiaoDanF1981room_103
四、题目:
编程解决百钱百鸡问题:
中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡问题”:
鸡翁一,值钱五;
鸡母一,值钱三;
鸡雏三,值钱一;
百钱买百鸡,翁、母、雏各几何?
本实习题要求解决百钱百鸡问题。
一只公鸡值5元,一只母鸡值3元,三只小鸡值1元。
如果用100元买100只鸡,公鸡,母鸡,小鸡各多少只?
设公鸡、母鸡、小鸡各有x,y,z,题意规定用100元买100只鸡。
假定100元全部买公鸡的话,则最多可以买20只;
若100元全部买母鸡,则最多可买母鸡33只,即x的值在0~20之间,y的取值在0~33之间。
根据题意可得到下面的等式:
5x+3y+z/3=100
x+y+z=100
所以此问题可归结为求这个不定方程的整数解。
(1)先定义3个变量x,y,z;
(2)用外层循环控制公鸡的数量,x的范围在0~20之间;
(3)用内层循环控制母鸡的数量,y的范围在0~33之间;
(8)在内外层循环的控制下,小鸡数z的值受x,y的值的制约,z=100-x-y;
(9)验证取z值的合理性及得到一组解的合理性,即同时满足z%3==0和5*x+3*y+z/3==100;
(10)打印出所有合理的结果;
(11)结束。
{intx,y,z;
for(x=0;
x<
=20;
x++)
for(y=0;
y<
=33;
y++)
{z=100-x-y;
if(z%3==0&
&
5*x+3*y+z/3==100)
cock=%2dhen=%2dchicken=%2d\n"
x,y,z);
}
cock=0hen=25chicken=75
cock=4hen=18chicken=