//函數(shù),輸入字符串,返回字符串前三字母。
目前創(chuàng)新互聯(lián)建站已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、博羅網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
public function getStoreName($str){
$one = mb_substr($str, 0, 1, 'utf-8');
$two = mb_substr($str, 1, 2, 'utf-8');
$three = mb_substr($str, 2, 3, 'utf-8');
if(preg_match('/^[\x7f-\xff]+$/', $one)){
$one = getFirstCharter($one);
}
if(preg_match('/^[\x7f-\xff]+$/', $two)){
$two = getFirstCharter($two);
}
if(preg_match('/^[\x7f-\xff]+$/', $three)){
$three = getFirstCharter($three);
}
return? ?$one.$two.$three;
}
擴(kuò)展資料:
寫(xiě)一個(gè)函數(shù),將一個(gè)字符串中的元音字母復(fù)制到另一字符串,然后輸出。
代碼塊:
方法1:
#include stdio.h
#include string.h
char ycopy(char x[], char y[]);? ? ? ? ? ?//定義復(fù)制函數(shù)。
main()
{
char a[20], b[20];
gets(a);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //輸入字符串。
b[20]=ycopy(a, b);? ? ? ? ? ? ? ? ? ? //調(diào)用復(fù)制函數(shù)。
puts(b);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //輸出復(fù)制后的字符串。
return 0;
}
//元音復(fù)制函數(shù)。
char ycopy(char x[], char y[])
{
int m, i, j;
m=strlen(x);
for (i=0, j=0; im; i++){
if (x[i]=='a'||x[i]=='A')
y[j++]=x[i];
else if (x[i]=='e'||x[i]=='E')
y[j++]=x[i];
else if (x[i]=='i'||x[i]=='I')
y[j++]=x[i];
else if (x[i]=='o'||x[i]=='O')
y[j++]=x[i];
else if (x[i]=='u'||x[i]=='U')
y[j++]=x[i];
}
y[j] = '\0';
return y[j];
}
方法2:
#include stdio.h
#include string.h
void input(char st[]);? ? ? ? ? ? ? ? ? ? ? ? ? ? //定義輸入函數(shù)。
void output(char st[]);? ? ? ? ? ? ? ? ? ? ? ? ? ?//定義輸出函數(shù)。
void letter(char x[], char y[]);? ? ? ? ? ? ? ? ? //定義元音復(fù)制函數(shù)。
int main()
{
char s1[20], s2[10];
input(s1);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //調(diào)用輸入函數(shù)。
letter(s1, s2);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//調(diào)用元音復(fù)制函數(shù)。
output(s2);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//調(diào)用輸出函數(shù)。
return 0;
}
//輸入函數(shù)。
void input(char st[])
{
printf("Please enter string: ");
gets(st);
}
//元音復(fù)制函數(shù)。
void letter(char x[], char y[])
{
int n=strlen(x);
for (int i=0, j=0; in;
(x[i]=='a'||x[i]=='e'||x[i]=='i'||x[i]=='o'||x[i]=='u'||x[i]=='A'||x[i]=='E'||x[i]=='I'||x[i]=='O'||x[i]=='U') ? y[j++]=x[i++] : i++);
y[j]='\0';
}
//輸出函數(shù)。
void output(char st[])
{
printf("The final string: %s\n", st);
}
#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)容。
如圖,源代碼在網(wǎng)頁(yè)端發(fā)
你的思路不好,我改寫(xiě)了。
#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[]?){//不寫(xiě)這個(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的
}
#include
stdio.h
#include
string.h
#define
N
81
void
readwriteDAT();
void
chg(char
*s)
{
int
i,t,j=0,n=strlen(s);/*i循環(huán)控制變量,j用于數(shù)組中移動(dòng)元素的位置*/
for
(i=0;i1;i++)/*因?yàn)橐炎詈笠粋€(gè)移到最后,所以只需i1即可*/
{
t=s[0];/*把數(shù)組中第一個(gè)元素先保存給臨時(shí)變量t*/
for
(j=0;jn-1;j++)/*下面循環(huán)的功能是將除第一個(gè)元素外的(即s[0])字符串中的字符循環(huán)左移一個(gè)位置*/
s[j]=s[j+1];
s[j]=t;/*最后將第一個(gè)字符,給最后一個(gè)字符*/
}
}
main()
{
char
a[
N
]
;
printf("Enter
a
string
:
");
gets(a);
printf("The
original
string
is
:
");
puts(a);
chg(a);
printf("The
string
after
modified
:
");
puts(a);
}
注意:本程序如不是在二級(jí)C模擬系統(tǒng)下寫(xiě)代碼,在驗(yàn)證時(shí)請(qǐng)以上面代碼為準(zhǔn)!
將s串中所有字符前移一個(gè)位置,第一個(gè)字符移到最后:
intlen=strlen(s);
charc=s[len-1];
s[len-1]=s[0];
s[0]=c;
擴(kuò)展資料
字符串中字母順序前移,其他字符順序后移。
#includestdio.h
#includestdlib.h
#includestring.h
char*fun(char*s)
{
inti,j,k,n;
char*p,*t;
n=strlen(s)+1;
t=(char*)malloc(n*sizeof(char));
p=(char*)malloc(n*sizeof(char));
j=0;
k=0;
for(i=0;in;i++)
{
if(((s[i]='A')(s[i]='Z'))||((s[i]='a')(s[i]='z')))
{
t[j]=s[i];
j++;
}
else
{
p[k]=s[i];
k++;
}
}
for(i=0;ik;i++)
t[j+i]=p[i];
t[j+k]=0;
returnt;
}
intmain()
{
chars[80];
printf("Pleaseinput:");
gets(s);
printf("\nTheresultis:%s\n",s);
printf("\nTheresultis:%s\n",fun(s));
getchar();
getchar();
return0;
}
void shift(char *str)
{
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)采納,謝謝
名稱欄目:c語(yǔ)言函數(shù)題移動(dòng)字符,c語(yǔ)言字符串指針移動(dòng)
文章位置:http://muchs.cn/article46/hssjeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、做網(wǎng)站、網(wǎng)站策劃、搜索引擎優(yōu)化、ChatGPT、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)