给2取余的结果除了1和0还有可能是其他?
直接输出hello world即可
#include
int main(void)
{
printf("hello world\n");
return 0;
}
题目描述有点拗口,就是跟着题目意思写一遍你会发现最后输出的就是a+b。
#include
void main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d",a+b);
}
除除余余就好了
#include
int main()
{
int T,n,m;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
if(m/10000>=n/10000)
printf("%d\n",(m/10000-n/10000)*3600+(m/100%100-n/100%100)*60+(m%100-n%100));
else
printf("%d\n",(24+m/10000-n/10000)*3600+(m/100%100-n/100%100)*60+(m%100-n%100));
}
}
也是挺简单的一道基础语法题,不知道为什么有的同学错这么多次。
四舍五入:floor(x+0.5)
#include
#include
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int a,b;
double c;
char d;
scanf("%d %d %lf %c",&a,&b,&c,&d);
printf("%.2f %d %d %d %d\n",1.*a/b,(int)floor(1.*a/b+0.5),a/b,(int)ceil(a*b*c),(int)d);
}
return 0;
}
考查循环
#include
int main()
{
int T,n,m;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
m = (1+n)%2;
printf("I hate");
while(--n)
{
(n%2==m)?printf(" that I love"):printf(" that I hate");
}
printf(" you\n");
}
}
也是考查循环,稍微复杂点
#include
int main()
{
int T,i,j,n;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
for(i=0;ifor(j=0;jprintf(" ");
for(j=0;jprintf("*");
printf("\n");
}
for(i=0;ifor(j=0;j3;j++)
printf("*");
printf("\n");
}
for(i=0;ifor(j=0;jprintf("*");
for(j=0;jprintf(" ");
for(j=0;jprintf("*");
printf("\n");
}
printf("\n");
}
}
说是最后一题,其实这题挺简单的(想出难点单总不让QAQ)
注意下化到最简即可
#include
int gcd(int a, int b)
{
return b == 0 ? a : gcd(b, a%b);
}
int main()
{
int t, a, b, c, m;
scanf("%d", &t);
getchar();
while (t--)
{
scanf("y=%d/%dx+%d\n", &a, &b, &c);
m = gcd(a, b);
m = gcd(m, c*b);
if (a / m == 1 && b / m == 1)
printf("x-y+%d=0\n", c*b / m);
else if (a / m == 1)
printf("x-%dy+%d=0\n", b / m, c*b / m);
else if (b / m == 1)
printf("%dx-y+%d=0\n", a / m, c*b / m);
else
printf("%dx-%dy+%d=0\n", a / m, b / m, c*b / m);
}
}
这题主要是记忆化搜索,有点超纲,有兴趣的同学可以研究下。
#include
#include
#include
#include
using namespace std;
int a[200][200]={0};
int d[200][200]={0};
int di[]={-1,1,0,0},dj[]={0,0,-1,1};
int r,c;
bool vis[200][200]={0};
int dp(int i,int j)
{
if(d[i][j]!=-1)return d[i][j];
int m=0;
for(int k=0 ; k<4 ; ++k)
{
int ni=i+di[k],nj=j+dj[k];
if(a[ni][nj]=0 && nj>=0 && niif(!vis[ni][nj])
{
vis[ni][nj]=1;
m=max(m,dp(ni,nj)+1);
vis[ni][nj]=0;
}
}
}
d[i][j]=m;
return m;
}
int main(void)
{
scanf("%d%d",&r,&c);
for(int i=0 ; ifor(int j=0 ; jscanf("%d",&a[i][j]);
memset(d,-1,sizeof d);
int ans=0;
for(int i=0 ; ifor(int j=0 ; jmemset(vis,0,sizeof vis);
ans=max(ans,dp(i,j));
}
printf("%d\n",ans+1);
return 0;
}