1 / 14
文档名称:

计算机上机实习报告.doc

格式:doc   大小:134KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机上机实习报告.doc

上传人:xxq93485240 2019/1/9 文件大小:134 KB

下载得到文件列表

计算机上机实习报告.doc

文档介绍

文档介绍:第1题
题目要求
函数fun的功能是:用递归算法计算斐波拉契级数数列中第n项的值。从第l项起,斐波拉契级数序列为1、1、2、3、5、8、13、21、…;例如:当给n输入7,该项的斐波拉契级数值为13。
#include <>
long fun(int g)
/*************found************/
{ switch(g);
{ case 0:return 0;
/***********found*************/
case 1;case 2: return 1;
}
return (fun(g-1)+fun(g-2));
}
main()
{ long fib; int n;
printf("input n: "); scanf("%d",&n);
printf("n=%d\n",n);
fib=fun(n); printf("fib=%d\n\n",fib);
}
错误分析
语句swich(g);错误,swich(表达式)后不应该带有“;”,应该为:swich(g)
‚语句case 1;case 2: return 1;错误,case语句常量后应该是“:”,应该为:case:case:return 1;
第2题
一、题目要求
下列给定程序中,函数fun的功能是:将字符串p中的所有字符复制到字符串b中,要求每复制三个字符之后插入一个空格。例如,在调用fun函数之前给字符串a输入ABCDEFGHIJK,调用函数之后,字符串b中的内容则为ABC DEF GHI JK。
#include <>
void fun(char *p,char *b)
{ int i,k=0;
while(*p)
/**********found********/
{ i=1;
/***********found*********/
while(i<3 || *p)
{ b[k]=*p;
k++;p++;i++;
}
if(*p)
/************found**********/
{ b[k]=' ';
}
}
b[k]='\0';
}
main()
{ char a[80],b[80];
printf("enter a string ");
gets(a);
printf("the original string: ");
puts(a);
fun(a,b);
printf("\nthe string after insert space: ");
puts(b);
printf("\n\n");
}
二、错误分析
①题目中p是指针型变量作函数参数,因此给b[k]赋值时出现错误。应改为b[k]=*p;
②题目要求赋值3个字符后加一个空格,所以应该是先给b[k]赋值空格,然后变量k再加1。应改为b[k]=" ";k++
第3题
一、题目要求
下列给定程序中,函数fun的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。
#include <>
#include <>
#define MAXLINE 20
fun ( char *pstr[6])
{ int i, j ;
char *p ;
for (i = 0 ; i < 5 ; i++ ) {
for (j = i + 1; j < 6; j++) {
/**************found**************/
if(strcmp(*(pstr + i), (pstr + j)) > 0)
{ p = *(pstr + i) ;
/**************found**************/
*(pstr + i) = pstr + j ;
*(pstr + j) = p ;
}
}
}
}
main( )
{ int i ;
char *pstr[6], str[6][MAXLINE] ;
clrscr( ) ;
for(i = 0; i < 6 ; i++) pstr[i] = str[i] ;
printf( "\nEnter 6 string(1 string at each line): \n" ) ;
for(i = 0 ; i < 6 ; i++) scanf("%s", pstr[i]) ;
fun(pstr) ;
printf("The strings after sorting:\n") ;
for