當前位置:首頁 » 編程語言 » 二十六字母互換的c語言代碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

二十六字母互換的c語言代碼

發布時間: 2022-05-28 09:30:19

c語言如何實現字元之間的替換(打出一列順序,輸出按此順序輸出)

根據你的題意。

第一行輸入是26個字母的指定順序。

第二行輸入是內容字元串。

將內容字元串中的字母按照指定順序替換成對應26個字母原順序的字母。

規則:第一行輸入必須是26個小寫母,且不能重復。

替換後的字元中字母大小寫參照原字元串。

下面是代碼:

#include<stdio.h>

#include<string.h>

#define MAXLEN 100//第二行輸入字元串的最大長度

char *inPutNewOrder();//輸入26個字母的新順序,必須為小寫字母,不能有重復。輸入成功返回字元串,失敗返回NULL

char getNewLetter(char cIn,char newOrder[27]);//獲取字母對應newOrder的原始字母,成功返回字母,失敗返回0

int main()

{

int i;

char *newOrder;//輸入新字母順序

char inputStr[MAXLEN],cIn;

while(1)

{

newOrder=NULL;

while(!newOrder)

newOrder=inPutNewOrder();

memset(inputStr,0,sizeof(char)*MAXLEN);

for(i=0;i<MAXLEN;i++)

{

cIn=getchar();

if(cIn==10)//回車結束輸入

break;

if((cIn>=65 && cIn<=90)||(cIn>=97 && cIn<=122))//如輸入的是字母,對應新字母順序,找到原字母

inputStr[i]=getNewLetter(cIn,newOrder);

else

inputStr[i]=cIn;

}

if(i==MAXLEN)

while ((cIn = getchar()) != EOF && cIn != ' ');

printf("%s ",inputStr);

}


return 0;

}

char *inPutNewOrder()//輸入26個字母的新順序,必須為小寫字母,不能有重復

{

int i=0,j,flag=1;

static char newOrder[27];

char c=0;

memset(newOrder,0,sizeof(char)*27);

while(1)

{

if(newOrder[25]!=0)

break;

c=getchar();

if(c<97 || c>122)//輸入小寫字母以外字元,標識錯誤

flag=0;

for(j=0;flag && j<i;j++)

if(newOrder[j]==c)//輸入重復,標識錯誤

flag=0;

if(!flag)//錯誤,終止輸入

{

printf("輸入格式錯誤!必須為26個小寫字母,且不能有重復,請重新輸入。 ");

while ((c = getchar()) != EOF && c != ' ');

return NULL;

}

newOrder[i]=c;

i++;

}

while ((c = getchar()) != EOF && c != ' ');

return newOrder;

}

char getNewLetter(char cIn,char newOrder[27])//獲取字母對應newOrder的原始字母,成功返回字母,失敗返回0

{

static char letters[]="abcdefghijklmnopqrstuvwxyz";

char c;

int i,flag;//flag=1大寫字母,flag=0是小寫字母

if(cIn>=65 && cIn<=90)//輸入的是大寫字母

c=cIn+32,flag=1;

if(cIn>=97 && cIn<=122)//輸入的是小寫字母

c=cIn,flag=0;

for(i=0;i<26;i++)

if(newOrder[i]==c)//在新序列中匹配大寫字母或小寫字母

{

if(flag)

return letters[i]-32;

else

return letters[i];

}

return 0;

}



❷ C語言編程,字母轉換

樓主你好
具體代碼如下:
#include<stdio.h>
#include<ctype.h>
#define MAX 6

int main()
{
char code[MAX];
int i=0;

printf("輸入五位電報字元:");//一個一個的輸入 不要一下就把5個輸入了
while(i<MAX-1)
{
code[i]=getchar();
while( isalpha(code[i]) == 0 )//如果不是字母 繼續輸入
{
printf("第%d個字元輸入錯誤\n應該輸入字母:",i+1);
getchar();
code[i]=getchar();
}
getchar();
i++;
}
code[i]='\0';

for(i=0;i<MAX-1;i++)
{
if(code[i]>='A' && code[i]<='Z')
{
int sub;
code[i]+=32;
sub=code[i]-'a';
code[i]='z'-sub;
}
else
{
int sub;
code[i]-=32;
sub=code[i]-'A';
code[i]='Z'-sub;
}
}

printf("解密文為:");
puts(code);
return 0;
}

輸入:
a
Z
b
Y
c
輸出:ZaYbZ
希望能幫助你哈^_^

❸ 怎麼用C語言編26個字母大小寫互相轉換的程序

1,首先根據ASCALL碼判斷大小寫
2IF大寫,將其ASCALL減少32並輸出;ELSE將其ASCALL增加32並輸出
具體代碼自己寫

❹ c語言中如何把第一個字母變為第二十六個字母

C語言中 char型用的是ASCII碼 也就是用整數來表是字母 65表示『A』 66表示『B』 以此類推 90表示『Z』。

c語言中的輸出函數 printf("%d",'A') 輸出的是 字母A的整數編碼 65 。

printf("%c",65); 按照字元格式 輸出的是 大寫字母A。

想print("%c",'A'+25) 就是輸出大寫字母Z。

C語言區分大小寫 小寫字母'a' 的AScII碼是 97 'a'+25 就是 『z』 122。

❺ 二十六字母大小寫c語言源代碼循環轉換

#include<stdio.h>
int main()
{
char a,c;
while(scanf("%c",&a)!=EOF)
{
getchar();
if(a>='a'&&a<='z')
{
c=a+'A'-'a';
}
if(a>='A'&&a<='Z')
{
c=a-'A'+'a';
}
printf("%c\n",c);
}
}

❻ 多個字母大小寫轉化c語言

多個字母大小寫轉化c語言,以下是連續一行字元中大小寫互換的C語言代碼:
char c;
while((c=getchar())!='\n')
{if(c>='a'&&c<='z')c-=32;
else if(c>='A'&&c<='Z')c+=32;
putchar(c);
}

❼ C語言!交換字母的編程!

trans()
{
char chIN, chOUT;

scanf("%c",&chIN);

if(chIN>=97 && chIN<=122)

chOUT = chIN - 32;

else if(chIN >= 65 && chIN<=90)

chOUT = chIN;

else

{

printf("請輸入字母");

return ;

}

printf("%c",chOUT);

}

❽ 求編一個C語言程序 實現的效果是,將26個字母頭尾對換,成為一個加密運算那種

#include <stdio.h>
int main(int argc, char *argv[])
{
char s[30];
gets(s);
for(int i=0;s[i];i++)
s[i]=122-(s[i]-97);
puts(s);
return 0;
}
/*要完成頭尾互換很簡單,只要找出當前字母和a之間的距離x,再找出距離z為x的另一個字母,這個字母就是要找的。a的ascii值為97,z的ascii值為122,所以用上面的減法就可以很容易完成。我這里只寫了小寫字母的演算法,大寫的或者大小寫混合的你自己寫寫看吧*/

❾ C語言中關於大小寫字母轉換

實現任意大小寫字母轉換。代碼如下:
#include<stdio.h>
void main()
{
char x='a';
printf("請您輸入任意大寫字母或者小寫字母x:\n");
scanf("%c",&x);
if( x>='A' && x<='Z')
{
x=x+32;
}
else
if( x>='a' && x<='z')
{
x=x-32;
}
printf("%c\n",x);
}
小寫字母轉換成大寫字母的代碼如下:
#include<stdio.h>
void main()
{
char inputch,outputch;
printf("please input one charater:");
scanf("%c",&inputch);
outputch=inputch-32;
printf("result:%c to %c\n",inputch,outputch);
}
3
大寫字母轉換成小寫字母的代碼如下:
#include<stdio.h>
void main()
{
char inputch,outputch;
printf("please input one charater:");
scanf("%c",&inputch);
outputch=inputch+32;
printf("result:%c to %c\n",inputch,outputch);
}

❿ C語言中關於字母轉換的程序設計

字母增4,其它字元保持不變。
#include <stdio.h>
void main()
{
char c;
while( (c=getchar()) !='\n')
{
if ( c >='a' && c <='z'){
c+=4;
if (c >'z') c = 'a' + c - 'z' -1;
} else if ( c>='A' && c <='Z'){
c+=4;
if (c >'Z') c = 'A' + c - 'Z' -1;
}
printf("%c",c);
}
}
==============
輸入:a->e,D->H,Z->D
輸出:e->i,H->L,D->H