再坚持一下————第八天

给定一个日期,输出这个日期是该年的第几天。

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;
 } 

猜你喜欢

转载自blog.csdn.net/weixin_42143003/article/details/86602686