首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:移动字符串中的内容,移动的规则是把第1~m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:移动字符串中的内容,移动的规则是把第1~m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的
admin
2020-06-02
40
问题
使用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://kaotiyun.com/show/HqCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>main(){chars[]="abcde";s+=2:printf("%d\n",s[0]);}程序的运行结果是()。
有以下程序(strcat函数用于连接两个字符串):#include<stdio.h>#include<string.h>main(){chara[20]="ABCD\0EFG\0",b[]="IJK";strcat(a,b);printf(
有以下程序:#include<stdio.h>main(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是()。
有以下程序:#include<stdio.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){ease0:a++;break;ease1:b++;break;}ease2:a++
有以下程序:#include<stdio.h>intfun(){staticintx=1;x*=2:returnx;}main(){inti,s=1;for(i=1;i<=3;i++)s*=fun();printf("%d\
有以下程序:#include<stdio.h>intfun(intx){intp;if(x==0||x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(
下列叙述中错误的是()。
某带链的队列初始状态为front=rear=NULL。经过一系列正常的入队与退队操作后,front=10,rear=5。该队列中的元素个数为()。
在C语言中,只有在使用时才占用内存单元的变量,其存储类型是
程序中对fun函数有如下说明voidfun();此说明的含义是
随机试题
焊件焊完后,由于焊缝金属冷却收缩,焊件收拉,这样在焊件内产生了拉伸残余应力。
苍术主治
支付的在建工程人员的工资属于()产生的现金流量。
黄某的儿子因病去世后,黄某与儿媳吴某经常因为一些家庭琐事争吵,矛盾越积越深。某日,黄某与儿媳吴某又一次因家庭琐事发生争执,怒火中烧的黄某顺手拿起身旁的锤子殴打吴某致死。随后,公安机关依法将黄某带回派出所讯问,黄某如实交待了犯罪事实。黄某为了维护自己的合
4,1,12,13,()
在全国人民面前第一次明确提出彻底的反帝反封建的民主革命纲领的大会是()。
大气吸收地面长波辐射的同时,又以辐射的方式向外放射能量,大气这种向外放射能量的方式,被称为大气辐射。大气辐射也称大气长波辐射,这是因为:
假如声源位于正中面上(如正前方、正后方),时差为()。
Researcherswhorefusetosharedatawithothersmay【51】otherstowithholdresultsfromthem,【52】astudybyhealth-policyanalys
A、Turnoffthecomputerandwritenotesbyhand.B、Writedownwhattheprofessorsaysword-for-word.C、Typeslowlytosummarize
最新回复
(
0
)