供复习备考国家二级
补充:数据库设计见下图
运行结果:Qian,f,95,92
考查结构体的相关操作,以及传值、传址的区别,该题调用f函数后,会生成参数C的一个副本,而不会改变C的值
#include <stdlib.h>
#include <stdio.h>
#define N 20
void fun( int *a)
{
int i, x, n=0;
x=rand()%20;
/**********found**********/
while (n<N)//N
{
for(i=0; i<n; i++ )
/**********found**********/
if( x==a[i] )
break;//break
/**********found**********/
if( i==n)//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");
}
#include <stdio.h>
void fun()
{
int a[3][3],sum;
int i,j;
/*************found**************/
sum=0;//sum=1;
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
/*************found**************/
scanf("%d",&a[i][j]);//a[i][j]
}
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("Sum=%d\n",sum);
}
void main()
{
fun();
}
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void fun (int array[3][3])
{
int i,j,t;
for(i=0;i<3;i++)
for(j=i+1;i<3;j++)
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}
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);
/*****************************/
}
如有问题可与我联系qq:1207787189