毕业论文毕业设计开题报告论文报告设计报告可行性研究报告
姓名徐松松班级计
说明:
本次上机内容分两次上机完成。
将本文档改名为“学号_姓名_班级_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)
②答案:
函数文本(修改部分红色字体标注)
#include
#include
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;i
{
for(j=0;j
scanf("%d",p+i*n+j);
}
max=*p;
row=0,col=0;
for(i=0;i
{
for(j=0;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函数,源程序文本:
#include
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("list1>list2\n");
else if(n==0)
printf("list1=list2\n");
else if(n==-1)
printf("list1
}
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'));
②答案:
源程序文本(修改部分红色字体标注)
#include
#define EMPTY 0
char* findfirst(char*,char);
void main()
{
char string[]="Oh! day after day.";
char *ptr;
printf("%s\