C语言的一道题!!急!!!!题目二.编程题:编写程序实现字符串循环左移,左移的位数由

如题所述

第1个回答  2015-05-06
#include<stdio.h>
#include<stdlib.h>
/int main()
{
char ch[] = "abcdefg\0hi";
char tmp;
int i, j, l, a;
l = 0;
while (ch[l] != 0)
{
l++;
}
scanf("%d", &a);
for (i = 0; i < a; i++)
{
tmp = ch[0];
for (j = 1; j < l; j++)
{
ch[j - 1] = ch[j];
}
ch[l - 1] = tmp;
}

printf("%s\n", ch);

system("pause"); //避免窗口一闪而退
return 0;
}本回答被提问者和网友采纳

c语言 循环左移
void fun(int *a,int n,int x) { int i,j,k;for ( i=0;i<x;i++ ) { k=a[0]; for ( j=0;j<n-1;j++ ) a[j]=a[j+1]; a[n-1]=k; } } void main() { int a[N],i,x;printf("Enter %d integers: ",N); for ( i=0;i<N;i++ ) scanf("%d",&a[i...

如何用c语言实现循环左移
循环左移n:(a>>(N-n))|(a>>n)循环右移n:(a<<(N-n))|(a>>n)C语言的位运算功能是其区别于其他大多数高级程序设计语言的特色之一,用它可以方便实现一些特殊功能,灵活掌握是用C程序编写系统程序的基础。

顺序表的循环移位(C++或者C语言)
printf("%d ",ar[i]);for(j=1;j<=2;j++){ printf("\\n请输入指令(向左移动:0;向右移动:1):");scanf("%d",&bool_);printf("请输入移动的格数:");scanf("%d",&n);if(bool_)right(ar,length,n);else left(ar,length,n);for(i=0;i<length;i++)ar[i]=b[i];} retu...

C语言问题 怎么实现一个数组循环左移
其实很简单,将第一个比如a[0]用一个变量保存,然后将后一个元素的值赋给前一个,最后将保存a[0]的变量的值赋给最后一个元素,循环 。对于一个数组,应该用双重循环实现,外循环代表你需要左移的次数,内循环即将每一个元素左移

C语言编程题:移位函数,既能循环左移又能循环右移
\/\/先高位移动,再低位移动后,两者按位或,相当把低位溢出的又添加到了高位,实现了循环的效果 } else { return (num << (sizeof(unsigned)*8 - abs(n))) | (num >> abs(n)); }}void main(void) { printf("%u\\n", fun(2, -34));} ...

...n),函数的功能将字符串s循环左移n个字符。编写主函数,输入一个整数...
void leftn(char *p,int n){ char a[200]="";memcpy(a,p,n);strcat(strcpy(p,p+n),a);} void main(void){ char arry[201];int n;printf("Type a string...\\nStr=");gets(arry);printf("To shift to the left several?\\nn=");scanf("%d",&n);leftn(arry,n);printf("...

51单片机的c语言 左移右移怎么用?想用来控制流水灯,请帮忙写个完整的c...
void delay02s(void) \/\/ 延时0.2s子程序 { unsigned char i,j,k;for ( i=2;i>0;i-- )for (j=200;j>0;j-- )for (k=250;k>0;k-- );} void main (void) \/\/ 主函数 { uchar i,j;while (1) \/\/ 死循环 { j=0x01; \/\/ j初始化为0x01,左...

用c语言编写一程序,接收从键盘上输入的整数i,将数组循环左移i位
include"stdio.h"void main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},b[10];int i,j,k;printf("移位前: ");for(k=0;k<10;k++)printf("%d ",a[k]);printf("\\n");printf("Input i: ");scanf("%d",&i);j=i%10;for(k=0;k<10;k++){ if(j==10)j=0;b[k]=...

循环左移 和循环右移是什么意思啊
循环移位就是把数值变成二进制,然后循环移动的过程。换句话说,循环移位就是将移出的低位放到该数的高位(循环右移)或把移出的高位放到该数的低位(循环左移),左移,和右移动都是对整数进行的操作,在Win32控制台应用程序中,整形占4Byte节32bit。循环左移的过程可以分为3步:1、将x左端的n...

C语言数组的左移函数
\/\/下面是将数组左移的函数void fun(char *a, int *length)\/\/length为字符串a的长度{ for(int i = 0; i < length - 2; i++) { a[i] = a[i+2]; }*length = (*length) - 2; } \/\/如果只是输出左移两位的结果,可以用下面这个函数void fun(char *a, int length){ for(int...

相似回答