当前位置:网站首页>Codeup刷题笔记-简单模拟
Codeup刷题笔记-简单模拟
2022-08-03 22:01:00 【CQ第一深情】
1、A+B
题目描述
给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算A+B的结果,并以正常形式输出。
输入
输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。
输出
请计算A+B的结果,并以正常形式输出,每组数据占一行。
-234,567,890 123,456,789
1,234 2,345,678
-111111101
2346912
#include<iostream>
using namespace std;
#include<cstring>
int main()
{
char s1[20],s2[20];
int len1,len2;
int a,b;
while(scanf("%s%s",s1,s2)!=EOF)
{
a=b=0;
len1=strlen(s1);
len2=strlen(s2);
for(int i=0;i<len1;i++)
{
if(s1[i]>='0'&&s1[i]<='9')
{
a=a*10+s1[i]-'0';//字符数组转数字
}
}
if(s1[0]=='-')//负数取反
{
a=-a;
}
for(int i=0;i<len2;i++)
{
if(s2[i]>='0'&&s2[i]<='9')
{
b=b*10+s2[i]-'0';
}
}
if(s2[0]=='-')
{
b=-b;
}
cout<<a+b<<endl;
}
return 0;
}
2、特殊乘法
题目描述
写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 14 +15 +24 +25 +34+35
输入
两个小于1000000000的数
输出
输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。
24 65
42 66666
3 67
66
180
39
#include<iostream>
using namespace std;
#include<cstring>
int main()
{
char s1[20],s2[20];
int len1,len2;
long sum;
while(scanf("%s%s",s1,s2)!=EOF)
{
sum=0;
len1=strlen(s1);
len2=strlen(s2);
for(int i=0;i<len1;i++)
{
for(int j=0;j<len2;j++)
{
if(isdigit(s1[i])&&isdigit(s2[j]))//判断数字
{
sum+=(s1[i]-'0')*(s2[j]-'0');
}
}
}
//一正一负的情况结果是负数
bool flag= (s1[0]=='-'&&s2[0]!='-')||(s1[0]!='-'&&s2[0]=='-') ? true:false;
if(flag)
{
cout<<-sum<<endl;
}else
{
cout<<sum<<endl;
}
}
return 0;
}
3、比较奇偶数个数
题目描述
第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。
输入
输入有多组数据。
每组输入n,然后输入n个整数(1<=n<=1000)。
输出
如果偶数比奇数多,输出NO,否则输出YES。
1
67
7
0 69 24 78 58 62 64
YES
NO
#include<iostream>
using namespace std;
bool isOdd(int num)
{
return num%2==0 ? true:false;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int num,os=0,js=0;
for(int i=0;i<n;i++)
{
scanf("%d",&num);
if(isOdd(num))
{
os++;
}else
{
js++;
}
}
if(js>os)
{
cout<<"YES"<<endl;
}else
{
cout<<"NO"<<endl;
}
}
return 0;
}
4、部分A+B
题目描述
正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。
现给定A、DA、B、DB,请编写程序计算PA + PB。
输入
输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。
输出
在一行中输出PA + PB的值。
3862767 6 13530293 3
3862767 1 13530293 8
399
0
#include<iostream>
#include<cstring>
using namespace std;
int count(string s,int x)
{
int cnt=0;
for(char c:s)
{
if(c-'0'==x)cnt++;
}
return cnt;
}
int toSum(int x,int num)
{
int sum=0;
for(int i=0;i<num;i++)
{
sum=sum*10+x;
}
return sum;
}
int main()
{
string sa,sb;
int a,b;
while(cin>>sa>>a>>sb>>b)
{
int cntA=count(sa,a);
int cntB=count(sb,b);
int pa=toSum(a,cntA);
int pb=toSum(b,cntB);
cout<<pa+pb<<endl;
}
return 0;
}
5、查找学生信息
题目描述
输入N个学生的信息,然后进行查询。
输入
输入的第一行为N,即学生的个数(N<=1000)
接下来的N行包括N个学生的信息,信息格式如下:
01 李江 男 21
02 刘唐 男 23
03 张军 男 19
04 王娜 女 19
然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下:
02
03
01
04
输出
输出M行,每行包括一个对应于查询的学生的信息。
如果没有对应的学生信息,则输出“No Answer!”
#include<iostream>
using namespace std;
#include<cstring>
struct Student
{
string id;
string name;
string sex;
int age;
};
int main()
{
struct Student stu[1010];
int n;
string id;
string name;
string sex;
int age;
int m;
while(scanf("%d",&n)!=EOF)//实测有多组测试数据,题目未说
{
for(int i=0;i<n;i++)
{
cin>>id>>name>>sex>>age;
stu[i].id=id;
stu[i].name=name;
stu[i].sex=sex;
stu[i].age=age;
}
cin>>m;
string s;
for(int i=0;i<m;i++)
{
bool flag=false;
cin>>s;
int j;
for(j=0;j<n;j++)
{
if(s==stu[j].id)
{
flag=true;
break;
}
}
if(flag)
{
cout<<stu[j].id<<" "<<stu[j].name<<" "<<stu[j].sex<<" "<<stu[j].age<<endl;
}else
{
cout<<"No Answer!"<<endl;
}
}
}
return 0;
}
边栏推荐
- DO280管理和监控OpenShift平台--资源限制
- What is the role and difference between buildscript and allprojects?
- Nacos配置文件管理、微服务获取Nacos配置文件
- 超级实用网站+公众号合集
- D - Project Planning--二分
- 《强化学习周刊》第56期:GraphIRL、REDEEMER & 眼科强化学习的潜在研究
- IO thread process -> thread synchronization mutual exclusion mechanism -> day6
- 测试2年6.5K,每天“911”,我的心酸经历只有我自己知道···
- E - Swap
- 【进阶自动化测试】一文1000教你如何用Postman做接口自动化测试
猜你喜欢
随机推荐
YOLO之父宣布退出CV界,坦言无法忽视自己工作带来的负面影响
CAS:1797415-74-7_TAMRA-Azide-PEG-Biotin
Soft exam system analysts note experience sharing: theory of protracted war
从0到1看支付
LVS负载均衡集群
480. Sliding Window Median
线上服务器老是卡,该如何优化?
基于支持向量机的网络⼊侵检测系统的全面调查和分类
Pay from 0 to 1
FVCOM三维水动力、水交换、溢油物质扩散及输运数值模拟丨FVCOM模型流域、海洋水环境数值模拟方法
函数,递归以及dom简单操作
软考系统分析师备考经验分享:论持久战
21天打卡挑战学习MySQL—Day第一周 第一篇
线程池的高级应用技巧核心解读
编译器工程师眼中的好代码(1):Loop Interchange
CAS:122567-66-2_DSPE-生物素_DSPE-Biotin
CAS: 773888-45-2_BIOTIN ALKYNE_生物素-炔基
HCIP第十六天
ValidationError: Progress Plugin Invalid Options
CAS:122567-66-2_DSPE-Biotin_DSPE-Biotin