代码改变世界

学习中的小磨练

2019-04-09 14:06  Maoey  阅读(245)  评论(0)    收藏  举报

作业1:计算出100-1000所有的素数

#include<stdio.h>
int main()
{
int i; int f;
for( i=100;i<=1000;i++)
{
int k=0;
for( f=2;f<i;f++)

{

if(0==i%f) 

{ k=1;
}
}
if(0==k)
{
printf("%d\n",i);
}
}
return 0;
}

作业2.打印99乘法表。

#include<stdio.h>
int main()
{
int i; int j;
for( i=1;i<=9;i++)
{
for( j=1;j<=i;j++)
{


printf("%d*%d=%d ",i,j,i*j);
if((i*j)/10==0)
printf(" ");
}
printf("\n");
}

return 0;
}

作业3.输入两个整数,计算他们的最大公约数和最小公倍数。

#include<stdio.h>
int main()
{
int x; int y;

int min=0; int max=0;
printf("请输入两个整数");
scanf("%d %d",&x,&y);
for(int i=1;i<=x;i++)
{
if(0==x%i&&0==y%i)
max=i;
}
printf("最大公约数为%d\n",max);
min=(x*y)/max;
printf("最小公倍数为%d",min);

return 0;
}


作业4.输入日期(yyyy-mm--dd),计算这是自公元元年1月1日到该日期一共过来多少天

#include<stdio.h>
int main()
{
int month;
int year;
int day ;
int days=0;
int x[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
printf("请输入日期");
scanf("%d %d %d",&year,&month,&day);
for(int i=1;i<year;i++)
{ if((0==i%4&&0!=i%100||0==i%400))
{
days+=366;
}
else{
days+=365;
}
}
if((0==year%4&&0!=year%100||0==year%400))
{
for(int i=1;i<month;i++)
days+=x[i];
}

else {

for(int i=1;i<month;i++)
{ days+=x[i];
if(2==i)
days--;
}
}
days+=day;
printf("自公元元年1月1日到%d年%d月%d天一共 %d天",year,month,day,days);
return 0;

}


作业5.输入一个整数,判断是否是回文数。

#include<stdio.h>
int main()
{
int h[10]={};
int x;
int y=0;
int s=0;
int i;
printf("请输入一个整数");
scanf("%d",&x);
s=x;
for(i=0;x!=0;i++)
{
h[i]=x%10;
x=x/10;
}
for(int j=0;j<i;j++)
{
y=y*10+h[j];
}
if(s==y)
{
printf("该数是回文数");
}
else{
printf("该数不是回文数");
}
return 0;
}

PAT乙级第一题

1001 害死人不偿命的(3n+1)猜想

:

int main()
{
int x=0; int k=0;
scanf("%d",&x);
while(1!=x)
{
if(x%2==0)
{
x=x/2;
k=k+1;
}
else
{

x=(3*x+1)/2;
k=k+1;
}

}
printf("%d",k);
return 0;

}