新聞中心
C語(yǔ)言怎么用函數(shù)把一個(gè)字符串逆序存放,比如說(shuō)原字符串是abcd,怎么將他改為dcba?
我以前寫(xiě)了這個(gè)程序。略粗糙
創(chuàng)新互聯(lián)公司網(wǎng)絡(luò)公司擁有10余年的成都網(wǎng)站開(kāi)發(fā)建設(shè)經(jīng)驗(yàn),上千客戶(hù)的共同信賴(lài)。提供成都網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)站開(kāi)發(fā)、網(wǎng)站定制、外鏈、建網(wǎng)站、網(wǎng)站搭建、成都響應(yīng)式網(wǎng)站建設(shè)公司、網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢(xún)和貼心的售后服務(wù)
源代碼:
#include stdio.h
#include string.h
#define ARR_SIZE 80 //字符串最大長(zhǎng)度
int Inverse(char a[]);
void main(void)
{
char str[ARR_SIZE]={0};
printf("P199 6.12\n"); //題號(hào)
printf("---------------------Inversed sequence---------------------\n");
printf("\nPlease enter a charstring:\n\n");
gets(str); //輸入一個(gè)字符串
Inverse(str); //調(diào)用函數(shù)逆序存放
}
int Inverse(char a[])
{
char b[ARR_SIZE]={0};
int i;
int maxsize;
maxsize=strlen(a)-1; //得到最后一個(gè)字符位置
for (i=0;istrlen(a);i++) //依次交換存放
{
b[maxsize]=a[i];
maxsize--;
}
printf("\nThe changed result is:\n\n");
puts(b); //輸出交換存放結(jié)果
printf("\n");
}
C語(yǔ)言編程,寫(xiě)一個(gè)函數(shù),使輸入的一個(gè)字符串按反序存放,在主函數(shù)中輸入和輸出字符
#include stdio.h
#include string.h
void input(char st[]);//定義輸入函數(shù)
void reverse(char st[]);//定義反序函數(shù)
int main()
{
char s[20];
input(s);//調(diào)用輸入函數(shù)
printf("Original string: %s\n", s);//輸出原字符串
reverse(s);//調(diào)用反序函數(shù)
printf("New string: %s\n", s);//輸出反序后的字符串
return 0;
}
void input(char st[])
{
printf("Please enter string: ");
gets(st);
}
//反序函數(shù)
void reverse(char st[])
{
int n=strlen(st);
for (int i=0, j=n-1, t; i(n/2); t=st[i], st[i]=st[j], st[j]=t, i++, j--);
}
擴(kuò)展資料:
gets()用法:
1、gets() 函數(shù)是從鍵盤(pán)輸入字符串,該函數(shù)只有一個(gè)參數(shù)。參數(shù)類(lèi)型為 char* 型,即 str 可以是一個(gè)字符指針變量名,也可以是一個(gè)字符數(shù)組名。打開(kāi)編輯器,新建一個(gè)c語(yǔ)言文件,引入標(biāo)準(zhǔn)庫(kù)并新建主函數(shù):
2、gets() 函數(shù)的功能是從輸入緩沖區(qū)中讀取一個(gè)字符串存儲(chǔ)到字符指針變量 str 所指向的內(nèi)存空間,這里的程序是用gets函數(shù)輸入字符串,可以看到不像scanf那樣需要使用%號(hào),gets函數(shù)中直接傳入字符串即可:
3、最后運(yùn)行下程序,輸入“i love you”,可以看到gets函數(shù)可以直接輸出空格,而scanf函數(shù)輸出空格則需要使用轉(zhuǎn)義字符實(shí)現(xiàn),因此gets函數(shù)的使用要比scanf簡(jiǎn)潔的多。以上就是gets函數(shù)使用方法的演示:
C語(yǔ)言-字符串反序存放
在你源代碼基礎(chǔ)上修改如下:
#include stdio.h
#include string.h
int len;
void fanxu(char c[100])
{
int i,t;
for(i=0;ilen/2;i++)
{
t=c[i];
c[i]=c[len-i-1];//c[]最后一位是\0,不能用來(lái)交換。
c[len-i-1]=t;
}
}
void main()
{
char c[100];
scanf("%s", c);
len=strlen(c);
fanxu(c);
printf("%s", c);
}
C語(yǔ)言:寫(xiě)一函數(shù),使輸入的一個(gè)字符串按反序存放,在主函數(shù)中輸入輸出反序后的字符串.
#includestdio.h
#includestring.h//使用字符串函數(shù)時(shí)頭文件
int str(char a[20],char b[20])//定義兩個(gè)字符型數(shù)組
{
int i, j, k;
j=strlen(a);//測(cè)試字符串長(zhǎng)度;
i=0;
k=j-1;
while(ij)
{
b[k]=a[i];//互換值;
i++;
k--;
}
return 0;
}
int main()
{
char c[20];
char d[20];
int i,l;
//gets(c);//輸入字符串;
scanf("%s",c);
l=strlen(c);//測(cè)試字符串長(zhǎng)度;
str(c,d);//調(diào)用函數(shù);
for(i=0; il; i++)
{
printf("%c",d[i]);//輸出數(shù)值;
}printf("\n");
printf("%s",d);//直接輸出字符串,此時(shí)輸出的是字符數(shù)組名,而不是數(shù)組元素名;
return 0;
}
運(yùn)行效果:
擴(kuò)展資料:
while語(yǔ)句若一直滿(mǎn)足條件,則會(huì)不斷的重復(fù)下去。但有時(shí),需要停止循環(huán),則可以用下面的三種方式:
一、在while語(yǔ)句中設(shè)定條件語(yǔ)句,條件不滿(mǎn)足,則循環(huán)自動(dòng)停止。
如:只輸出3的倍數(shù)的循環(huán);可以設(shè)置范圍為:0到20。
二、在循環(huán)結(jié)構(gòu)中加入流程控制語(yǔ)句,可以使用戶(hù)退出循環(huán)。
1、break流程控制:強(qiáng)制中斷該運(yùn)行區(qū)內(nèi)的語(yǔ)句,跳出該運(yùn)行區(qū),繼續(xù)運(yùn)行區(qū)域外的語(yǔ)句。
2、continue流程控制:也是中斷循環(huán)內(nèi)的運(yùn)行操作,并且從頭開(kāi)始運(yùn)行。
新聞名稱(chēng):字符串逆序存放c語(yǔ)言函數(shù) 字符串逆序存放c語(yǔ)言函數(shù)怎么設(shè)置
網(wǎng)站鏈接:http://fisionsoft.com.cn/article/doeecis.html