刷题日结
7-16 求符合给定条件的整数集 (15 分)
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<set>
#include<queue>
#include<cstring>
#include<cstdlib>
#include<cmath>
using namespace std;
int main()
{
int a,b,c,d;
scanf("%d",&a);
b=a+1;
c=a+2;
d=a+3;
printf("%d%d%d %d%d%d %d%d%d %d%d%d %d%d%d %d%d%d\n",a,b,c, a,b,d, a,c,b, a,c,d, a,d,b, a,d,c);
printf("%d%d%d %d%d%d %d%d%d %d%d%d %d%d%d %d%d%d\n",b,a,c, b,a,d, b,c,a, b,c,d ,b,d,a, b,d,c);
printf("%d%d%d %d%d%d %d%d%d %d%d%d %d%d%d %d%d%d\n",c,a,b, c,a,d, c,b,a, c,b,d, c,d,a, c,d,b);
printf("%d%d%d %d%d%d %d%d%d %d%d%d %d%d%d %d%d%d\n",d,a,b, d,a,c, d,b,a, d,b,c, d,c,a, d,c,b);
return 0;
}
在printf里面直接按排列出来然后输出;
当然还有其它更好的办法,参考了其他人的代码
int main()
{
int a,x,y,z;
scanf("%d", &a);
int count = 0;
for (x=a;x<a+4;x++){
for (y=a;y<a+4;y++){
for (z=a;z<a+4;z++){
if (x!=y && x!=z && y!=z) {
printf("%d%d%d", x, y, z);
count++;
if ( count%6==0 ) {
printf("\n");
} else {
printf(" ");
}
}
}
}
}
return 0;
}
7-17 爬动的蠕虫 (15 分)
#include
#include <string.h>
#include
原本的思路是用爬上的减去滑下的,然后用总长/差,然后*2.。。。。。
但是怎么都实现不了,暂时不知道什么原因
7-20 打印九九口诀表 (15 分)
#include <stdio.h>
int main(void)
{
int i, j, N;
scanf("%d", &N);
for (i = 1; i <= N; i++)
for (j = 1; j <= i; j++)
{
printf("%d*%d=%-4d", j, i, j*i);
if (i == j)
printf("\n");
}
return 0;
}
在for循环里面套用for循环,里面有个#-4d,保留4位,而在%f里面可以放在前面%4.f
7-22 龟兔赛跑 (20 分)
#include<stdio.h>
int main()
{
int T, i;
int rabbitT=0;
scanf("%d",&T);
if(T<10)
{
printf("_ %d\n",T9);
return 0;
}
rabbitT=10;
for(i=10;i<=T;i++)
{
if(i%10==0)
{
if(rabbitT9>i3 && (T-i)>=30)
i=i+29;
else if(rabbitT9>i3 && (T-i)<30)
{
i=T;
break;
}
else if(T-i>=10)
{
rabbitT+=10;
i=i+9;
}
else
{
rabbitT+=T-i;
i=T;
break;
}
}
}
if(i3>rabbitT9)
printf("@_@ %d\n",i3);
else if(i3<rabbitT9)
printf("_ %d\n",rabbitT9);
else
printf("-_- %d\n",rabbitT9);
return 0;
}
本题思路,分别计算出兔子和乌龟跑的时间然后再计算