用C语言写程序输出要求控制每行输出五个数,怎么控制?

用C语言写程序输出要求控制每行输出五个数,怎么控制?,第1张

在C语言写程序输出时,要控制每行输出数据的个数,可以通过自定义计数器来完成。

如:

// 输出自然数1-30,每5个数为一行

main()

{ int i

int cnt=0   // 定义cnt用作输出数据的计数器,初始为0

for( i=1i<=30i++ )   // 循环30次

{ printf("%5d",i)   // 输出数据值

cnt++    // 每输出一个值,计数器加一次

if( cnt%5==0 )   // 假设每行输出5个(如果计数器与5取余为0,则换行)

printf("\n")  // 输出换行

}

}

定义一个计数器,然后每次就自加,当%5==0的时候就printf("\n")看例子,希望能帮到你。

#include<stdio.h>

void main()

{

int count=0

int i

for(i=1i<=20i++)

{

printf("%d\t",i)

count++

if(count%5==0)

printf("\n")

}

}

假设你用的晶振为12m,用p1.0口输出周期为2ms的方波。使用定时器工作方式1.

至于计数初值的计算,授之以鱼不如授之以渔!

在定时器模式下,计数器的计数脉冲来自于晶振脉冲的12分频信号,即对机器周期进行计数。若选择12m晶振,则定时器的计数频率为1mhz。假设定时时间为t,机器周期为t1,即12/晶振频率。x为定时器初值。则

x=2^n-t/t1。方式0,n=13,方式1时,n=16,方式2和方式3,n=8

自己算去吧!

#include

void

inittimer0(void)//

{

tmod

=

0x01

th0

=

0x0fc

//计数器初值

tl0

=

0x18

ea

=

1

et0

=

1

tr0

=

1//开启定时器t0

}

void

main(void)

{

inittimer0()

}

void

timer0interrupt(void)

interrupt

1

{

th0

=

0x0fc//重新赋初值

tl0

=

0x18

p1.0=~p1.0

//输出方波

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11073456.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存