程序填空题
在此程序中,函数fum的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中
(此数组在主函数中已置0)。
#include <stdlib.h>
#include <stdio.h>
#define N 20
void fun( int *a)
{ int i, x, n=0;
x=rand()%20;
/**********found**********/
while (n<__1__)
{ for(i=0; i<n; i++ )
/**********found**********/
if( x==a[i] )
__2__;
/**********found**********/
if( i==__3__)
{ a[n]=x; n++; }
x=rand()%20;
}
}
void main()
{ int x[N]={0} ,i;
fun( x );
printf("The result : \n");
for( i=0; i<N; i++ )
{ printf("%4d",x[i]);
if((i+1)%5==0)printf("\n");
}
printf("\n\n");
}
#include <stdlib.h>
#include <stdio.h>
#define N 20
void fun( int *a)
{ int i, x, n=0;
x=rand()%20;
/**********found**********/
while (n<20)
{ for(i=0; i<n; i++ )
/**********found**********/
if( x==a[i] )
break;
/**********found**********/
if( i==n)
{ a[n]=x; n++; }
x=rand()%20;
}
}
void main()
{ int x[N]={0} ,i;
fun( x );
printf("The result : \n");
for( i=0; i<N; i++ )
{ printf("%4d",x[i]);
if((i+1)%5==0)printf("\n");
}
printf("\n\n");
}
程序修改题
在此程序中,函数fun的功能是:先从键盘上输入一个3行、3列的矩阵的各个元素的值,然后输出主对角线元素之和。
#include <stdio.h>
void fun()
{
int a[3][3],sum;
int i,j;
/*************found**************/
sum=1;
for (i=0;i<3;i++)
{ for (j=0;j<3;j++)
/*************found**************/
scanf("%d",a[i][j]);
}
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("Sum=%d\n",sum);
}
void main()
{
fun();
}
程序设计题
在此程序中,编写程序,实现矩阵(3行、3列)的转置(即行列互换)。
例如,若输入下面的矩阵:
100 200 300
400 500 600
700 800 900
则程序输出:
100 400 700
200 500 800
300 600 900
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void fun (int array[3][3])
{
}
void main()
{
FILE *wf;
int i,j;
int array [3][3]={{100,200,300},{400,500,600},{700,800,900}};
system("CLS");
for (i=0;i<3;i++)
{for (j=0;j<3;j++)
printf("%7d ",array[i][j]);
printf("\n ");
}
fun(array);
printf("Converted array:\n ");
for (i=0;i<3;i++)
{ for (j=0;j<3;j++)
printf("%7d ",array[i][j]);
printf("\n ");
}
/******************************/
wf=fopen("out.dat","w");
for (i=0;i<3;i++)
{ for (j=0;j<3;j++)
fprintf(wf,"%7d ",array[i][j]);
fprintf(wf,"\n");
}
fclose(wf);
/*****************************/
}
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void fun (int array[3][3])
{ int i,j,temp;
for(i=0;i<=2;i++){
for(j=i+1;j<=2;j++){
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
}
}
}
void main()
{
FILE *wf;
int i,j;
int array [3][3]={{100,200,300},{400,500,600},{700,800,900}};
system("CLS");
for (i=0;i<3;i++)
{for (j=0;j<3;j++)
printf("%7d ",array[i][j]);
printf("\n ");
}
fun(array);
printf("Converted array:\n ");
for (i=0;i<3;i++)
{ for (j=0;j<3;j++)
printf("%7d ",array[i][j]);
printf("\n ");
}
/******************************/
wf=fopen("out.dat","w");
for (i=0;i<3;i++)
{ for (j=0;j<3;j++)
fprintf(wf,"%7d ",array[i][j]);
fprintf(wf,"\n");
}
fclose(wf);
/*****************************/
}