編程一v三
發布時間: 2023-07-16 20:25:54
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
intThree_Parties(char*data,intdata_length)
{
typedefunsignedcharUCHAR;
inti,index;
char*dict;
UCHAR*polybius_index;
//檢查訊息的合法性
for(i=0;i<data_length;i++)
{
if(data[i]>='a'&&data[i]<='z')
{
//小寫轉化為大寫
data[i]&=0xDF; //小寫字母第5位置為0即變為大寫
//data[i]-='a'-'A';//這種寫法也可以,但沒有上一種效率高
}
elseif(data[i]<'A'||data[i]>'Z')
{
//包含非字母的字元
return1;
}
}
dict="LEOCBFQSTNARGHJUWXDVIKMPYZ/";
polybius_index=(UCHAR*)malloc(3*data_length);
for(i=0;i<data_length;i++)
{
index=strchr(dict,data[i])-dict;
polybius_index[i]=index/9;
index%=9;
polybius_index[i+data_length]=index/3;
polybius_index[i+2*data_length]=index%3;
}
for(i=0;i<3*data_length;i+=3)
{
index=polybius_index[i]*9+polybius_index[i+1]*3+polybius_index[i+2];
data[i/3]=dict[index];
}
free(polybius_index);
return0;
}
intmain(intargc,char*argv[])
{
chardata[]="helloworld";
if(Three_Parties(data,strlen(data))==0)
{
printf("%s",data);
}
else
{
printf("inputerror");
}
return0;
}
//加密部分還可以改成建索引表,那樣效率會更高,但代碼稍微復雜些。
㈡ ev3編程和scratch的區別
編程方式不同:scratch編程機器人是基於Scratch程序進行編程。ev3編程是通過樂高本身的編程系統進行編程。模型運動不同:scratch編程機器人是直接在電腦上操作執行,讓機器人進行運動。ev3編程要用樂高積木做出實體模型,放上主控制器,再通過編寫程序,讓機器人進行運動。
編程方式不同:scratch編程機器人是基於Scratch程序進行編程。ev3編程是通過樂高本身的編程系統進行編程。
模型運動不同:scratch編程機器人是直接在電腦上操作執行,讓機器人進行運動。ev3編程要用樂高積木做出實體模型,放上主控制器,再通過編寫程序,讓機器人進行運動。
適用群體不同:scratch編程機器人的適用群體為專業技術程序員。ev3編程的適用群體為低齡兒童。
熱點內容