首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。 例如,若二维数组中的数据为 W W W W S S S S H H H H 则字符串中的内容应是:WSHWSHW
请编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。 例如,若二维数组中的数据为 W W W W S S S S H H H H 则字符串中的内容应是:WSHWSHW
admin
2019-04-14
77
问题
请编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。
例如,若二维数组中的数据为
W W W W
S S S S
H H H H
则字符串中的内容应是:WSHWSHWSHWSH。
注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#define M 3
#define N 4
void fun(char(*S)[N],char *b)
{
}
void main()
{
FILE *wf;
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
[j]);
printf(″\n″);
}
fun(w,a);
printt(″The A string:\n″);
puts(a);
printf(″\n″);
/* * * * * * * * * * * * * * * */
wf=fopen(″out.dat″,″w″);
fprintf(wf,″%s″,a);
fclose(wf);
/* * * * * * * * * * * * * * * */
}
选项
答案
void fun(char(*s)[N],char *b) { int i,j,k=0; for(i=0;i<N;i+ +) /*按列的顺序依次放到一个字符串中*/ for(j=0;j<M;j+ +) b[k+ +]=s[j][i]; b[k]=′\0′; }
解析
看到程序后,很容易便能想到用循环嵌套的方法,本题中按列的顺序依次放到一个字符串中,所以列标变化慢,行标变化快。
注意:第1个循环条件为i<N(即列),第2个循环条件为j<M(即行),因为在循环的嵌套中,越在内层,循环变化就越快。
转载请注明原文地址:https://kaotiyun.com/show/x2Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下选项中的表达式调用库函数依次求-4.5的绝对值、-4.0的平方根值、30°角的正弦值和2的3次方值。正确的调用是()
以下程序的输出结果是______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1];a
以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[
以下程序调用findmax函数返回数组中的最大值findmax(inE*a,intn){int*p,*s;for(p=a,s=a;p-a<n;p++)if(______)s=p;ret
下面关于数据库三级模式结构的叙述中,正确的是()。
源程序的文档不包括()。
在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为
随机试题
肉眼观察脑标本表面,脑萎缩的特征性改变是
哪一项不是脉络膜黑色素瘤的超声表现
西药治疗淋病,方法不正确的是
城市道路非机动车道主要按()车道设计。
鲜花花篮
由投资者投资转入的固定资产,应按投资合同或协议约定的价值(假定该价值公允)作为固定资产的入账价值,借记“固定资产”科目,按其在注册资本中所占的份额,贷记“实收资本”或“股本”科目,按其差额记入的会计科目是()。
中央银行的主要业务是()。
根据个人所得税法律制度的规定,下列各项中,应征收个人所得税的是()。
下列属于经常转移的项目有()。
课外活动与课堂教学的共同之处在于它们都是()教育活动。
最新回复
(
0
)