首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:移动字符串中的内容,移动的规则是把第1~m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:移动字符串中的内容,移动的规则是把第1~m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的
admin
2018-10-21
61
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:移动字符串中的内容,移动的规则是把第1~m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。
例如,字符串中原有的内容为“ABCDEFGHIJK”,m的值为3,移动后,字符串中的内容应该是“DEFGHUKABC”。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<string.h>
#define N80
void fun(char*w,int m)
{
}
void main()
{
FILE*wf;
char a[N]="ABCDEFGHIJK",b
[N]*"ABCDEFGHIJK";
int m;
printf("The origina string:\n");
puts(a);
printf("\n\nEnter m:");
scanf("%d",&m);
fun(a,m);
printf("\nThe string after moving:\n”);
puts(a);
printf("\n\n");
/*********found*********/
wf=fopen("out.dat","w");
fun(b,3);
fprintf(wf,"%s",b);
fclose(wf);
/*********found*********/
}
选项
答案
void fun(char*w,int m) { int i,j; char t; for(i=1;i<=m;i++)/*进行m次的循环左移*/ {t=w[0]; for(j=1;w[j]!=’\0’;jj++) /*从第2个字符开始以后的每个字符都依次前移一个字符*/ w[j﹣1]=w[j]; w[j﹣1]=t;/*将第1个字符放到最后一个字符中*/ } }
解析
本题应采用“循环左移”的算法,多层循环用于控制移动的字符的个数,即需进行多少次循环,内嵌循环的作用是将从第2个字符以后的每个字符依次前移一个位置,最后将第1个字符放到最后一个字符中。
转载请注明原文地址:https://kaotiyun.com/show/i0xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
执行下面的程序后,a的值为()。main(){inta,b;for(a=1,b=1,a<=10;a++){if(b%3==1){b+=3;continue;
以下程序中select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。#defineN3#defineM3select{inta
下面程序的输出是【】。main(){enumem{em1=3,em2=l,em3};char*aa[]={"AA","BB","CC","DD"};printf("%s%s\n",aa[eml],aa[em2],a
下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符1,则输出3,请填空。#include<conio.h>#include<stdio.h>#defineM81
有以下程序:main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}程序运行后的输出结果是()。
有以下程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intX;scanf("%d",&x);x=fun(x);printf("%
以下程序的输出结果是()。#include<stdio.h>main(){inta=21,b=11;printf("%d\n",--a+b,--b+a);}
表示“整数x的绝对值大于5”时值为“假”的C语言表达式是______。
如下程序的输出结果是______。main(){staticinta[4]={1,2,3,4};int**k,*j;j=a+1;k=&j;printf("%d\n",*(*k+2));
随机试题
10岁女孩,因半年来有时突然终止其正在进行的动作,呼之不应,双眼凝视,有时伴手中持物坠落,约持续数秒钟后立即清醒,对发作无记忆,每日发作数次。诊断为癫痫。该类型癫痫的典型脑电图(EEG)表现为
沙眼病原菌是急性流行性出血性结膜炎病原菌是
确诊肺结核最特异性的方法
心绞痛急性发作的急救药物宜选用
膜性口炎是由
如发生()等情况,承包人可向业主提出利息索赔。
城镇住户调查中,财产性收入包括()。[2011年初级真题]
已知某商业银行的总资产为1000亿元,总负债为800亿元,资产加权平均久期为6年,负债加权平均久期为4年,那么该商业银行的久期缺口等于()。
根据《商业银行理财产品销售管理办法》,下列可以认定为高净值客户的是()。
A、Themanhadbettercalltheschoolteachersforhelp.B、ThemanshouldstartlookingatJason’sFacebook.C、Themancanvisit
最新回复
(
0
)