main( ) { int i;
for(i=0;i<2;i++) fun( ); }
4、#include
{ int a=12,b=0,n=0;
do
{ b+=2;a-=2+b; n++;
} while(a>=0); printf(“%d”,n); }
5、#include
{ int n=132,i=1,j,k,b[10];
while(n!=0) { j=n%6; b[i]=j; n=n/6; i++; }
for(k=i-1;k>0;k--) printf(“%d”,b[k]); } 二、程序填空题
3 340 1、任意输入平面一点坐标(x,y),求该点到原点(0,0)的距离。 #include
float y; }NODE; main( ) { NODE *p;
p= (NODE *)malloc(sizeof(NODE)) ; scanf(“%f,%f”,&p->x,&p->y);
printf(“%5.1f”,sqrt(p->x*p->x+p->y*p->y)); free(p) ; }
2、下列给定程序中,函数fun( )的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。
#include
5
#define N 4 #define M 50
char *fun(char (*q)[M]) { int i;char *p; p=*q ;
for(i=0;i if(strlen(p)< strlen(*(q+i)) ) p=*(q+i) ; return p; } main( ) { char str[N][M]={“pingpong”,”basketball”,field hockey”,”softball”}; char * longest; int i; longest=fun(str); printf(“The longest string:\\n”); puts(longest); } 3、下列程序定义了3×3的二维数组,并在主函数中自动赋值;函数fun的功能是使二维数组的上三角元素的值全部置0。 调用函数前 调用函数后 1 2 3 1 0 0 2 4 6 2 4 0 3 6 9 3 6 9 #include void fun(int n,int a[ ][3]); main( ) { int a[3][3],i,j; for(i=1;i<=3;i++) for(j=1;j<=3;j++) a[i-1][j-1] =i*j; fun(3,a); printf(“the result:\\n”); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(“M”,a[i][j]); printf(“\\n”); } } void fun(int n,int a[3][3]) { int i,j; for(i=0;i for(j=i+1; j 6 三、程序改错题,不得增行或删行。 1、下列程序的功能是求分数序列: 8955342113,-,,-,??的前8项之和。程序中有2553421138处错误,请标记并改正。 #include float a=144,b=89,s=0,t; for(i=1;i<=8;i++) { s+=a/b; { s+=flag*b/(a-b); flag=-flag; t=b;a=a-b;a=t; t=b;b=a-b;a=t; } printf(“%5.1f”,s); } 2、下列程序的功能是采用简单插入的排序方法,随机产生10个整数,按从小到大的顺序排列。程序中有2处错误,请标记并改正。 #include
相关推荐: