- 5
- 0
- 约6.02千字
- 约 21页
- 2017-11-23 发布于山东
- 举报
姓名 徐松松 班级 计
说明:
本次上机内容分两次上机完成。
将本文档改名为“学号_姓名_班级_Lab8.doc”,按照本说明完成以下实验内容;
在16周周日前通过课程中心提交本文档。
实验内容和实验要求(实验指导P148)
1.练习题一
运行结果截图:
2.练习题二
纠错:int FindMax( int score[][STU], int n, int m, int *pRow, int *pCol ) STU改为ARR_SIZE
运行结果截图:
思考题及问题:
答案:
可以。
只要修改参数为int FindMax(int (*score)[ARR_SIZE],int n,int m,int *pRow,int *pCol)
②答案:
函数文本(修改部分红色字体标注)
#includestdio.h
#includestdlib.h
void main()
{
int i,j,m,n,max,row,col;
printf(Please enter row numbers:\n);
scanf(%d,m);
printf(Please enter col numbers:\n);
scanf(%d,n);
int *p=(int*)malloc(m*n*sizeof(int));
printf(Please enter numbers:\n);
for(i=0;im;i++)
{
for(j=0;jn;j++)
scanf(%d,p+i*n+j);
}
max=*p;
row=0,col=0;
for(i=0;im;i++)
{
for(j=0;jn;j++)
if(*(p+i*n+j)max)
{
max=*(p+i*n+j);
row=i+1;
col=j+1;
}
}
printf(max=%d,row=%d,col=%d\n,max,row,col);
}
运行结果截图:
3.练习题三
运行结果截图:
思考题及问题:
①答案:
程序运行过程中会出现错误!
②答案:
试编写strcmp函数,源程序文本:
#includestdio.h
int strcompare(char *,char *);
void main()
{
char *list1=See no evil,hear no evil,;
char *list2=blind and deaf?;
puts(list1);
printf(\n);
puts(list2);
printf(\n);
int n=strcompare(list1,list2);
if(n==1)
printf(list1list2\n);
else if(n==0)
printf(list1=list2\n);
else if(n==-1)
printf(list1list2\n);
}
int strcompare(char *s1,char *s2)
{
int i=0;
while((*s1!=\0)(*s2!=\0))
{
if(*(s1+i)!=*(s2+i))
break;
i++;
}
if(*(s1+i)!=\0*(s2+i)!=\0)
if(*(s1+i)*(s2+i))
return 1;
else return -1;
else if(*(s1+i)==\0*(s2+i)==\0)
return 0;
else if(*(s1+i)==\0)
return -1;
else
return 1;
} 运行结果截图:
4.练习题四
运行结果截图:
思考题及问题:
答案:
可以。因为*s++等价于*s;s++;
所以while((*s!=d)(*s!=\0))
s++;可以换成while((*s!=d)(*s++!=\0));
②答案:
源程序文本(修改部分红色字体标注)
#includestdio.h
#define EMPTY 0
char* findfirst(char*,char);
void main()
{
char string[]=Oh! day after day.;
char *ptr;
printf(%s\n,string);
ptr=EMPTY;
ptr=findfirst(string,d);
while(ptr!=EMPTY)
{
*ptr
原创力文档

文档评论(0)