if(s[i][j]<=50)
{
area++;
if(s[i-1][j]>50||s[i+1][j]>50||s[i][j-1]>50||s[i][j+1]>50)
permit++;
}
printf("%d%d\n",area,permit);
}
/*八:
简单密码
描述JuliusCaesar曾经使用过一种很简单的密码。
对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文。
比如字符A用F来代替。
如下是密文和明文中字符的对应关系。
密文
ABCDEFGHIJKLMNOPQRSTUVWXYZ
明文
VWXYZABCDEFGHIJKLMNOPQRSTU
你的任务是对给定的密文进行解密得到明文。
你需要注意的是,密文中出现的字母都是大写字母。
密文中也包括非字母的字符,对这些字符不用进行解码。
输入输入中的测试数据不超过100组。
每组数据都有如下的形式,而且各组测试数据之间没有空白的行。
一组测试数据包括三部分
1.起始行-一行,包括字符串"START"
2.密文-一行,给出密文,密文不为空,而且其中的字符数不超过200
3.结束行-一行,包括字符串"END"
在最后一组测试数据之后有一行,包括字符串"ENDOFINPUT"。
输出对每组数据,都有一行输出,给出密文对应的明文。
样例输入
START
NSBFW,JAJSYXTKNRUTWYFSHJFWJYMJWJXZQYTKYWNANFQHFZXJX
END
START
NBTZQIWFYMJWGJKNWXYNSFQNYYQJNGJWNFSANQQFLJYMFSXJHTSINSWTRJ
END
START
IFSLJWPSTBXKZQQBJQQYMFYHFJXFWNXRTWJIFSLJWTZXYMFSMJ
END
ENDOFINPUT
样例输出
INWAR,EVENTSOFIMPORTANCEARETHERESULTOFTRIVIALCAUSES
IWOULDRATHERBEFIRSTINALITTLEIBERIANVILLAGETHANSECONDINROME
DANGERKNOWSFULLWELLTHATCAESARISMOREDANGEROUSTHANHE*/
#include
#include
intmain()
{
chars[201],end[201];
charb[27]="VWXYZABCDEFGHIJKLMNOPQRSTU";
inti,len;
gets(s);
while(strcmp(s,"START")==0)
{
gets(s);
len=strlen(s);
for(i=0;i{
if(s[i]>='A'&&s[i]<='Z')
s[i]=b[s[i]-'A'];
}
gets(end);
printf("%s\n",s);
gets(s);
}
}
第三章
一:
十进制到八进制
#include
intmain()
{
intn,i,j;
ints[200];
scanf("%d",&n);
i=0;
while(n>0)
{
s[i]=n%8;
n=n/8;
i++;
}
for(j=i-1;j>=0;j--)
{
printf("%o",s[j]);
}
}
二:
八进制到十进制
#include
#include
intmain()
{
inti,len,ret;
chars[100];
ret=0;
scanf("%s",&s);
len=strlen(s);
for(i=0;i{
ret*=8;
ret+=s[i]-'0';
}
printf("%d\n",ret);
}
三:
二进制到十六进制
#include
#include
charalp[]="0123456789ABCDEF";
intmain()
{
intresult=0,ret;
inti,len,t,j,k,p;
chara[10002];
charres[100];
scanf("%d",&t);
getchar();
while(t--)
{
ret=0;
gets(a);
len=strlen(a);
for(i=0;i{
ret*=2;
ret+=a[i]-'0';
}
j=0;
while(ret>0)
{
result=ret%16;
res[j]=alp[result];
ret=ret/16;
j++;
}
for(i=j-1;i>=0;i--)
printf("%c",res[i]);
putchar('\n');
}
}
#include
#include
charalp[]="0123456789ABCDEF";
intmain(void)
{
intresult=0,ret;
inti,len,t,j,k,p;
chara[10002];
charres[100];
scanf("%d",&t);
getchar();
while(t--)
{
ret=0;
gets(a);
len=strlen(a);
strrev(a);
j=0;
for(i=0;i{
result=0;
p=1;
for(k=i;k
result+=(a[k]-'0')*p;
res[j++]=alp[result];
}
for(i=j-1;i>=0;i--)
printf("%c",res[i]);
putchar('\n');
}
}
/*m进制到n进制*/
#include
#include
charapl[]="0123456789ABCDEF";
intmain()
{
intret,result;
intm,n,t,i,j,len;
chara[100002];
charb[100002];
scanf("%d",&t);
getchar();
while(t--)
{
scanf("%d%d",&m,&n);
ret=0;
scanf("%s",a);
len=strlen(a);
for(i=0;i{
if(a[i]-'0'>=m)
continue;
ret*=m;
ret+=a[i]-'0';
}
j=0;
while(ret>0)
{
result=ret%n;
b[j]=apl[result];
ret=ret/n;
j++;
}
for(i=j-1;i>=0;i--)
{
printf("%c",b[i]);
}
putchar('\n');
}
}
/*将字符串倒着输出*/
#include
#include
intmain()
{
intt;
chara[10002];
scanf("%d",&t);
getchar();
while(t--)
{
gets(a);
strrev(a);
printf("%s\n",a);
}
}
第八章
一:
计算对数
#include
#include
intmain()
{
inta,b;
intx,n;
doubletemp;
scanf("%d",&n);
while(n--)
{
scanf("%d%d",&a,&b);
temp=log10(b)*1.0/log10(a);
x=(int)temp;
printf("%d\n",x);
}
}
文本仅供参考,感谢下载!
文本仅供参考,感谢下载!