首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:移动字符串中的内容,移动的规则是把第1~m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:移动字符串中的内容,移动的规则是把第1~m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的
admin
2020-06-02
32
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:移动字符串中的内容,移动的规则是把第1~m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。
例如,字符串中原有的内容为“ABCDEFGHIJK”,m的值为3,移动后,字符串中的内容应该是“DEFGHUKABC”。
注意:部分源程序在文件PROGl.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<string.h>
#define N 80
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’;j++) /*从第2个字符开始以后的每个字符都依次前移一个字符*/ w[j-1]=w[j]; w[j-1]=t;/*将第1个字符放到最后一个字符中*/ } }
解析
本题应采用“循环左移”的算法,多层循环用于控制移动的字符的个数,即需进行多少次循环,内嵌循环的作用是将从第2个字符以后的每个字符依次前移一个位置,最后将第1个字符放到最后一个字符中。
转载请注明原文地址:https://jikaoti.com/ti/S4G0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下叙述中错误的是()。
有以下程序:#include<stdio.h>main(){chars[]="abcde";s+=2:printf("%d\n",s[0]);}程序的运行结果是()。
有以下程序:#include<stdio.h>main(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf("%d\n",m);}程序的运行结果是()。
有以下程序:#include<stdio.h>main(){intb[3][3]={0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf("
设有如下函数定义:#include<stdio.h>intfun(intk){if(k<1)return0;elseif(k==1)return1;elsereturnfun(k-1)+1;}若执行调用语句n=fun(3);,则函数
有以下程序:#include<stdio.h>voidfun(inta,intb){intt;t=a:a=b;b=t;}main(){intc[10]={1,2,3,4,5,6,7,8,9,0},i;for(i=0;i<10;
若有定义:inta,b;,通过语句scanf(”%d;%d”,&a,&b);能把整数3赋给变量a、5赋给变量b的输入数据是()。
有以下程序#includemain()intfun(){inti,s===1;{staticintx=1;for(i=1;i
程序中对fun函数有如下说明voidfun();此说明的含义是
程序流程图中带有箭头的线段表示的是
随机试题
主要用来砸击重物(力)的工具是()。
45岁男性,十二指肠溃疡病史10余年,近日疼痛发作频繁,今日突然疼痛加剧,呈刀割样,从上腹开始波及全腹,检查时面色苍白,四肢湿冷出汗,血压110/80mmHg,脉搏95次/分,全腹压痛、反跳痛、肌紧张明显。为确诊需做哪项检查
在合同的组成文件中,最优先解释的合同文件是()。
在国际工程招标投标中,对于大型工程和复杂的设备,为使预期的投标人熟悉情况,便于准备投标,应鼓励业主在投标前(),以求投标更切合实际。
价值工程涉及价值、()和寿命周期成本等三个基本要素。
柴油属于丙类火灾危险性可燃液体,其闪点为(),爆炸极限为1.5%~6.5%。
证券投资基金账户是只能用于买卖上市基金的专用账户,不可用于买卖上市的国债。()
假定某投资者于2009年10月17日在深市买入××股票(属于A股)500股,成交价10.92元;2月18日卖出,成交价11.52元。假设经纪人对股票交易佣金的收费为成交金额的2.8‰,则股票买卖盈利为( )元。
提前支取的定期储蓄存款,支取部分按( )计付利息。
分析稷下学宫的性质特点和历史地位。
最新回复
(
0
)