计算机二级程序填空题

本文介绍如何使用C语言将给定的二维数组按列转换成一维数组,通过fun函数实现,注意修改内部循环条件以保证按列存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1.题目要求

 2.答案:第四行到第八行为填写内容。

#include <stdio.h>
#define     M   3
#define     N   4
void  fun(char  s[][N], char *b)
{
  int i,j,n=0;
  for(i=0; i<N;i++)  /* 请填写相应语句完成其功能 */
  {
	  for(j=0;j<M;j++)/*第四行*/
	  {
		b[n]=s[j][i];
		n++;
	  }               /*第八行*/
  }
  b[n]='\0';
}
main()
{  char  a[100],w[M][N]={{'W','W','W','W'},{'S','S','S','S'},{'H','H','H','H'}};
   int  i,j;
   printf("The matrix:\n");
   for(i=0; i<M; i++)
   {  for(j=0;j<N; j++)printf("%3c",w[i][j]);
      printf("\n");
   }
   fun(w,a);
   printf("The A string:\n");puts(a);
   printf("\n\n");
   getchar();
}

 3.注意:按列展开存储元素,并且保持原始的循环条件 for(i=0; i<N; i++)的情况下,需要在内部循环中交换 i 和 j 的位置。这样才可以确保按列展开存储元素到一维数组中。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值