一个简单的C语言,帮我修改一下!

我是新手,刚学两天,现在写了一个玩玩,却没法运行,帮帮忙!#include<stdio.h>intmain(){intnl,h,m,h2,m2,a,b,c;scanf("... 我是新手,刚学两天,现在写了一个玩玩,却没法运行,帮帮忙!
#include<stdio.h>
int main()
{
int nl,h,m,h2,m2,a,b,c;
scanf("%d,%d,%d",&nl,h,m);
a=(120-nl)*12;
b=a/60;
c=a%60;
if (m+c>=60)
{
m2=m+c-60;
h2=(h+b+1)%24;
printf("%d:%d",h2,m2);
}
else
{
h2=(h+b)%24;
printf ("%d:%d",h2,m2);
}
return 0;

}
解释一下:我想输入nl,h,m,然后输出会h2:m2.
举个例子,我输入110,11,20,输出的是:13:20
h表示小时,m表示分钟,输入nl<120,nl每12分钟增加1,求什么时间nl等于120并输出,也就是输出h2:m2
我不会表示时间,所以就拆开了
哪位高手帮帮忙!谢了
展开
 我来答
百度网友d585d01
2013-02-01 · TA获得超过669个赞
知道小有建树答主
回答量:339
采纳率:0%
帮助的人:466万
展开全部
首先scanf函数后面的h和m前面需要添加取地址符&,然后else代码块里面需要添加m2=m+c,最后输出格式最好写成%02d,否则,如果分钟数小于10的话,显示不美观,比如14:8而不是显示成14:08
#include<stdio.h>
int main()
{
int nl,h,m,h2,m2,a,b,c;
scanf("%d,%d,%d",&nl,&h,&m);
a=(120-nl)*12;
b=a/60;
c=a%60;
if (m+c>=60)
{
m2=m+c-60;
h2=(h+b+1)%24;
printf("%02d:%02d\n",h2,m2);
}
else
{
m2=m+c;
h2=(h+b)%24;
printf ("%02d:%02d\n",h2,m2);
}
return 0;

}
MeanSift
2013-02-01 · 超过33用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:74.2万
展开全部
你这个问题描述的很含糊,不是很理解。
就先说下看到的问题吧,在scanf函数中,后面两个变量需要加入取地址符‘&’
scanf("%d,%d,%d",&nl,h,m); ==> scanf("%d,%d,%d",&nl,&h,&m);

还有一个问题是,在else中,没有对m2赋值,这个是不是要考虑下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sherryabd
2013-02-01 · TA获得超过141个赞
知道答主
回答量:105
采纳率:0%
帮助的人:78.9万
展开全部
scanf("%d,%d,%d",&nl,&h,&m);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赖福平
2013-02-01 · TA获得超过132个赞
知道小有建树答主
回答量:298
采纳率:100%
帮助的人:184万
展开全部
想问下楼主nl代表什么意思?
追问
耐力,英语差,用拼音代替的。为了不浪费耐力,所以写了这个程序。当然,我学程序绝不是为了玩游戏。哈哈,见笑了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式