編程題
請編寫函數(shù)FUN,該函數(shù)的功能是:移動字符串中的內(nèi)容,移動的規(guī)則如下:把第1到第M個字符,平移到字符串的最后,把第M+1到最后的字符移到字符串的前部。
例如,字符串原有的內(nèi)容為ABCDEFGHIJK,M的值為3,移動后,字符串中的內(nèi)容應(yīng)該是DEFGHIJKABC。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include
#include
#defineN80
voidfun(char*w,intm)
{
}
main() www.Examda.CoM
{
chara[N]="ABCDEFGHIJK";
intm;
FILE*out;
printf("Theoriginalstring:\n");
puts(a);
printf("\n\nEnterm:");
scanf("%d",&m);
fun(a,m);
printf("\nThestringaftermoving:\n");
puts(a);
printf("\n\n");
out=fopen("out.dat","w");
fun(a,strlen(a)-m);
fun(a,3);
fprintf(out,"%s",a);
fclose(out);
}
答案是:
voidfun(char*w,intm)
{
charb[N];
intI,j=0;
for(i=0;i { b[j]=w[i]; j++; } for(i=0;i w[i]=w[i+m]; for(j=0;j { w[i]=b[j]; i++; } w[i]=’\0’; }
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |