楼上那位基本是对的,只是第二个没有看清要求,可以这样改:
int
main()
{
int
a,b;
void
num(int
a,int
b);
scanf("%d,%d",a,b);
num(a,b);
return
0;
}
void
num(int
a,int
b)
{
int
i,t;
int
mid;
srand((int)time(0));
if(a<b)
{t=a;a=b;b=t;}
while(1)
{
mid=rand();
if(mid>a
&&
mid<b)
{
printf("%d\t",i);
break;
}
else
continue;
}
}
可以的。参考下面的程序:
uchar code Pattern_P1[]={ 0xfc,0xf9,0xf3,0xe7,0xcf,0x9f};
uchar code Pattern_P2[]={ 0xf5,0xf6,0xfe,0x54,0x56,0x76,0xd7,0x49,0xa9,0xe4,0xc6};
for(i=136;i>0;i--)
{
P1=Pattern_P1[i];
P2=Pattern_P2[i];
DelayMS(150);
}
定义一个无符号字符型一维数组,table是数组名table[],中的[],省掉了一个参数,如果有参数,参数就表示些数组包含的个数,{}里的值就是数组包含的值。上面的代码可以写成unsigned char code table[16]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
'\t',表示水平制表位(horizontal tab),它的作用是将光标移到最接近8的倍数的位置,使得后面的输入从此开始。换句话说,让所有的数据都紧跟在制表符后面输出。
和\n相当于在程序中按了一下“Enter”回车键比较,\t 就相当于在编程的时候按一下Table键,使光标以8个字符为基准进行跳跃 。
扩展资料:
\t应用程序举例:
#include<stdioh>
int main(void)
{
printf("Initial :%c\tAge :%d\n",'Z',12);
return 0;
}
因此在下一个水平制表位上显示“Age:”。全部输出为:
参考资料来源:百度百科-/t
直接复制的在那一句最后边多了两个字符
去掉后编译无错
请检查你是否输入错误,没有错误的话请更换最新版keil C51。
还有就是51对浮点型的运算是调用库执行的,效率很低,建议优化,还有sprintf函数虽然使用方便,但是编译后占用2k空间,对51这种flash不大的单片机来说比较浪费,建议尽量不用,自己写的会比调用这个函数占用的资源小很多。
以上就是关于C语言作业问题全部的内容,包括:C语言作业问题、单片机C语言中能不能使用两个 uchar code table 【】、单片机C语言unsigned char code table等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)