作业七
A
//输入生日和日期,计算你活了多少天
#include<stdio.h>
int is_year(int year){
if((year%4==0&&year%100!=0)||(year%400==0)){year=1;}
else year=0;
return year;
}
int is_mouth(int year,int mouth,int day){
day=0;
if(mouth==2){
if(is_year(year)){day=29;}
else day=28;
}
else if(mouth==0) day=0;
else if(mouth==4||mouth==6||mouth==9||mouth==11)
day=30;
else day=31;
return day;
}
int main(void)
{
int year1,mouth1,day1,year2,mouth2,day2,i,days,day5,day6,day,k,m;
day=0;
year1=2000;
mouth1=1;
day1=1;
while(day1!=0){
printf("今天的日期:");
scanf("%d%d%d",&year2,&mouth2,&day2);
day6=day5=0;
for(i=1;i<=mouth2-1;i++){
day6+=is_mouth(year2,i,day);
}
day6+=day2;
for(i=1;i<=mouth1-1;i++){
day5+=is_mouth(year1,i,day);
}
day5+=day1;
k=0;
m=0;
for(i=year1;i<=year2-1;i++){
if(is_year(i)) k++;
else m++;
}
days=366*k+365*m;
days=days+day6-day5+1;
if(days%5==3||days%5==2||days%5==1)
printf("%d-%d-%d: he was fishing at that day.\n",year2,mouth2,day2);
if(days%5==4||days%5==0)
printf("%d-%d-%d: he was sleeping at that day.\n",year2,mouth2,day2);
}
return 0;
}
F
#include<stdio.h>
int sp(int m){
int i;
for(i=2;i<=m/2;i++){
if(m%i==0)
return 0;}
if(i>m/2&&m!=1)
return m;
}
int main(void)
{
int n,a=0,b=0;
scanf("%d",&n);
while(n!=0){
if(n>0&&n<6)
printf("%d is smaller than 6!\n",n);
if(n>6&&n%2!=0)
printf("%d is an odd number!\n",n);
if(n<0)
printf("%d is a negative number!\n",n);
if(n>=6&&(n%2==0)){
for(a=1;a<=n/2;a++){
b=n-a;
if((sp(a))&&(sp(b))){
printf("%d=%d+%d\n",n,a,b);
break;
}
}
}
scanf("%d",&n);
}
return 0;
}
G
#include<stdio.h>
int main()
{
int i,j=0,n,a[100],t,index;
char w;
scanf("%d %c",&n,&w);
while(!n==0){
for(i=0;i<n;i++)
scanf("%d",&a[i]);
if(w=='a'||w=='A'){
printf("%d A\n",n);
for(i=0;i<n;i++){
index=i;
for(j=i;j<n;j++)
if(a[index]>a[j])
index=j;
t=a[index];
a[index]=a[i];
a[i]=t;
printf("%d ",a[i]);
}
}
if(w=='d'||w=='D'){
printf("%d D\n",n);
for(i=0;i<n;i++){
index=i;
for(j=i;j<n;j++)
if(a[index]<a[j])
index=j;
t=a[index];
a[index]=a[i];
a[i]=t;
printf("%d ",a[i]);
}
}
printf("\n\n");
scanf("%d %c",&n,&w);
}
return 0;
}