-1
私はASCIIの値を持つ整数配列を持っていると言います。整数配列からCプログラミングの文字列へ
int stringAscii = {"072", "101", "108", "108", "111", "032",
"087", "111", "114", "108", "100"};
と私は文字にASCII値を変換した文字列にそれらを組み合わせたい:
char *string = stringAsciiToString(stringAscii);
printf("Output -> '%s'", string);
//出力 - あなたがそのようになるだろうどのように> 'のHello World'
関数?これは私がこれまでに得たものです。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
long int p,q,n,t,flag,e[100],d[100],temp[100],j,m[100],en[100],i;
char msg[100];
int prime(long int);
void ce();
long int cd(long int);
void encrypt();
void decrypt();
int main()
{
p = 53;
q = 61;
printf("\nENTER MESSAGE\n");
fflush(stdin);
scanf("%s",msg);
for(i=0;msg[i]!=NULL;i++)
m[i]=msg[i];
n=p*q;
t=(p-1)*(q-1);
ce();
encrypt();
decrypt();
strcpy(msg, "");
for(i=0;en[i]!=-1;i++) {
strcpy(msg, concat(msg, en[i]));
}
printf("%s", msg);
return 0;
}
char* concat(const char *s1, const char *s2) {
char *result = malloc(strlen(s1)+strlen(s2)+1); //+1 for the zero-terminator
strcpy(result, s1);
strcat(result, s2);
return result;
}
int prime(long int pr)
{
int i;
j=sqrt(pr);
for(i=2;i<=j;i++)
{
if(pr%i==0)
return 0;
}
return 1;
}
void ce()
{
int k;
k=0;
for(i=2;i<t;i++)
{
if(t%i==0)
continue;
flag=prime(i);
if(flag==1&&i!=p&&i!=q)
{
e[k]=i; flag=cd(e[k]);
if(flag>0)
{
d[k]=flag;
k++;
}
if(k==99)
break;
}
}
}
long int cd(long int x)
{
long int k=1;
while(1)
{
k=k+t;
if(k%x==0)
return(k/x);
}
}
void encrypt()
{
long int pt,ct,key=e[0],k,len;
i=0;
len=strlen(msg);
while(i!=len)
{
pt=m[i];
pt=pt-96;
k=1;
for(j=0;j<key;j++)
{
k=k*pt;
k=k%n;
}
temp[i]=k;
ct=k+96;
en[i]=ct;
i++;
}
en[i]=-1;
printf("\nTHE ENCRYPTED MESSAGE IS\n");
for(i=0;en[i]!=-1;i++)
printf("%c",en[i]);
}
void decrypt()
{
long int pt,ct,key=d[0],k;
i=0;
while(en[i]!=-1)
{
ct=temp[i];
k=1;
for(j=0;j<key;j++)
{
k=k*ct;
k=k%n;
}
pt=k+96;
m[i]=pt;
i++;
}
m[i]=-1;
printf("\nTHE DECRYPTED MESSAGE IS\n");
for(i=0;m[i]!=-1;i++)
printf("%c",m[i]);
}
どのようにでしょうか?これはFree.comのためのCodersではありません。 – unwind
C配列についてはhttps://en.wikibooks.org/wiki/C_Programming/Arraysを参照してください。データ型に関するセクションもあります。 – Andrew
あなたが持っているものと試したものの[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)を作成してください。次に、それがどのように動作するかどうかを教えてください。 –