给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20
2006/3/12
Sample Output
20
71
知识点:29天闰月的判断:1.能被400整除
2.能被4整除,不能被400整除
C语言版:
#include<stdio.h>
int main()
{
int d,b,c;
int a[13];
int i;
int sum=0;
a[1]=31,a[2]=28,a[3]=31,a[4]=30,a[5]=31,a[6]=30,a[7]=31,a[8]=31,a[9]=30,a[10]=31,a[11]=30,a[12]=31;
while(scanf("%d/%d/%d",&d,&b,&c)!=EOF)
{
if((d%400)==0||((d%4)==0)&&((d%100)!=0))
{
a[2]=29;
}
for(i=1;i<b;i++)
sum=sum+a[i];
sum=sum+c;
printf("%d\n",sum);
sum=0;
a[2]=28;
}
return 0;
}
c++版:
#include<iostream>
//#include<bits/stdc++.h>
using namespace std;
int main()
{
int f,b,c;
char d,e;
int i,sum=0;
int a[13];
a[1]=31;a[2]=28;//非闰月
a[3]=31;a[4]=30;a[5]=31;a[6]=30;a[7]=31;a[8]=31;a[9]=30;a[10]=31;a[11]=30;a[12]=31;
while(cin>>f>>d>>b>>e>>c)
{
if(f%400==0||((f%4==0)&&(f%100)!=0))
a[2]=29;
for(i=1;i<b;i++)
sum=sum+a[i];
sum=sum+c;
printf("%d\n",sum);
sum=0;
a[2]=28;
}
return 0;
}
对于给定的一个字符串,统计其中数字字符出现的次数。
Input
输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
Output
对于每个测试实例,输出该串中数值的个数,每个输出占一行。
Sample Input
2
asdfasdf123123asdfasdf
asdf111111111asdfasdfasdf
Sample Output
6
9
将注释的代码换掉在ACM里面会报错QAQ
#include<stdio.h>
#include<string.h>
int main()
{
char a[100];
int n,i;
int k=0;
int t=0;
scanf("%d",&n);
while(n--)
{
// getchar();
// gets(a);
scanf("%s",&a);
k=strlen(a);
for(i=0;i<k;i++)
{
if(a[i]>='0'&&a[i]<='9')
t++;
}
printf("%d\n",t);
t=0;
}
return 0;
}
今天好书记等待着他的朋友伟奇书记来他家玩。为了迎接伟奇书记,好书记需要去他家附近的两家商店买一些吃的。他家离第一家商店有d1米远,离第二家商店有d2米远。两家商店之间的距离是d3,帮好书记计算去两家商店然后回家的最短距离。
好书记永远从他家出发,他不介意重复经过同一个地点或者同一条路,唯一的目标就是:最小化经过两间商店然后回家的距离。
Input
第一行的输入包括三个整数 d1, d2, d3 (1 ≤ d1, d2, d3 ≤ 108)
- d1 是好书记的家离第一间商店的距离;
- d2 是好书记的家离第二间商店的距离;
- d3 是两间商店间的距离 .
Output
输出经过两家商店然后回家的最短距离。
Sample Input
10 20 30
1 1 5
Sample Output
60
4
Hint
第一个样例是先经过第一间,再经过第二间,再回家
#include<stdio.h>
int main()
{
int t,b,c,i;
int a[4];
while(scanf("%d %d %d",&t,&b,&c)!=EOF)
{
a[0]=t+b+c;
a[1]=2*(t+b);
a[2]=2*(t+c);
a[3]=2*(b+c);
if(a[0]>a[1])
a[0]=a[1];
if(a[0]>a[2])
a[0]=a[2];
if(a[0]>a[3])
a[0]=a[3];
printf("%d\n",a[0]);
}
return 0;
}