当前位置:首页 » 编程语言 » 二十六字母互换的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