#include
int main()
{
int year;
int month;
int day;
int num=0;
int i;
scanf("%d%d%d",&year,&month,&day);
for(i=1;i<month;i++) //采用循环方式累加
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
num+=31;
else if(i==4||i==6||i==9||i==11)
num+=30;
else
num+=28;
}
if( ( ((year%4==0)&&(year%100!=0))||(year%400==0) )&&month>2)
num+=1;
num+=day;
printf("%d",num);
return 0;
}
#include
int main()
{
int year;
int month;
int day;
int num=0;
int temp=0;
int i;
scanf("%d%d%d",&year,&month,&day);
if(year>1970) //1970年以后
{
for(i=1970;i<year;i++) //年
{
if(((i%4==0)&&(i%100!=0))||(i%400==0))
num+=366;
else
num+=365;
}
for(i=1;i<month;i++) //月
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
num+=31;
else if(i==4||i==6||i==9||i==11)
num+=30;
else
num+=28;
}
if( ( ((year%4==0)&&(year%100!=0))||(year%400==0) )&&month>2)
num+=1;
num+=day;
}
else if(year==1970) //1970年
{
for(i=1;i<month;i++) //月
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
num+=31;
else if(i==4||i==6||i==9||i==11)
num+=30;
else
num+=28;
}
if( ( ((year%4==0)&&(year%100!=0))||(year%400==0) )&&month>2)
num+=1;
num+=day;
}
else //1970年以前
{
for(i=1970;i>year;i--) //年
{
if(((i%4==0)&&(i%100!=0))||(i%400==0))
num+=366;
else
num+=365;
}
for(i=1;i<month;i++) //月
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
temp+=31;
else if(i==4||i==6||i==9||i==11)
temp+=30;
else
temp+=28;
}
temp+=day;
if( ( ((year%4==0)&&(year%100!=0))||(year%400==0) )&&month>2)
{
temp+=1;
num=num+(365-temp);
}
else
num=num+(365-temp);
}
printf("%d",num);
return 0;
}
#include
#include
int main()
{
int la,lb;
int max_len,k;
char a[100];
char b[100];
int a1[100]={0},b1[100]={0};
int i,m;
char r[100];
gets(a);
gets(b);
la=strlen(a);
lb=strlen(b);
if(la>lb)
max_len=la;
else
max_len=lb;
m=max_len;
for(i=0;i<la;i++,m--)
a1[m]=a[la-1-i]-'0';
m=max_len;
for(i=0;i<lb;i++,m--)
b1[m]=b[lb-1-i]-'0';
for(i=max_len;i>=0;i--)
{
a1[i]+=b1[i];
if(a1[i]>9)
{
a1[i]-=10;
a1[i-1]++;
}
}
if(a1[0]!=0)
{
for(i=0;i<=max_len;i++)
printf("%d",a1[i]);
}
else
{
for(i=1;i<=max_len;i++)
printf("%d",a1[i]);
}
return 0;
}
#include
#include
int main()
{
int flag=0;
int temp;
int n,i;
for(n=1000;n<=9999;n++)
{
for(i=1;i<(n/2+1);i++) //先判断是否为完全平方数
{
if(pow(i,2)==n)
{
flag=1;
break;
}
}
if(flag==1&&n>1111) //判断减去1111后是否为完全平方数
{
temp=n-1111;
for(i=1;i<(temp/2+1);i++)
{
if(pow(i,2)==temp)
{
printf("%d ",n);
break;
}
}
}
flag=0;
}
return 0;
}
#include
int main()
{
char a[500];
char ch;
int Xnum=0;
int xnum=0;
int nnum=0;
int onum=0;
int n=0;
int i,j;
while((ch=getchar())!='\n')
{
a[n]=ch;
n++;
}
for(i=0;i<n;i++)
{
if(a[i]>='a'&&a[i]<='z')
xnum++;
else if(a[i]>='A'&&a[i]<='Z')
Xnum++;
else if(a[i]>='0'&&a[i]<='9')
nnum++;
else
onum++;
}
printf("%d %d %d %d",Xnum,xnum,nnum,onum);
return 0;
}
#include
int sushu(int n)
{
int j;
for(j=2;j<(n/2+1);j++)
{
if(n%j==0)
return 0;
}
return 1;
}
int main()
{
int i;
int flag=0;
for(i=100;i<=200;i++)
{
flag=sushu(i);
if(flag==1)
{
printf("%d ",i);
flag=0;
}
}
return 0;
}
#include
#include
int main()
{
int a,b,c;
int x1=0;
int x2=0;
int delt=0;
scanf("%d%d%d",&a,&b,&c);
if(a==0)
printf("wrong1");
else
{
delt=pow(b,2)-4*a*c;
if(delt<0)
printf("wrong");
else
{
x1=(-b+sqrt(delt))/(2*a);
x2=(-b-sqrt(delt))/(2*a);
if(x1==x2)
printf("%d ",x1);
else
printf("%d %d",x1,x2);
}
}
return 0;
}
求最大公约数:辗转相除法
用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。最后的除数就是这两个数的最大公约数。
求最小公倍数:
先求出最大公约数,用两个数的乘积除以最大公约数即可
#include
#include
int main()
{
int a,b;
int max,min;
int i,j;
int temp;
int gy,gb;
scanf("%d%d",&a,&b);
max=a>b?a:b;
min=a>b?b:a;
while(min)
{
temp=max%min;
max=min;
min=temp;
}
gy=max;
gb=a*b/gy;
printf("%d %d",gy,gb);
return 0;
}
#include
int main()
{
int i,j;
int temp=0;
int sum=0; //完数和
int n;
for(n=2;n<=100;n++) //100以内所有数
{
for(i=1;i<n;i++)
{
if(n%i==0)
temp+=i;
}
if(temp==n)
{
printf("%d ",n);
sum+=n;
}
temp=0;
}
printf("\n %d",sum);
return 0;
}