当前位置:首页 » 编程语言 » c语言向后移四位的程序是什么
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言向后移四位的程序是什么

发布时间: 2022-09-03 01:34:22

1. 对字母进行加密,即输入4个字母,每个字母向后移4位,列如‘A’后移4位变成‘E’,下面c程序出错在哪,

#include <stdio.h>
int main()
{
int a[5];(这里错了,既然是字符,当然用char)
int i;
for (i = 0; i <= 4; i++)
scanf ("%c", a[i]);(这里错了,%c会读取回车字符(回车也算一个字符,区别于换行‘\n’)‘\r’假如你输入的是ABCD,那么存进去的就会变成A回车B回车,并且输入时的取址符号也漏了)
for (i = 0; i <= 4; i++)
a[i] = a[i] + 4;(这里错了,如果a[i]='Z'呢?那加完的字符不就不是大写英文字母了么?)
for (i = 0; i <= 4; i++)
printf ("%c", a[i]);
return 0;
}

修改后的代码
#include<stdio.h>
int main()
{
char a[5];

int i;

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

{
scanf("%c",&a[i]);

getchar(); //读取一个字符,用于抵消上一句读取字母时产生的回车

}

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

{
if(a[i] + 4 > 'Z')

{
a[i] = 'A' + a[i] + 4 - 'Z' - 1; //如果大于Z,就循环从A开始

}

else a[i] = a[i] + 4;

}

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

{
printf("%c",a[i]);
}
return 0;
}
望采纳

2. c语言写一个程序,使八位数数组前四位后四位平移交换得到一个新的数列。

#include<stdio.h>
main()
{longlongn;
while(1){
scanf("%lld",&n);
if(n>=10000000&&n<=99999999)
printf("交换后=%lld ",n%10000*10000+n/10000);
else
printf("wrong! ");
}
}

如图所示,望采纳。。。。。。

3. “对整型变量a取反后右移4位”的C语言表达式怎么写

对整型变量a取反后右移4位”的C语言表达式:
a=(~a)>>4;

4. C语言字符串加密 后移四位 并最后输入Y持续上一个过程 输入N结束

#include<stdio.h>
#include<stdlib.h>
#include"string.h"

intmain(intargc,char*argv[])
{
chars[50]={""};
scanf("%s",s);
inti;
intlen=strlen(s);
while(1)
{
for(i=0;i<len;i++)
{
intn;
if(s[i]>=65&&s[i]<=90)
{
n=s[i]+4;
if(n>90)
{
n=n-26;
}
s[i]=n;
}
elseif(s[i]>=97&&s[i]<=122)
{
n=s[i]+4;
if(n>122)
{
n=n-26;
}
s[i]=n;
}
}
printf(" %s 继续吗?(Y/N):",s);
charc;
fflush(stdin);
scanf("%c",&c);
if(c=='y'||c=='Y')
{
continue;
}
elseif(c=='n'||c=='N')
{
break;
}
}
return0;
}

5. C语言,凡是遇到字母无论大小写都向后错4位变成新的字母,书上请问那第二个if好像有点问题。。

可以这样写:
while ( (c=getchar())!='\n' ) { int n=-1;
if ( c>='a' && c<='z' ) { n=c-'a'; c='a'; }
else if ( c>='A' && c<='Z' ) { n=c-'A'; c='A'; }
if ( n>=0 ) { n+=4; n%=26; c+=n; }
printf("%c",c);

}

printf("\n");

6. C语言编程:要求输入student,将其加密,每个字母往后移四位,比如e,将其变成i,求高手解答!

摘要 您好,很高兴为您解答。

7. 将字母后移4位的c语言函数

可以参考下面的代码:

#include <stdio.h>

#include <stdlib.h>

void movefour(char *str)

{

int i,j;

char t;

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

{

t=str[strlen(str)-1];

for(j=strlen(str)-1;j>0;j--)

str[j]=str[j-1];

str[0]=t;

}

}

(7)c语言向后移四位的程序是什么扩展阅读:

C语言strcat()函数:字符串连接(拼接)

C语言isupper()函数:判断一个字符是否是大写字母

C语言isspace()函数:判断一个字符是否是空白符

C语言isprint()函数:判断一个字符是否是可打印字符

C语言islower()函数:判断一个字符是否是小写字母

C语言ldexp()函数:返回x乘以2的exponent次方(次幂)的值

C语言isalnum()函数:判断一个字符是否是字母或者数字

8. C语言编程:要求输入student,将其加密,每个字母往后移四位,比如e,将其变成i,求高手解答!谢谢!

是的,就是设置个char数组,比如char student[4]={0};char strtemp[4];
然后将起赋值为你想要的值,这就是加密前,加密的话就:
for(int i=0;i<sizeof(student);i++)
strtemp[i] = student[i]+4;
得到的就是你要的加密后的组合了,解密同样,直接每个指减4就对了

9. 输入10个数据并存放到一维数组中,将这个数组循环后移4次,并显示每次移动的结果(用c语言做)

看一下这个程序,y[x[i]]++;
printf("%d\n",y[3]);

y[
x[i]
]
,
y[3]
实际上要求的是x[
i
]
=
3的个数。

y[4]=0既是y[4]={0,0,0,0};

1
i=0,
x[0]=2,y[2]=1
(y[2]++);

2.
i=1;x[1]=3,y[3]=1;

3.i=2;x[2]=0.y[0]=1;

4.i=3;x[3]=3;y[3]=1;

5.i=4;x[4]=0;y[0]=1;

6.i=5;x[5]=2;y[2]=1;

7.i=6;x[6]=3;y[3]=1;

8.i=7;x[7]=2;u[2]=1;

9.i=8;x[8]=1;y[1]=1;

10.i=9;x[9]=3;y[3]=1;

运行完以后,你再看看y[3]的个数就是
4

10. 急求C语言程序 随便输入一个字母,运行结果向后移四位。要求能够循环

#include "stdio.h"
#include "windows.h"

main()
{
char c;
printf("input a char:");
scanf("%c",&c);
if(!isalpha(c))
{
printf("input error!\n");
return;
}
printf("%c\n",isalpha(c+4)? c+4:c-22);
getchar();
}