求大佬指点
c4droid吧
全部回复
仅看楼主
level 8
求大佬指点
2018年04月16日 03点04分 1
level 8
#include<stdio.h>
int ys=6,yf=0,ym=0;
int main()
{
int a,b,c;
int tpm(int m);
int tpf(int f);
int tps(int s);
scanf("%d:%d:%d",a,b,c);
ys=tpm(a);
yf=tpf(b);
ym=tpm(c);
printf("%d:%d:%d",ys,yf,ym);
return 0;
}
int tpm(int m)
{
//int ym=0;
if ((ym+m)>=60)
{
ym=ym+m-60;
yf++;
}
else
ym=ym+m;
return (ym);
}
int tpf(int f)
{
//int yf=0;
if ((yf+f)>=60)
{
yf=yf+f-60;
ys++;
}
else
yf=yf+f;
return (yf);
}
int tps(int s)
{
//int ys=6;
if ((ys+s)>=24)
{
ys=ys+s-60;
}
else
ys=ys+s;
return (ys);
}
2018年04月16日 03点04分 2
level 8
想通过全局变量来达到,使用方法应该错了,用指针又不会用[小乖]
2018年04月16日 03点04分 3
level 8
输入1,23,45,运行出问题
2018年04月16日 03点04分 4
level 8
2018年04月16日 03点04分 5
level 14
scanf("%d:%d:%d",&a,&b,&c);
2018年04月17日 04点04分 6
惡魔的心灵 楼主:好吧,这的确是个问题,😊谢谢,我还想问下全局变量的使用问题,百度上说只要一个函数中全局变量的值改变,那它下面的值也改变,可没变呀?
2018年04月17日 04点04分
@螃蟹钳Epi😘 函数可以改变全局变量值没错,反正我也不知道什么叫“下面的值”。
2018年04月17日 09点04分
@不知者来此 哈!我复习到static,这声明就不错,能很好的契合这函数![吐舌]
2018年04月21日 13点04分
level 8
改过后,把ys =16 yf=0 ym=40,(为了测试)
输入 7 49 20,结果并没有变成0 0 0
2018年04月17日 05点04分 7
level 8
这是改过后的
#include<stdio.h>
int ys=16,yf=10,ym=40;
int main()
{
int a,b,c;
int tpm(int m);
int tpf(int f);
int tps(int s);
scanf("%d%d%d",&a,&b,&c);
printf("%d:%d:%d",tps(a),tpf(b),tpm(c));
return 0;
}
int tpm(int m)
{
if ((ym+m)>=60)
{
ym=ym+m-60;
yf++;
}
else
ym=ym+m;
return (ym);
}
int tpf(int f)
{
if ((yf+f)>=60)
{
yf=yf+f-60;
ys++;
}
else
yf=yf+f;
return (yf);
}
int tps(int s)
{
if ((ys+s)>=24)
{
ys=ys+s-24;
}
else
ys=ys+s;
return (ys);
}
2018年04月17日 05点04分 8
level 8
结果
2018年04月17日 05点04分 9
level 7
#include<stdio.h>
int ys=16,yf=10,ym=40;
int main()
{
int a,b,c;
int tpm(int m);
int tpf(int f);
int tps(int s);
scanf("%d%d%d",&a,&b,&c);
int s=tpm(c);
int m=tpf(b);
int h=tps(a);
printf("%d:%d:%d",h,m,s);
return 0;
}
把那三个函数的位置倒过来写就行了
2018年04月17日 09点04分 12
嗯,非常感谢你,全局变量我还不会用,我想我该多看看书了[太开心]
2018年04月20日 10点04分
level 8
为什么发不了代码,一发就吞了[喷]
2018年04月21日 02点04分 16
level 8
只能发图了
2018年04月21日 02点04分 19
level 8
中间那条件判断有点昂长,我想问下有哪位大佬可以帮我改下吗?
2018年04月21日 02点04分 20
level 8
void t(int tp[],int yt[])
{
int t[3];
int s=yt[0]; int f=yt[1]; int m=yt[2];
if ((m+tp[2])>=60)
{
tp[2]=m+tp[2]-60;
f++;
}
else
tp[2]=m+tp[2];
if ((f+tp[1])>=60)
{
tp[1]=f+tp[1]-60;
s++;
}
else
tp[1]=f+tp[1];
if ((s+tp[0])>=24)
tp[0]=s+tp[0]-24;
else
tp[0]=s+tp[0];
}
2018年04月21日 02点04分 22
1