Lab3:数据处理基本方法及创新应用(基础)
- ++x 是先进行 x=x+1,再返回 x;x++ 是先返回 x,再进行 x++
- 55/7=7,因为是整型运算;55/7.0=7.85714286,因为是浮点型运算
- 'b'<'a' 返回值为 1;
x>y 返回值在 x>y时为 1,x<=y 为0 - x>0 时返回 x,否则返回 -1
- x<<2 == x*4
- 8=1000,9=1001,z=8&9=1000=8
- 66 && 88 返回值为 1,是逻辑与;66&88返回值是两者按位与的结果(经上机运算是64),是位运算
- x=8 是赋值语句,返回值为8;x == 8是判断语句,返回值为x == 8的真值
(1)是(2)的子问题,所以只给出(2)写法
代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int INF = 0x3f3f3f3f;
inline ll read()
{
ll ret=0;char ch=' ',c=getchar();
while(!(c>='0'&&c<='9')) ch=c,c=getchar();
while(c>='0'&&c<='9') ret=(ret<<1)+(ret<<3)+c-'0',c=getchar();
return ch=='-'?-ret:ret;
}
int main()
{
int n=read();
int a[n+2],maxn=-INF,minn=INF;
for(int i=1;i<=n;i++)
{
a[i]=read();
minn=min(minn,a[i]);
maxn=max(maxn,a[i]);
}
printf("%d %d",minn,maxn);
return 0;
}
输出
代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int INF = 0x3f3f3f3f;
inline ll read()
{
ll ret=0;char ch=' ',c=getchar();
while(!(c>='0'&&c<='9')) ch=c,c=getchar();
while(c>='0'&&c<='9') ret=(ret<<1)+(ret<<3)+c-'0',c=getchar();
return ch=='-'?-ret:ret;
}
int main()
{
for(int i=1;i<=5;i++)
{
int x=read();
switch(x/10)
{
case 10: cout<<"A+"<<endl;break;
case 9: cout<<"A"<<endl;break;
case 8: cout<<"B"<<endl;break;
default: cout<<"C"<<endl;
}
}
return 0;
}
输出
代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int INF = 0x3f3f3f3f;
inline ll read()
{
ll ret=0;char ch=' ',c=getchar();
while(!(c>='0'&&c<='9')) ch=c,c=getchar();
while(c>='0'&&c<='9') ret=(ret<<1)+(ret<<3)+c-'0',c=getchar();
return ch=='-'?-ret:ret;
}
char s[10];
int buc[30];
bool prime(int x)
{
if(x==1||!x) return false;
for(int i=2;i<=sqrt(x);i++)
if(x%i==0) return false;
return true;
}
int main()
{
cin>>s;
int len=strlen(s);
for(int i=0;i<len;i++)
buc[s[i]-'a'+1]++;
for(int i=1;i<=26;i++)
{
if(prime(buc[i])) printf("%c\n",('a'+i-1));
}
return 0;
}
输出
代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int INF = 0x3f3f3f3f;
inline ll read()
{
ll ret=0;char ch=' ',c=getchar();
while(!(c>='0'&&c<='9')) ch=c,c=getchar();
while(c>='0'&&c<='9') ret=(ret<<1)+(ret<<3)+c-'0',c=getchar();
return ch=='-'?-ret:ret;
}
int main()
{
int n=read();
int a[20];
int cnt=0,x=n;
while(x)
{
a[++cnt]=x%10;
x/=10;
}
for(int i=cnt;i>=1;i--) cout<<a[i];
puts("");
int m=0;
for(int i=cnt;i>=1;i--)
{
m+=a[i];
if(i!=1) m*=10;
}
cout<<m;
return 0;
}
输出
总结
Lab3 的题目整体比较简单,所以没有什么可说的。思考的都在代码中体现了,就不过多赘述了。