数据结构计算多组前进时间
#include<stdio.h>
struct time
{
int hours;
int minutes;
int seconds;
};
struct time timeupdate(struct time now,int plus);
int main(void)
{
struct time testtime[5]={{11,59,59},{12,0,0},{1,29,59},{23,59,59},{19,12,27}};
int i;
int plus;
printf("你想要时间向前多少秒?\n");
scanf("%d",&plus);
for(i=0;i<5;i++)
{
printf("Time is %.2d:%.2d:%.2d\n",testtime[i].hours,testtime[i].minutes,testtime[i].seconds);
testtime[i]=timeupdate(testtime[i],plus);
printf("%d seconds later time is %.2d:%.2d:%.2d\n",plus,testtime[i].hours,testtime[i].minutes,testtime[i].seconds);
}
return 0;
}
struct time timeupdate(struct time now,int plus)
{
now.seconds+=plus;
if(now.seconds>59)
{
now.minutes=now.minutes+now.seconds/60;
now.seconds=now.seconds%60;
if(now.minutes>59)
{
now.hours+=now.minutes/60;
now.minutes=now.minutes%60;
if(now.hours>23)
{
now.hours=now.hours%24;
}
}
}
return now;
}
#include<stdio.h>
int main()
{
int n;
int count = 0;
int s,k;
int i,j;
int b = 0;
int a[10];
int sum = 0;
scanf("%d",&n);
k = n;
if(n==0)//单个0时输出
{
printf("a");
}
while(n!=0)//将数字分解,并存入数组
{
i = n % 10;
a[count] = i;
count++;
n = n / 10;
}
s = count + 1;
for(j = count-1;j>=0;j--)
{
s--;
if(a[j]==0&&a[j-1]==0&&a[1]!=0&&k>10000&&b==0)//不超过亿,中间连续多0解决方法
{
b++;
printf("W");
}
if(a[j]==0&&a[j-1]==0)//遇到连续0时的方法
{
continue;
}
switch(a[j])//数字转字母
{
case 0:
printf("a");
break;
case 1:
printf("b");
break;
case 2:
printf("c");
break;
case 3:
printf("d");
break;
case 4:
printf("e");
break;
case 5:
printf("f");
break;
case 6:
printf("g");
break;
case 7:
printf("h");
break;
case 8:
printf("i");
break;
case 9:
printf("j");
break;
}
/*if(s==5)
{
printf("W");
}*/
if(a[j]!=0)//数字转单位
{
switch(s)
{
case 1:
break;
case 2:
printf("S");
break;
case 3:
printf("B");
break;
case 4:
printf("Q");
break;
case 5:
printf("W");
break;
case 6:
printf("S");
break;
case 7:
printf("B");
break;
case 8:
printf("Q");
break;
case 9:
printf("Y");
break;
}
}
//s--;
}
return 0;
}