C语言二级-第七套

程序填空题

在此程序中,函数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);
/*****************************/
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_69101859

感谢、感谢,感谢大佬的打赏!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值