安徽大学计算机改错实验答案.doc
安徽大学计算机网络教学平台作业实验内容:1. 在给定程序modi19.c中,函数fun的功能是:求三个数的最小公倍数。例如,给变量x1、x2、x3分别输入15 11 2,则输出结果应当是:330。注意:程序中每个*found*行下只有一行有错误,请改正该错,并编译链接运行程序,使它能得出正确的结果。不要改动main函数,不要改动和删除*found*所在行,不得增行或删行,也不得更改程序的结构!#include <stdio.h>fun(int x,int y,int z) int j,t,n,m;/*found*/ j=1; t=j%x; m=j%y; n=j%z; while(t!=0|m!=0|n!=0) j=j+1; t=j%x;/*found*/ m=j%y; n=j%z; return j;main() int x1,x2,x3,j; printf("Input x1 x2 x3: "); scanf("%d%d%d",&x1,&x2,&x3); printf("x1=%d,x2=%d,x3=%dn",x1,x2,x3); j=fun(x1,x2,x3); printf("The minimal common multiple is :%dn",j);2. 在给定程序modi25.c中,函数fun的功能是:用下面的公式求的近似值,直到最后一项的绝对值小于指定的数(参数num)为止: 1 1 11- + - + 4 3 5 7例如,程序运行后,输入0.0001,则程序输出3.1414。注意:程序中每个*found*行下只有一行有错误,请改正该错,并编译链接运行程序,使它能得出正确的结果。不要改动main函数,不要改动和删除*found*所在行,不得增行或删行,也不得更改程序的结构!#include <math.h>#include <stdio.h>#include <stdlib.h>float fun(float num) int s; float n,t,pi; t=1;pi=0;n=1;s=1;/*found*/ while(fabs(t)>=num) pi=pi+t; n=n+2; s=-s;/*found*/ t=1.0/(s*n); pi=pi*4; return pi;main() float n1,n2;system("cls");printf("Enter a float number:");scanf("%f",&n1);n2=fun(n1);printf("%6.4fn",n2);3. 在给定程序modi32.c中,函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。例如,当s中的数为:7654321时,t中的数为:7531。程序中每个*found*行下只有一行有错误,请改正该错,并编译链接运行程序,使它能得出正确的结果。不要改动main函数,不要改动和删除*found*所在行,不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>#include <stdlib.h>/*found*/void fun(long s,long *t) long s1=10; *t=s%10; while (s>0) s=s/100; *t=s%10*s1+*t;/*found*/ s1=s1*10; main() long s,t; system("cls"); printf("nPlease enter s:"); scanf("%ld",&s); fun(s,&t); printf("The result is:%ldn",t);4. 在给定程序modi48.c中,函数fun的功能是:将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。例如,当s所指字符串的内容为"ABCD"时,t所指数组中的内容为"DCBAABCD"。注意:程序中每个*found*行下只有一行有错误,请改正该错,并编译链接运行程序,使它能得出正确的结果。不要改动main函数,不要改动和删除*found*所在行,不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>#include <string.h>#include <stdlib.h>void fun(char s,char t) int i,d; d=strlen(s);/*found*/ for (i=0;i<d;i+) ti=sd-1-i; for (i=0;i<d;i+) td+i=si;/*found*/ t2*d=0;main()char s100,t100;system("cls");printf("nPlease enter string S:");scanf("%s",s);fun(s,t);printf("nThe result is:%sn",t);5. 在给定程序modi107.c中 fun 函数的功能是:判断两个指针所指的存储单元中的值的符号是否相同,若相同函数返回1,否则返回0。这两个存储单元中的值都不为0。注意:程序中每个*found*行下只有一行有错误,请改正该错,并编译链接运行程序,使它能得出正确的结果。不要改动main函数,不要改动和删除*found*所在行,不得增行或删行,也不得更改程序的结构!#include <stdio.h>#include <conio.h>#include <stdlib.h>/*found*/ fun ( double *a, double *b)/*found*/if ( (*a) *(* b) > 0.0 ) return 1;else return 0;main( ) double n , m; system("cls"); printf ("Enter n , m : "); scanf ("%lf%lf", &n, &m ); printf( "nThe value of function is: %dn", fun ( &n, &m ) );