編程異位
直接對字元串按字元加減密鑰的位數就可以了。
#include
<iostream.h>
#define
MAX
1000
//加密
char
*
Encryption(char
*E,int
Key)
{
for(int
i=0;*(E+i);i++)
{
*(E+i)
+=
Key;
if(*(E+i)>'z')
*(E+i)
-=
('z'-'a')+1;
}
return
E;
}
//解密
char
*
Decryption(char
*E,int
Key)
{
for(int
i=0;*(E+i);i++)
{
*(E+i)
-=
Key;
if(*(E+i)<'a')
*(E+i)
+=
('z'-'a')+1;
}
return
E;
}
void
main()
{
char
a[MAX];
int
key;
cout<<"輸入字元串:"<<endl;
cin
>>
a;
cout<<"輸入密鑰:"<<endl;
cin
>>key;
cout<<"加密輸出:"<<Encryption(a,key)<<endl;
cout<<"解密輸出:"<<Decryption(a,key)<<endl;
}
B. 關於C++編程中的 循環移位問題(急啊)
voidrotation(intarr[],intlen,intoffset){
int*temp=newint[len];
//如果offset比數組還長,取余
offset%=len;
//做rotation
inti=0;
intj=offset;
while(i!=len){
temp[i++]=arr[j++];
if(j==len)j%=len;
}
//最後拷回去
for(inti=0;i<len;++i){
arr[i]=temp[i];
}
//new完要delete
delete[]temp;
}
C. c語言 >>移位問題
注意:這里不是表示 移位
而是表示讀取
相當於C語言的 gets()函數
或者類似於scanf()
你這個就可以實現,有什麼問題?
D. 西門子PLC編程中的移位指令有什麼作用,感覺好抽象,專家解釋下
做數據處理,比如生產線上廢品的檢測,從進口剔廢口的距離,就可以用移位處理
E. c語言編程:字元串替換與移位
幫你寫好了
#include<stdio.h>
#include<string.h>
#define size 100
void main()
{
char a[size],temp;
int i, len;
printf("輸入字元串:\n");
gets(a);
printf("原來的字元串為:\n");
puts(a);
len = strlen(a);
for(i=0; i<len; i++)
{
if(a[i]=='a')
{
a[i]='e';
}
else if(a[i]=='e')
{
a[i]='a';
}
else if(a[i]=='d')
{
a[i]='t';
}
else if(a[i]=='t')
{
a[i]='d';
}
}
printf("轉換後的字元串為:\n");
puts(a);
temp = a[len-1];
for(i=1; i<len; i++)
{
a[len-i] = a[len-i-1];
}
a[0] = temp;
printf("循環右移1位後字元串為:\n");
puts(a);
}
F. C++編程定義檢驗是否為字母異位詞的函數,求助,應該怎麼打啊0-0~題目如圖
#include<iostream>
#include<string>
usingnamespacestd;
boolisAnagram(stringstr1,stringstr2);
intmain()
{
stringstr1,str2;
getline(cin,str1);
getline(cin,str2);
cout<<boolalpha<<isAnagram(str1,str2)<<endl;
return0;
}
boolisAnagram(stringstr1,stringstr2)
{
intlen1=str1.length();
intlen2=str2.length();
if(len1!=len2) returnfalse;
boolfind;
for(inti=0;i<len1;i++)
{
find=false;
for(intj=0;j<len2;j++)
{
if(str1[i]==str2[j])
{
str1[i]='