void shift(char *str)
創(chuàng)新互聯(lián)主營(yíng)南關(guān)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,手機(jī)APP定制開(kāi)發(fā),南關(guān)h5小程序開(kāi)發(fā)搭建,南關(guān)網(wǎng)站營(yíng)銷推廣歡迎南關(guān)等地區(qū)企業(yè)咨詢
{
int len = strlen(str);
if (len = 3) {
return;
}
for (int j = 0; j 3; ++j) {
char tmp = str[0];
for (int i = 0; i len - 1; ++i) {
str[i] = str[i + 1];
}
str[len - 1] = tmp;
}
}
請(qǐng)采納,謝謝
#includestdio.h
main()
{
int?i,k;
char?j;
char?a[9]={'A','B','C','D','E','F','G','H','I'};
for(i=0;i9;i++)
printf("%c",a[i]);
printf("\n");
for(k=0;k5;k++)
{
j=a[0];
for(i=0;i9;i++)
a[i]=a[i+1];
a[8]=j;
for(i=0;i9;i++)
printf("%c",a[i]);
printf("\n");
}
for(k=0;k5;k++)
{
j=a[8];
for(i=0;i8;i++)
a[8-i]=a[8-i-1];//逆向賦值
a[0]=j;
for(i=0;i9;i++)
printf("%c",a[i]);
printf("\n");
}
}
如圖,源代碼在網(wǎng)頁(yè)端發(fā)
你的思路不好,我改寫了。
#include?stdio.h
#include?string.h
#define?MAXS?100
void?Shift(?char?s[]?);
void?GetString(?char?s[]?);?/*?實(shí)現(xiàn)細(xì)節(jié)在此不表?*/
int?main()
{
char?s[MAXS];
GetString(s);
Shift(s); //交換
printf("%s\n",?s);
return?0;?
}
void?GetString(?char?s[]?){//不寫這個(gè)無(wú)法驗(yàn)證
scanf("%s",s);
}
void?Shift(?char?s[]?){
char?a[3];
int?i,j;
for(i=0;?i3?;i++){
a[i]=s[i];?//將前3個(gè)字母存到a
}
//此時(shí)i已經(jīng)=3
for(;?s[i]!='\0'?;i++){
s[i-3]=s[i];
} //i從3開(kāi)始?直到遇到結(jié)束符'\0',往前3格賦值
i-=3; //最后i要退回3格
for(j=0;?j3?;j++){
s[i++]=a[j];
} //將最后3個(gè)字母賦值為之前存到a的
}
#includelt;stdio.hgt;
#includelt;string.hgt;
#define MAXS 10
void Shift(char s[]);
void GetString(char s[]);/*實(shí)現(xiàn)細(xì)節(jié)在此不表*/
int main()
{
char s[MAXS];
GetString(s);
Shift(s);
printf("%s\n",s);
return 0;
}
/*你的代碼將被嵌在這里*/
代碼:
void Shift(char s[])
{
int len=strlen(s);
if(len==3);
else
{
int i;
char str[100];
int t=0;
for(i=0;ilt;3;i++)
{
strlt;igt;=slt;igt;;
}
for(i=3;ilt;len;i++)
{
s[t++]=slt;igt;;
}
for(i=0;ilt;3;i++)
{
s[t++]=strlt;igt;;
}
}
}
擴(kuò)展資料:
include用法:
#include命令預(yù)處理命令的一種,預(yù)處理命令可以將別的源代碼內(nèi)容插入到所指定的位置;可以標(biāo)識(shí)出只有在特定條件下才會(huì)被編譯的某一段程序代碼;可以定義類似標(biāo)識(shí)符功能的宏,在編譯時(shí),預(yù)處理器會(huì)用別的文本取代該宏。
插入頭文件的內(nèi)容
#include命令告訴預(yù)處理器將指定頭文件的內(nèi)容插入到預(yù)處理器命令的相應(yīng)位置。有兩種方式可以指定插入頭文件:
1、#includelt;文件名gt;
2、#include"文件名"
如果需要包含標(biāo)準(zhǔn)庫(kù)頭文件或者實(shí)現(xiàn)版本所提供的頭文件,應(yīng)該使用第一種格式。如下例所示:
#includelt;math.hgt;//一些數(shù)學(xué)函數(shù)的原型,以及相關(guān)的類型和宏
如果需要包含針對(duì)程序所開(kāi)發(fā)的源文件,則應(yīng)該使用第二種格式。
采用#include命令所插入的文件,通常文件擴(kuò)展名是.h,文件包括函數(shù)原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。如下例所示:
#include"myproject.h"http://用在當(dāng)前項(xiàng)目中的函數(shù)原型、類型定義和宏
你可以在#include命令中使用宏。如果使用宏,該宏的取代結(jié)果必須確保生成正確的#include命令。例1展示了這樣的#include命令。
【例1】在#include命令中的宏
#ifdef _DEBUG_
#define MY_HEADER"myProject_dbg.h"
#else
#define MY_HEADER"myProject.h"
#endif
#include MY_HEADER
當(dāng)上述程序代碼進(jìn)入預(yù)處理時(shí),如果_DEBUG_宏已被定義,那么預(yù)處理器會(huì)插入myProject_dbg.h的內(nèi)容;如果還沒(méi)定義,則插入myProject.h的內(nèi)容。
可以參考下面的代碼:
#include stdio.h
#include stdlib.h
void movefour(char *str)
{
int i,j;
char t;
for(i=0;i4;i++)
{
t=str[strlen(str)-1];
for(j=strlen(str)-1;j0;j--)
str[j]=str[j-1];
str[0]=t;? ? ? ? ? ?
}
}
擴(kuò)展資料:
C語(yǔ)言strcat()函數(shù):字符串連接(拼接)
C語(yǔ)言isupper()函數(shù):判斷一個(gè)字符是否是大寫字母
C語(yǔ)言isspace()函數(shù):判斷一個(gè)字符是否是空白符
C語(yǔ)言isprint()函數(shù):判斷一個(gè)字符是否是可打印字符
C語(yǔ)言islower()函數(shù):判斷一個(gè)字符是否是小寫字母
C語(yǔ)言ldexp()函數(shù):返回x乘以2的exponent次方(次冪)的值
C語(yǔ)言isalnum()函數(shù):判斷一個(gè)字符是否是字母或者數(shù)字
參考資料來(lái)源:百度百科-C語(yǔ)言函數(shù)