- C++
20240221 信奥寒假集训上午班---字符串练习作业
- 2024-2-21 11:46:37 @
第一题:单词翻转
第二题:最长连续公共字符串的长度
第三题:潜伏者
第四题:进制转换
#include<iostream>
#include<cctype>
using namespace std;
int main()
{
int n,m,i,sum=0,time=1;
char num1[30]={0};
int num2[30]={0};
int num3[30]={0};
cin>>n>>num1>>m;
for(i=0;num1[i]!=0;i++)
{
if(isdigit(num1[i]))//isdigit(num1[i])等同于num1[i]>='0'&&num1[i]<='9'
{
num2[i]=num1[i]- '0';
}
else
{
num2[i]=(num1[i]- 'A')+10;
}
}
int len1=i;
for(i=len1-1;i>=0;i--)
{
sum+=num2[i]*time;
time*=n;
}
int len2=0;
while(sum>=1)//短除法,把sum转换m进制保存到num3数组中
{
num3[len2]=sum%m;
sum/=m;
len2++;
}
for(int i=len2 - 1;i>=0;i--)//输出num3中保存的m进制数,如果大于等于10 输出字母
{
if(num3[i]<10)
{
cout<<num3[i];
}else{
cout<<(char)num3[i]-10+ 'A';
}
}
return 0;
}
21 条评论
-
xinao017 LV 7 @ 2024-2-23 9:13:13
-
2024-2-23 9:11:28@
-
2024-2-23 9:09:45@
-
2024-2-23 9:09:13@
-
2024-2-23 9:07:05@
-
2024-2-23 9:05:17@
-
2024-2-23 9:04:35@
-
2024-2-22 11:26:55@
-
2024-2-22 11:21:55@
#include<bits/stdc++.h> using namespace std; const int N = 1e6+10; char yuan[100]={0}; char mi[100]={0}; char R[100]={0}; int gl[26]; //gl数组下标代表着密文,0代表A,1代表B,依次类推25代表Z //gl数组gl[0]用来保存密文A对应的原文字符顺序, int main(){ cin>>mi>>yuan>>R; int len=strlen(yuan); int lenr=strlen(R); int flag=0; for(int i=0;i<=len-1;i++){ if(gl[mi[i]-'A']==0){ gl[mi[i]-'A']=yuan[i]-'A'; printf("密文序号:%d 原文序号:%d\n",mi[i]-'A',yuan[i]-'A'); }else{ if(gl[mi[i]-'A']!=yuan[i]-'A')flag=1; } } // for(int i=0;i<=25;i++){ // if(gl[i]==0)flag=1; // } if(flag==0){ for(int i=0;i<=lenr-1;i++){ cout<<(char)(gl[R[i]-'A']+'A'); } } return 0; }
-
2024-2-22 10:40:22@
-
2024-2-22 10:26:53@
最长连续公共字符串的长度带注释
-
2024-2-22 10:14:04@
单词翻转带注释
-
2024-2-22 9:22:29@
-
2024-2-22 9:21:13@
-
2024-2-22 9:10:38@
-
2024-2-22 9:07:36@
第一题
第二题
第三题
-
2024-2-22 9:06:30@
-
2024-2-22 9:05:33@
-
2024-2-22 9:05:25@
-
2024-2-22 9:04:27@
-
2024-2-22 9:04:09@
- 1