请来 看看这个八块的程序有什么问题!!

帮我看看这个程序有什么问题_百度知道
帮我看看这个程序有什么问题
按习题里面说得:用Eratosthenes法输出1-100中元素1、将1-100的数存入num[100]2、从数组第二个元素开始,将数组中其他是它的倍数的数设为03、从下一个非零元素开始,将数组中其他所有是它倍数的元素设为04、重复第三步,直到将所有是它倍数的元素设为05、输出非0元素,这些就是素数接下来是我的程序#include&stdio.h&void main(){ int num[100]; int i,k; int *j=&num[1]; for(i=0;i&=99;i++) num[i]=i+1; for(i=2;i&=99;i++) {
if((*j)!=0)
if(num[i]%(*j)==0)
} } for(i=3,j++;i&=99;i++) {
if((*j)!=0)
if(num[i]%(*j)==0)
} } i=3; for(k=4;k&=99;k++) {
if((*j)!=0)
for(i++;i&=99;i++)
if(num[i]%(*j)==0)
} } printf(&\n&); for(i=0;i&=99;i++) {
if(num[i]!=0)
printf(&%d &,num[i]); }}
提问者采纳
你的这个逻辑思路基本正确,但是没有归纳出一个算法,所以这样做是不对的应该用一个双层循环就解决问题,而不是几个平行循环。 这个算法是求素数的筛选法。
我知道,我是按里面的步骤一步步做的,可是输出了很多的和数和一个Divide Error
void main(){ int a[100]; int i,j; for(i=0;i&100;i++)
a[i]=i+2; for(i=0;i&100;i++) {
if(a[i]!=0)
for(j=i+1;j&100;j++)
{ if(a[j]!=0 && a[j]%a[i]==0) a[j]=0;
} } for(i=0;i&100;i++) if(a[i]!=0) printf(&%d\t&,a[i]); }注意:输入的数应该从2开始,不然任何数取余1都等于0,就找不到素数了
其他类似问题
为您推荐:
其他1条回答
#include &stdio.h&void main(){ int a[10],b[10],i,j, printf(&请输入一组数据:\n&); for(i=0;i&10;i++) {scanf(&%d&,&a[i]); b[i]=a[i];} for(i=0;i&9;i++)
for(j=0;j&9-i;j++)
if(a[j]&a[j+1])
{temp=a[j];
a[j]=a[j+1];
for(i=0;i&10;i++)
if(a[0]==b[i])
{temp=b[0];
b[0]=b[i];
for(i=0;i&10;i++)
if(a[9]==b[i])
{temp=b[9];
b[9]=b[i];
for(i=0;i&10;i++)
printf(&%6d&,b[i]);
您可能关注的推广回答者:回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁访问本页面,您的浏览器需要支持JavaScript21ic官方微信
后使用快捷导航没有帐号?
查看: 2313|回复: 16
请各位DX帮看看这个Verilog简单程序有问题吗。
&&已结帖(0)
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
我写了个Verilog简单程序,时钟信号输入是clk,输出:7个共阴极数码管段位seg(包括小数点共8段),7个位选择位是bit7。程序思路:时钟信号送到8个10进制计数器计数,将前7位计数结果用数码管动态显示下来。完整程序如下:module&BCD7dp(seg,bit7,clk);&&output&[7:0]&&&&&&&//LED&segment&&output&[6:0]bit7;&&&&&&//LED&bit&select&&&&input&&&&&reg&[7:0]seg_&&wire&[3:0]BD;&&reg&[6:0]bt_&&reg&[2:0]cntl_&&wire&[32:1]&&wire&[8:1]&&&wire&[2:0]&&reg&global_&&&&&&//下面是8个十进制计数器&&ct4b&U1(ctdat[4:1],tmp[1],global_rst,clk),&&&&U2(ctdat[8:5],tmp[2],global_rst,tmp[1]),&&&&U3(ctdat[12:9],tmp[3],global_rst,tmp[2]),&&&&U4(ctdat[16:13],tmp[4],global_rst,tmp[3]),&&&&U5(ctdat[20:17],tmp[5],global_rst,tmp[4]),&&&&U6(ctdat[24:21],tmp[6],global_rst,tmp[5]),&&&&U7(ctdat[28:25],tmp[7],global_rst,tmp[6]),&&&&U8(ctdat[32:29],tmp[8],global_rst,tmp[7]);&&&&//下面是4个8选1选择器,实际用7选1&&MUX8sel&U10(BD[3],{ctdat[8],ctdat[12],ctdat[16],ctdat[20],ctdat[24],ctdat[28],ctdat[32],ctdat[4]},cotl),&&&&U11(BD[2],{ctdat[7],ctdat[11],ctdat[15],ctdat[19],ctdat[23],ctdat[27],ctdat[31],ctdat[3]},cotl),&&&&U12(BD[1],{ctdat[6],ctdat[10],ctdat[14],ctdat[18],ctdat[22],ctdat[26],ctdat[30],ctdat[2]},cotl),&&&&U13(BD[0],{ctdat[5],ctdat[9],ctdat[13],ctdat[17],ctdat[21],ctdat[25],ctdat[29],ctdat[1]},cotl);&&&&always&@(tmp[3])&&&&//七段码译码器&&begin&&case(BD[3:0])&//&hgfe_dcba&&&&0:seg_rg=8'b;&&&&//&&&&&&a&&&&1:seg_rg=8'b;&&&&//&&&&2:seg_rg=8'b;&&&&//&&&f&&&&&&b&&&&&3:seg_rg=8'b;&&&&//&&&&4:seg_rg=8'b;&&&&//&&&&&&g&&&&5:seg_rg=8'b;&&&&//&&&&6:seg_rg=8'b;&&&&//&&&e&&&&&&c&&&&&&&&&&7:seg_rg=8'b;&&&&//&&&&8:seg_rg=8'b;&&&&//&&&&&&d&&&&&&h&&&&9:seg_rg=8'b;&&&&//common&&&&&default:seg_rg=8'&&&&&&&//&&&&endcase&&&end&&&&&&always&@(tmp[6])&&&&//七位计数&&&begin&&&&&&&&cntl_rg=cntl_rg+1;&&&&&&&&if(cntl_rg==7)&&&&&&&&&&&&&&cntl_rg=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&end&&&&&&always&@(tmp[6])&&&&//7位要显示位的选择器&&&begin&&&&&&&case(cntl_rg[2:0])&&&&&&&&&&&0:bt_rg=7'b000_0001;&&&&&&&&&&&1:bt_rg=7'b000_0010;&&&&&&&&&&&2:bt_rg=7'b000_0100;&&&&&&&&&&&3:bt_rg=7'b000_1000;&&&&&&&&&&&4:bt_rg=7'b001_0000;&&&&&&&&&&&5:bt_rg=7'b010_0000;&&&&&&&&&&&6:bt_rg=7'b100_0000;&&&&&&&&&&&default:bt_rg=7'&&&&&&&endcase&&&end&&&&&&&&&&&&&&&assign&seg=seg_&&&assign&bit7=bt_&&&assign&global_rst=1;endmodulemodule&MUX8sel(ot,I8,cnl3);&&&&output&&&&&reg&&&&&&&&input&&[0:7]I8;&&&&input&&[0:2]cnl3;&&&&always&@(I8&or&cnl3)&&&&begin&&&&&&&case(cnl3)&&&&&&&&&&0:ot=I8[0];&&&&&&&&&&1:ot=I8[1];&&&&&&&&&&2:ot=I8[2];&&&&&&&&&&3:ot=I8[3];&&&&&&&&&&4:ot=I8[4];&&&&&&&&&&5:ot=I8[5];&&&&&&&&&&6:ot=I8[6];&&&&&&&&&&7:ot=I8[7];&&&&&&endcase&&&&&&&&end&&&&&&endmodule&&&&module&ct4b(q,cout,global_rst,clk);&&&output&[3:0]q;&&output&&&&&&input&global_&&&&input&&&&&&&&&&reg&[3:0]q;&&&&reg&&&&&&&&&always&@(global_rst)&&&&begin&&&&&&if(!global_rst)&&&&&&&begin&&&&&&&&&&&assign&q=4'b0000;&&&&&&assign&cout=0;&&&&&&&end&&&&else&&&&&&&&&&begin&&&&&&&&deassign&q;&&&&&&&&deassign&&&&&&end&&&&&&end&&&&&&&&always&@(posedge&clk)&&&&begin&&&&&&q&=&q+1;&&&&&&if(q==4'b1010)&&&&&&&&begin&&&&&&&&&&&&q=4'b0000;&&&&&&&&&&cout=1;&&&&&&&&end&&&&&&&else&&&&&&&&&&&&&&&&cout=0;&&end&&endmodule&&&&&&&&&&&可是用ISE9。1编译时出现如下错误:Started&:&&Fit&.WARNING:Cpld&-&The&signal(s)&'cntl_rg&lt0&gt'&are&in&combinational&feedback&loops.&&&These&signals&may&cause&hazards/glitches.&Apply&the&NOREDUCE&parameter&to&the&hazard&reduction&circuitry.&&&Timing&analysis&of&paths&involving&this&node&may&be&inaccurate&or&incomplete.WARNING:Cpld&-&The&signal(s)&'_old_cntl_rg_1&lt1&gt'&are&in&combinational&feedback&loops.&&&These&signals&may&cause&hazards/glitches.&Apply&the&NOREDUCE&parameter&to&the&hazard&reduction&circuitry.&&&Timing&analysis&of&paths&involving&this&node&may&be&inaccurate&or&incomplete.WARNING:Cpld&-&The&signal(s)&'cntl_rg_cmp_eq0000'&are&in&combinational&feedback&loops.&&&These&signals&may&cause&hazards/glitches.&Apply&the&NOREDUCE&parameter&to&the&hazard&reduction&circuitry.&&&Timing&analysis&of&paths&involving&this&node&may&be&inaccurate&or&incomplete.WARNING:Cpld&-&The&signal(s)&'_old_cntl_rg_1&lt2&gt'&are&in&combinational&feedback&loops.&&&These&signals&may&cause&hazards/glitches.&Apply&the&NOREDUCE&parameter&to&the&hazard&reduction&circuitry.&&&Timing&analysis&of&paths&involving&this&node&may&be&inaccurate&or&incomplete.ERROR:Cpld:892&-&Cannot&place&signal&cntl_rg&lt0&gt.&Consider&reducing&the&&&collapsing&input&limit&or&the&product&term&limit&to&prevent&the&fitter&from&creating&high&input&and/or&high&product&term&functions......ERROR:Cpld:868&-&Cannot&fit&the&design&into&any&of&the&specified&devices&with&the&selected&implementation&options.Process&&Fit&&failed请问DX,程序到底有没有问题啊?变量cntl_rg有什么不妥的?将它改为wire也不行
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
顶!这是一个简单实验,程序其实很小,请指导
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
没人会?还是太简单了?
主题帖子积分
高级技术员, 积分 865, 距离下一级还需 135 积分
高级技术员, 积分 865, 距离下一级还需 135 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
高级技术员, 积分 865, 距离下一级还需 135 积分
高级技术员, 积分 865, 距离下一级还需 135 积分
可能是由于你选择的器件不对 或者没有选择器件
主题帖子积分
助理工程师, 积分 1276, 距离下一级还需 724 积分
助理工程师, 积分 1276, 距离下一级还需 724 积分
主题帖子积分
专家等级:结帖率:84%
主题帖子积分
助理工程师, 积分 1276, 距离下一级还需 724 积分
助理工程师, 积分 1276, 距离下一级还需 724 积分
我用的是QuartusII
要不就可以帮你看看!写得太多了,先写一位的驱动试试吧!
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
谢谢风中De舞者:&我选择的器件是XC9572XL-TQ100-7,用的软件是xilinx&ISE9.1,选择是正确的。谢谢sibaidong:&请帮我看看吧。我用的器件XC9572XL内有72个D触发器,资源应该够了。8个BCD码计数器用32个D触发器,管选择位的7进制计数器用3个D触发器
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
这版比侃单片机冷清多了,是用CPLD的人少?本版在业界知名
主题帖子积分
实习生, 积分 7, 距离下一级还需 43 积分
实习生, 积分 7, 距离下一级还需 43 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 7, 距离下一级还需 43 积分
实习生, 积分 7, 距离下一级还需 43 积分
是不是这一点的问题
&always&@(tmp[6])&&&&//七位计数&&&begin&&&&&&&&cntl_rg=cntl_rg+1;&&&&&&&&if(cntl_rg==7)&&&&&&&&&&&&&&cntl_rg=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&endtmp[6]是不是有问题?我用的是vhdl,看wanrning里好像是这得问题
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
谢谢hapyang,不是tmp[6]的问题,我画电原理图来实现也不行
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
看的人多,没人想回?
主题帖子积分
实习生, 积分 26, 距离下一级还需 24 积分
实习生, 积分 26, 距离下一级还需 24 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 26, 距离下一级还需 24 积分
实习生, 积分 26, 距离下一级还需 24 积分
请各位DX帮看看这个Verilog简单程序有问题吗。
你的assign&有没有用对地方哦乱来的吧。你对reg&也用assign?
主题帖子积分
初级工程师, 积分 2013, 距离下一级还需 987 积分
初级工程师, 积分 2013, 距离下一级还需 987 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级工程师, 积分 2013, 距离下一级还需 987 积分
初级工程师, 积分 2013, 距离下一级还需 987 积分
从软件提示的信息来看1、组合电路会引起毛刺2、器件资源不够放不下,can't&fit
主题帖子积分
助理工程师, 积分 1066, 距离下一级还需 934 积分
助理工程师, 积分 1066, 距离下一级还需 934 积分
主题帖子积分
专家等级:结帖率:91%
主题帖子积分
助理工程师, 积分 1066, 距离下一级还需 934 积分
助理工程师, 积分 1066, 距离下一级还需 934 积分
我是初学者.
&&&最近工作的需要,边做边学了2个月的cpld,感觉入门容易,但是做项目梢复杂一点就问题出来了.语言虽然简单,一般用assign,always就可以实现,但是却不向C语言那样有条理有顺序的执行;verilog毕竟是硬件描述语言,必须对硬件要清楚,所以即使你描述的语言没错误,但是却有可能硬件是无法实现的.&&&现在总结了一点经验:1.程序分模块写,把每个模块都仿真无误.2.顶层采用原理图把各个模块连接,这样比较直观,方面以后程序文档化.3.pcb设计的时候尽量把无用到的引脚(2~5个)也引出去做测试点,方便调试.4.使用多宗示波器观察时序.
主题帖子积分
中级技术员, 积分 182, 距离下一级还需 118 积分
中级技术员, 积分 182, 距离下一级还需 118 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 182, 距离下一级还需 118 积分
中级技术员, 积分 182, 距离下一级还需 118 积分
在组合逻辑里使用cntl_rg=cntl_rg+1??一般情况下都会出错的
主题帖子积分
资深工程师, 积分 11595, 距离下一级还需 8405 积分
资深工程师, 积分 11595, 距离下一级还需 8405 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
资深工程师, 积分 11595, 距离下一级还需 8405 积分
资深工程师, 积分 11595, 距离下一级还需 8405 积分
从提示上看应该不是代码的问题
可能是器件、管脚配置,是否匹配的问题。
主题帖子积分
实习生, 积分 7, 距离下一级还需 43 积分
实习生, 积分 7, 距离下一级还需 43 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 7, 距离下一级还需 43 积分
实习生, 积分 7, 距离下一级还需 43 积分
&always&@(tmp[6])&&&&//七位计数&&&begin&&&&&&&&cntl_rg=cntl_rg+1;&&&&&&&&if(cntl_rg==7)&&&&&&&&&&&&&&cntl_rg=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&end&&&看这段程序就有很多问题:1:tmp[6]是时钟吗?是时钟应该指明上升沿或者下降沿触发,。2:内部的=应该为&lt=。&这些你需要参考代码风格指南。我的博客有这方面的文章,你可以参考下:http://www.
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
中级工程师, 积分 3665, 距离下一级还需 1335 积分
谢谢hehui525,谢谢大家
always&@(tmp[6])这一句是没有错的,它是对电平触发。assign用的也是对的
突出贡献奖章
等级类勋章
湍急之河流
发帖类勋章
技术导师奖章
人才类勋章
时间类勋章
社区建设奖章
等级类勋章
欢快之小溪
发帖类勋章
时间类勋章
涓涓之细流
发帖类勋章
精华达人奖章
等级类勋章
技术新星奖章
人才类勋章
甘甜之泉水
发帖类勋章
时间类勋章
技术奇才奖章
人才类勋章
热门推荐 /1

我要回帖

更多关于 迅雷看看问题 的文章

 

随机推荐