//函數,輸入字符串,返回字符串前三字母。
目前創新互聯建站已為上千的企業提供了網站建設、域名、網頁空間、網站托管、企業網站設計、博羅網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
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;
}
擴展資料:
寫一個函數,將一個字符串中的元音字母復制到另一字符串,然后輸出。
代碼塊:
方法1:
#include stdio.h
#include string.h
char ycopy(char x[], char y[]);? ? ? ? ? ?//定義復制函數。
main()
{
char a[20], b[20];
gets(a);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //輸入字符串。
b[20]=ycopy(a, b);? ? ? ? ? ? ? ? ? ? //調用復制函數。
puts(b);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //輸出復制后的字符串。
return 0;
}
//元音復制函數。
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[]);? ? ? ? ? ? ? ? ? ? ? ? ? ? //定義輸入函數。
void output(char st[]);? ? ? ? ? ? ? ? ? ? ? ? ? ?//定義輸出函數。
void letter(char x[], char y[]);? ? ? ? ? ? ? ? ? //定義元音復制函數。
int main()
{
char s1[20], s2[10];
input(s1);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //調用輸入函數。
letter(s1, s2);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//調用元音復制函數。
output(s2);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//調用輸出函數。
return 0;
}
//輸入函數。
void input(char st[])
{
printf("Please enter string: ");
gets(st);
}
//元音復制函數。
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';
}
//輸出函數。
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[]);/*實現細節在此不表*/
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;;
}
}
}
擴展資料:
include用法:
#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。
插入頭文件的內容
#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:
1、#includelt;文件名gt;
2、#include"文件名"
如果需要包含標準庫頭文件或者實現版本所提供的頭文件,應該使用第一種格式。如下例所示:
#includelt;math.hgt;//一些數學函數的原型,以及相關的類型和宏
如果需要包含針對程序所開發的源文件,則應該使用第二種格式。
采用#include命令所插入的文件,通常文件擴展名是.h,文件包括函數原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。如下例所示:
#include"myproject.h"http://用在當前項目中的函數原型、類型定義和宏
你可以在#include命令中使用宏。如果使用宏,該宏的取代結果必須確保生成正確的#include命令。例1展示了這樣的#include命令。
【例1】在#include命令中的宏
#ifdef _DEBUG_
#define MY_HEADER"myProject_dbg.h"
#else
#define MY_HEADER"myProject.h"
#endif
#include MY_HEADER
當上述程序代碼進入預處理時,如果_DEBUG_宏已被定義,那么預處理器會插入myProject_dbg.h的內容;如果還沒定義,則插入myProject.h的內容。
如圖,源代碼在網頁端發
你的思路不好,我改寫了。
#include?stdio.h
#include?string.h
#define?MAXS?100
void?Shift(?char?s[]?);
void?GetString(?char?s[]?);?/*?實現細節在此不表?*/
int?main()
{
char?s[MAXS];
GetString(s);
Shift(s); //交換
printf("%s\n",?s);
return?0;?
}
void?GetString(?char?s[]?){//不寫這個無法驗證
scanf("%s",s);
}
void?Shift(?char?s[]?){
char?a[3];
int?i,j;
for(i=0;?i3?;i++){
a[i]=s[i];?//將前3個字母存到a
}
//此時i已經=3
for(;?s[i]!='\0'?;i++){
s[i-3]=s[i];
} //i從3開始?直到遇到結束符'\0',往前3格賦值
i-=3; //最后i要退回3格
for(j=0;?j3?;j++){
s[i++]=a[j];
} //將最后3個字母賦值為之前存到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循環控制變量,j用于數組中移動元素的位置*/
for
(i=0;i1;i++)/*因為要把最后一個移到最后,所以只需i1即可*/
{
t=s[0];/*把數組中第一個元素先保存給臨時變量t*/
for
(j=0;jn-1;j++)/*下面循環的功能是將除第一個元素外的(即s[0])字符串中的字符循環左移一個位置*/
s[j]=s[j+1];
s[j]=t;/*最后將第一個字符,給最后一個字符*/
}
}
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);
}
注意:本程序如不是在二級C模擬系統下寫代碼,在驗證時請以上面代碼為準!
將s串中所有字符前移一個位置,第一個字符移到最后:
intlen=strlen(s);
charc=s[len-1];
s[len-1]=s[0];
s[0]=c;
擴展資料
字符串中字母順序前移,其他字符順序后移。
#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;
}
}
請采納,謝謝
名稱欄目:c語言函數題移動字符,c語言字符串指針移動
文章位置:http://vcdvsql.cn/article46/hssjeg.html
成都網站建設公司_創新互聯,為您提供外貿建站、做網站、網站策劃、搜索引擎優化、ChatGPT、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯