高级程序语言程序设计实验报告Word格式.docx
- 文档编号:15378864
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:38
- 大小:207.95KB
高级程序语言程序设计实验报告Word格式.docx
《高级程序语言程序设计实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《高级程序语言程序设计实验报告Word格式.docx(38页珍藏版)》请在冰豆网上搜索。
printf("
inputthex:
"
);
scanf("
%d"
&
num);
result=f(num);
theresultis%d\n"
result);
}
intf(intn)
{ints;
if(n>
0)s=3*n*n-4;
if(n==0)s=2;
if(n<
0)s=0;
returns;
评析:
这是一个简单的选择判断结构,只需将条件编写清楚即可。
题目2:
写一个函数voidmaxMinAver(int*data,int*max,int*min,float*ave,intsize),求一组数据的最大值、最小值和平均值,测试之。
其中data指向给定数据的数组的指针,max、min、ave分别指向最大值、最小值和平均值,size是数组的大小。
要求第一个实参是数组,第2、3、4个实参都是对普通的简单变量的某种操作,最后一个实参是数组的大小。
测试之
malloc.h>
voidmaxMinAver(int*data,int*max,int*min,float*ave,intsize);
{
intn,i;
intmax,min;
floatave;
int*data;
pleaseenterthenumbers:
\n"
n);
data=(int*)malloc(n*sizeof(int));
for(i=0;
i<
n;
i++)
data[i]);
maxMinAver(data,&
max,&
min,&
ave,n);
max:
%d\nmin:
%d\nave:
%.1f\n"
max,min,ave);
return0;
voidmaxMinAver(int*data,int*max,int*min,float*ave,intsize)
inti,sum=0;
*max=data[0];
*min=data[0];
size;
{
if(*max<
=data[i])
*max=data[i];
if(*min>
*min=data[i];
sum+=data[i];
}
*ave=(float)sum/size;
这是一个以指针为参数的函数,用冒泡法对数组中的每一个数进行比较,这道题目的需要注意的地方就是在函数的调用需注意函数实参,以及对数组内存空间的申请。
题目3:
写一个函数用指针型字符串实现两个字符串比较,intmystrcmp(constchar*str1,constchar*str2),如果大于返回1,等于返回0,小于返回-1,测试之
intmystrcmp(constchar*str1,constchar*str2);
charstr1[100],str2[100];
%s%s"
str1,str2);
%d\n"
mystrcmp(str1,str2));
intmystrcmp(constchar*str1,constchar*str2)
inti;
*(str1+i)!
='
\0'
&
&
*(str2+i)!
='
;
if(*(str1+i)>
*(str2+i))
return1;
if(*(str1+i)<
return-1;
if(*(str1+i)==*(str2+i))
这道题的比较方法是将字母一一进行对比,利用指针将字母一个个进行比较,需要注意的地方就是取*运算。
题目4:
定义一个学生结构体,取别名STU,包含学号、姓名、数学、语文、计算机、英语等课程成绩,还有总分和平均分,写一个函数实现求一组学生每个学生各门课程的平均值,函数原型为floatave(STUstu[],intsize)。
测试之。
string.h>
#defineSIZE2
typedefstructstudent
intnum;
charname[10];
floatmath;
floatenglish;
floatcomputer;
floatchinese;
floattotal;
floataverage;
}STU;
STUstu[SIZE];
floatave(STUstu[],intsize);
pleaseinputthestudet'
sinformation:
SIZE;
{scanf("
%d%s%f%f%f%f"
stu[i].num,stu[i].name,
stu[i].math,&
stu[i].english,&
stu[i].computer,&
stu[i].chinese);
ave(stu,SIZE);
num:
%d\nname:
%s\naverage:
%.2f\n\n"
stu[i].num,stu[i].name,stu[i].average);
floatave(STUstu[],intsize)
stu[i].total=stu[i].math+stu[i].english+stu[i].computer+stu[i].chinese;
stu[i].average=stu[i].total/4;
这是一个用结构体数组进行信息保存管理的函数,需要注意到的地方是在输入信息与打印信息时要将注意结构体数组的名称
题目5:
写一个函数能够从文件读入一组学生STU的信息,保存到一个结构体数组中。
stdlib.h>
#defineSIZE10
structstudent_type
{charname[10];
intage;
charaddr[15];
}stud[SIZE];
voidload();
intmain()
{load();
voidload()
{inti;
FILE*fp;
if((fp=fopen("
stu.txt"
"
r"
))==NULL)
{printf("
cannotopenfile\n"
exit(0);
{fscanf(fp,"
%s%d%d%s"
stud[i].name,
stud[i].num,&
stud[i].age,&
stud[i].addr);
%-10s%4d%4d%-15s\n"
stud[i].name,
stud[i].num,stud[i].age,stud[i].addr);
fclose(fp);
这是一个典型的从文件中输入信息保存在数组中在屏幕上打印出。
需要注意的打开文件所需要的头文件以及数据输入输出的格式。
题目6:
写一个函数能够输出某一学生结构体数组STUstu[10]的信息和每个人的总分、平均分到某一文本文件中,测试之。
输出格式是:
“%s%s%d%d%d%d%d%5.2f”
charname[10];
intgrade;
intheight;
intscore;
}stu[SIZE];
voidoutput();
output();
voidoutput()
fp=fopen("
printf.txt"
w"
{scanf("
%s%s%d%d%d%d%d%f"
stu[i].name,stu[i].addr,&
stu[i].grade,&
stu[i].num,
stu[i].height,&
stu[i].age,&
stu[i].score,&
stu[i].ave);
fprintf(fp,"
%s%s%d%d%d%d%d%5.2f\n"
stu[i].name,stu[i].addr,stu[i].grade,stu[i].num,
stu[i].height,stu[i].age,stu[i].score,stu[i].ave);
注意文件的输入及输出格式即可。
题目7:
写一个函数能够打印输出学生结构体数组STUstu[10]的信息到屏幕上,测试之
structstudent
floatscore;
voidprint(structstudentstu[],intsize);
{intn;
for(n=0;
n<
n++)
%d%s%f"
stu[n].num,stu[n].name,&
stu[n].score);
print(stu,SIZE);
voidprint(structstudentstu[],intsize)
%s\n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 程序语言 程序设计 实验 报告