第三次测试
来源:互联网 发布:windows获得system 编辑:程序博客网 时间:2024/06/05 15:16
第三次测试
前2两次做的很积极的,这次放假端午回家了,就没有时间做,下午来到学校后把第三次的做完啦~。
1173 Problem A:弓型矩阵
Description
输出n*m的弓型矩阵
Input
多组测试数据
每组输入2个整数 n和m(不大于20)
Output
输出n*m的弓型矩阵,要求左上角元素是1,(每个元素占2个位置,靠右)
Sample Input
4 3
Sample Output
1 2 3 6 5 4 7 8 912 11 10
一:源代码
#include<stdio.h>
int main()
{
int n,m,i,j,a[20],s;
while(scanf("%d%d",&n,&m)!=EOF)
{
s=0;
for(i=1;i<=n;i++)
{
a[i]=i;
if((i%2)==0)
{
s=s+m;
for(j=m;j>0;j--)
{
printf("%2d ",s--);
}
printf("\n");
s=s+m;
}
else
{
for(j=0;j<m;j++)
{
s++;
printf("%2d ",s);
}
printf("\n");
}
}
}
return 0;
}
二:结果截图
三:思路和感受
这个题目其实不难,主要是我之前测试的时候只输入了一次,所以多次输入正不正确这个没有去判断,导致提交错了好多次,后来是由于(每个元素占2个位置,靠右)这个要求,写了好几种,最后才正确的用printf("%2d ",s); 把它表达出来了。
1174 Problem B:求2个时间之间的分钟数
Description
输入2个时间,求2个时间之间的分钟数(不包括自身),为了简单之见假设这2个时间在同一天且前面的时间较小
Input
输入2行,分别是2个时间,时间小时与分钟之间用:隔开
Output
输出之间的分钟数
Sample Input
12:1212:16
Sample Output
3
一:源代码
#include<stdio.h>
int main()
{
int h1,h2,m1,m2,s;
char c;
scanf("%d%c%d",&h1,&c,&m1);
scanf("%d%c%d",&h2,&c,&m2);
if(h1==h2&&m2>=m1)
s=m2-m1-1;
else if(h1<h2&&m2<m1)
s=60-m1+m2-1;
else if(h1<h2&&m2>=m1)
s=(h2-h1)*60+m2-m1-1;
printf("%d\n",s);
return 0;
}
二:结果截图
三:思路和感受
这个题目其实还没有第二次测试的那个求时间的题目难,那个题目还要计算日期,算法是一样的,只是在要求输入12:12的时候小小的纠结了一下,最后才决定 用%c 来输入: 。
1175 Problem C:鸡兔同笼
Description
鸡和兔关在同一笼子中,已知鸡和兔的总数量n和腿的总数量m,求鸡的数量和兔的数量。
Input
输入2个整数分别是n和m
Output
输出鸡的数量和兔的数量,中间用空格隔开,如果无解则输出No
Sample Input
14 32
Sample Output
12 2
一:源代码
#include<stdio.h>
int main()
{
int n,m,a,b;
while(scanf("%d%d",&n,&m)!=EOF)
{
a=2*n-m/2;
b=m/2-n;
if(m>=2*n&&m<=4*n)
printf("%d %d\n",a,b);
else
printf("No\n");
}
return 0;
}
二:结果截图
三:实验思路和感受
这个题目真心不难,只要列出 a+b=n,2a+4b=m,求出a,b即可,然后要求无解输出NO,就只要保证a,ba 都大于0即可。
1177 Problem E:汉诺塔问题
Description
汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
Input
输入圆盘数n
Output
输出搬盘子的次数
Sample Input
12
Sample Output
13
一:源代码
#include<stdio.h>int main(){int n,i,s;while(scanf("%d",&n)!=EOF){s=1;if(n==1)printf("1\n");else{for(i=1;i<=n;i++){s=s*2;}printf("%d\n",s-1);}}return 0;}
二:结果截图
三:思路和感受
这个是经典的汉诺塔,之前还在用上学期的知识疯狂的写,结果发现不知道在哪里表示搬的次数,不知道在哪里n++,后来想起来上学期讲过规律就是搬的次数是2的n次方-1;然后直接写了这个求结果的程序,结果过了。。。。
看来ACM注重的不是过程,而是结果。
Problem D:统计单词个数
Description
输入一行字符(少于80个字符),以回车结束,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。
Input
输入一字符串,以回车结束。
Output
输出该字符串中单词的个数
Sample Input
This is a c program.
Sample Output
5
一:源代码
#include<stdio.h>
int main()
{
char s[80],q;
int i,k,n;
while(gets(s))
{
n=0,k=0;
for(i=0;(q=s[i])!='\0';i++)
{
if(q==' ')
k=0;
else if(k==0)
{
k=1;
n++;
}
}
printf("%d\n",n);
}
return 0;
}
二:结果截图
三:思路和感受
这个题目算是这次测试里面比较困难的一个题目,for(i=0;(q=s[i])!='\0';i++) 判断句子是否到末尾,k=1,就是归位,回到初始值,对于输入的一段字符进行判断,要是空格就记为0, else if(k==0)不是空格就判断之前有没有空格,有空格就单词数记为1,然后直到末尾为休止符'\0',然后输出个数。
感觉这次的题目还是比较简单的,不算太难,只要写好格式就好,加油~
- 第三次测试
- 广州第三次测试交流会
- 第三次测试沙龙总结
- 传智播客第三次测试总结
- 测试,迫不得已的第三次迁徙...
- 测试,迫不得已的第三次迁徙...
- 测试,迫不得已的第三次迁徙...
- 测试,迫不得已的第三次迁徙...
- 软件测试技术第三次作业
- 第三次
- 第三次
- 第三次
- 广州软件测试交流会第三次活动公告
- USTH-第三次测试-1000-最小长方形
- USTH-第三次测试-1001-How many ways
- MYC归来(2)第三次测试
- 广州软件测试交流会第三次活动报道及资料下载
- 华为N8500集群NAS系统第三次刷新SPEC测试记录
- 《大话设计模式》之--第10章 考题抄错会做也白搭----模板方法模式
- 《大话设计模式》之--第11章 无熟人难办事?----迪米特法则
- 《大话设计模式》之--第12章 牛市股票还会亏钱?----外观模式
- 《大话设计模式》之--第13章 好菜每回味不同----建造者模式
- 《大话设计模式》之--第14章 老板回来,我不知道----观察者模式
- 第三次测试
- 《大话设计模式》之--第15章 就不能不换DB吗?----抽象工厂模式
- 《大话设计模式》之--第16章 无尽加班何时休----状态模式
- MediaStore 与Media.EXTERNAL_CONTENT_URI
- 《大话设计模式》之--第17章 在NBA我需要翻译----适配器模式
- Android删除相册得最近拍得一张图片
- 虚拟键盘指示灯
- OpenSessionInViewFilter 以及session依然closed的解决方法
- 从自联想神经网络到深度神经网络