本题要求编写程序,以hh:mm:ss
的格式输出某给定时间再过n
秒后的时间值(超过23:59:59就从0点开始计时)。
输入在第一行中以hh:mm:ss
的格式给出起始时间,第二行给出整秒数n
(<60)。
输出在一行中给出hh:mm:ss
格式的结果时间。
#include
int main()
{
int a,b,c;
scanf("%d:%d:%d\n",&a,&b,&c);
int m,f=0,s=0,q=0,l=0;
scanf("%d",&m);
f=a*3600+b*60+c+m; /这个代码的关键就是它,把时间换成秒为单位,然后再重新折合成时,分,秒/
s=f/3600;
q=f%3600/60;
l=f%3600%60;
if(s>=24)
{s=s-24;} /24点就用0点来记,以此类推/
printf("%02d:%02d:%02d",s,q,l);
}
本题要求编写程序,计算两个有理数的和。
输入在一行中按照a1/b1 a2/b2
的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。
在一行中按照a/b
的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。
1/3 1/6
1/2
#include
int main()
{
int a1,b1,a2,b2;
scanf("%d/%d %d/%d",&a1,&b1,&a2,&b2);
int f,h,a,b,n;
f=b1*b2;
h=a1*b2+a2*b1; /这里采用通分的办法相加/
if(h%f==0)
{printf("%d",h/f);}/这是排除整数的情况/
else
{
b=f%h;
a=h;
while(b>0)
{
n=b;
b=a%n;
a=n; /这里是找出分子分母的最大公因数,用每次相除的较小数除以余数即可/
}
printf("%d/%d",h/n,f/n);
}
}
输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。
输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd
格式的日期,“电话号码”是不超过17位的数字及+
、-
组成的字符串。
按照年龄从大到小输出朋友的信息,格式同输出。
3
zhang 19850403 13912345678
wang 19821020 +86-0571-88018448
qian 19840619 13609876543
wang 19821020 +86-0571-88018448
qian 19840619 13609876543
zhang 19850403 13912345678
#include
struct student
{
char name[100];
int a;
char b[100];
};
int main()
{
struct student s[100];
int n,i,j=0,l=0;
scanf("%d\n",&n);
for(i=0;is[j].a)
{
s[n]=s[i];
s[i]=s[j];
s[j]=s[n];
}
}
}
for(i=0;i
“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。
输入第一行给出正偶数N
(≤50),即全班学生的人数。此后N
行,按照名次从高到低的顺序给出每个学生的性别(0代表女生,1代表男生)和姓名(不超过8个英文字母的非空字符串),其间以1个空格分隔。这里保证本班男女比例是1:1,并且没有并列名次。
每行输出一组两个学生的姓名,其间以1个空格分隔。名次高的学生在前,名次低的学生在后。小组的输出顺序按照前面学生的名次从高到低排列。
8
0 Amy
1 Tom
1 Bill
0 Cindy
0 Maya
1 John
1 Jack
0 Linda
Amy Jack
Tom Linda
Bill Maya
Cindy John
#include
struct student
{
int sex;
char name[100];
int xuhao;
};
int main()
{
struct student s[100];
int n,i,f=1,j=0;
scanf("%d\n",&n);
int h=n/2;
for(i=0;i
每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。
输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号
。其中准考证号
由 16 位数字组成,座位从 1 到 N 编号。输入保证每个人的准考证号都不同,并且任何时候都不会把两个人分配到同一个座位上。
考生信息之后,给出一个正整数 M(≤N),随后一行中给出 M 个待查询的试机座位号码,以空格分隔。
对应每个需要查询的试机座位号码,在一行中输出对应考生的准考证号和考试座位号码,中间用 1 个空格分隔。
4
3310120150912233 2 4
3310120150912119 4 1
3310120150912126 1 3
3310120150912002 3 2
2
3 4
3310120150912002 2
3310120150912119 1
#include
struct student
{
long int a;/这个注意长整型就好/
int b;
int c;
};
int main()
{
struct student s[1000];
int n,M,a[1000],i,j;
scanf("%d\n",&n);
for(i=0;i