首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。 例如,若二维数组中的数据为 则
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。 例如,若二维数组中的数据为 则
admin
2020-06-02
65
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。
例如,若二维数组中的数据为
则字符串中的内容应是:wsHwsHwsHWsH。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define M 3
#define N 4
void fun(char(*s)[N],char*b)
{
}
void 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
[j]);
printf("\n");
}
fun(w,a);
printf("The A string:\n");
puts(a);
printf("\n\n");
}
选项
答案
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++]=s[j][i]; b[k]=’\0’; }
解析
看到程序后,很容易便能想到用循环嵌套的方法,本题中按列的顺序依次放到一个字符串中,所以列标变化慢,行标变化快。
注意:第1个循环条件为i<N(即列);第2个循环条件为j<M(即行),因为在循环的嵌套中越在内层,循环变化就越快。
转载请注明原文地址:https://kaotiyun.com/show/fqCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设循环队列的存储空间为Q(1:50),初始状态为front=Fear=50。现经过一系列入队与退队操作后,front=rear=1,此后又正常地插入了两个元素。最后该队列中的元素个数为()。
设有栈S和队列Q,初始状态均为空。首先依次将A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为()。
已知字符A的ASCII码值是65,字符变量c1的值是’A’,c2的值是’D’,则执行语句printf("%d,%d",c1,c2-2);的输出结果是()。
若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。
设二叉树T的深度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。则T中的叶子结点数为
有以下程序#includemain(){inti,s=1:intfun(){staticintx=1;for(i=1;i
有以下程序#includemain(){intk=4,m=1,p;fun(inta,intb){intstaticm=0,i=2;p=fun(k,m);i=i+m+1;
程序流程图中带有箭头的线段表示的是
随机试题
企业把创新产品的价格定得较低,以吸引大量顾客,提高市场占有率,这种定价策略叫作()。
Whatdoweknowaboutlove?Isit,assomepeoplewouldsuggest,amysteriousforce?Orcanitbeexplainedandpossiblyeven【B1
Eversincehumanslivedontheearth,theyhavemadeuseof【C1】______formsofcommunication.Generallythis【C2】______ofthoughts
防止和抑制细菌生长繁殖的方法被称为A.消毒B.防腐C.灭菌D.无菌E.无菌操作
没有去除菌斑作用的口腔卫生方法是
乙公司2010年9月30日银行存款日记账余额为149300元,银行发来的对账单余额为162500元。经核对发现以下未达账项:(1)委托银行代收的销货款8000元,银行已收到入账,但企业尚未收到银行收款通知书。(2)企业于月末交存银行的转账支票16400
下列科目适合采用多栏式明细账格式核算的是()。
下列关于期货交易所的说法,正确的有( )。
某二叉树中度为2的结点有10个,则该二叉树中有()个叶子结点。
【S1】【S7】
最新回复
(
0
)