共有回帖数 0 个
-
大一新生,下学期开了C语言 发现很感兴趣,准备每天发一贴,纪录自己学习的历程


1、(2015.4.14)
//用递归法计算n的阶乘
#includestdio.h
long Fact(int n); /*定义函数Fact为阶乘计算 */
int main()
{
int n;
long ret;
do
{
printf("请输入n的值:");/*录入n的值*/
scanf("%d",&n);
ret=Fact(n); /*将Fcat函数的返回值赋给ret*/
if(ret==-1)
printf("数据有误!n");
else /*对录入的n进行判断*/
printf("%d!=%ld n",n,ret);
}while(ret==-1);
return 0;
}
/*函数功能:用递归法计算n!,当n=0时返回n!,否则返回-1*/
long Fact(int n)
{
if(n0) /*处理非法数据*/
return -1;
else if(n==0||n==1) /*基线情况,即递归终止条件*/
return 1; /*一般情况*/
else
return (n*Fact(n-1));
}
2、(2015.4.16)
//制作模拟时钟
#includestdio.h
int hour,minute,second;
void update()
{
second++;
if(second==60)
{
second=0;
minute++;
}
if(minute==60)
{
minute=0;
hour++;
}
if(hour==24)
{hour=0;}
}
void display()
{
printf("%d:%d:%d n",hour,minute,second);
}
void delay()
{
int t;
for(t=0;t100000000;t++);/*用循环体为空语句的循环实现延迟*/
}
int main()
{
int i;
for(i=0;i1000000;i++)
{
update();
display();
delay();
}
return 0;
}

输出如图 但是不是我想要的样子 我想要的是在原数上数字不断更新,求大神指教
修改之后代码如下:(至于时间同步问题 小白暂时不会 望有大神指教
)
//制作数字模拟时钟
#includestdio.h
#includestdlib.h
int hour,minute,second;
void update()
{
second++;
system("cls"); /*设置清屏*/
if(second==60)
{
second=0;
minute++;
}
if(minute==60)
{
minute=0;
hour++;
}
if(hour==24)
{hour=0;}
}
void display()
{
printf("%0.2d:%0.2d:%0.2d n",hour,minute,second);/*让结果以(00:00:00)的格式输出*/
}
void delay()
{
int t;
for(t=0;t100000000;t++);/*用循环体为空语句的循环实现延迟*/
}
int main()
{
int i;
for(i=0;i1000000;i++)
{
update();
display();
delay();
}
return 0;
}
楼主 2015-09-14 19:46 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知