#include stdio.h
成都创新互联:2013年至今为各行业开拓出企业自己的“网站建设”服务,为1000+公司企业提供了专业的网站设计制作、成都做网站、网页设计和网站推广服务, 按需求定制网站由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。
int main ()
{
int ad(int);
int n;
printf("请输入一个测试数:");
while(scanf("%d",n)==1)
if(ad(n))
printf("\t %d 是 素数.\n",n);
else
printf("\t %d 不是素数.\n",n);
return 0;
}
int ad(int n)
{
int flag=1,i;
for (i=2;i=n/2 flag==1;i++) // 这里 i=n/2就好了
if(n%i==0)
flag=0;
return (flag);
}
代码有点小问题,参看上面的注释
#includevoidmain(){doublei,j;doublea,b,c=0;printf("请输入积分上下限:");scanf("%lf%lf",a,b);for(i=a;i=b;i+=10e-8){j=i*i+1;j*=10e-8;c+=j;}printf("ans=%.4f\n",c);}对了没考虑自变量取负值的情况,这个程序只适合算上下限都大于零的情况。
可以将AD采集的数字信号转换为实际的电压值,这个需要根据AD的参考电压和分辨率进行计算。
检测电阻值或者电流值,一般的做法都是转化为检查电压值。
比如说,你想检查电阻R2的大小,你可以用R1,R2串联,然后在串联后在两端加上5V电压,这样就可以采集R2的电压了: U(R2)= 5V * [R2/(R1+R2)]
R1 是我门选定在参考电阻,比如10K, 那么当U(R2)= 2.5V时, R2 = 10K.
通过这样,程序上用AD 口去检测R2两端的电压,就能知道R2的大小了。
把报错信息对应的代码贴出来,否则没办法定位的。一般这种报错可能是某个标识符或者类型定义错误。
void Timer3_Init()
{
TMR3CN = 0x02;
TMR3R = -44236; //定时2ms
TMR3 = 0xffff;
EIE2 = ~0x01;
TMR3CN |= 0x04;
}
void ADC0_Init(void)
{
AMX0SL=0x00; //选择通道0
AMX0CF=0x00; //选择AIN0和AIN1为独立输入
REF0CN=0x03; //选择外部的电压为基准电压
ADC0CF=(SYSCLK/2500000)3;//时钟为 ,增益为1
ADC0CN=0x84;//ADC0使能且为ADCBUSY的开启方式
EIE2|=0x02;//开启ADC0的中断
}
void ADC0_ISR() interrupt 15
{
static unsigned int_dec=INT_DEC;
static long accumulator=0L;
AD0INT = 0; // 清 ADC 中断标志位
accumulator += ADC0; // 累加ADC采样数据
int_dec--; // 指针减1
if (int_dec == 0) // 累加完了吗?
{
int_dec = INT_DEC; // 指针复位
result = accumulator 8;
accumulator = 0L; // 累加和变量清0
t=1;
}
}ADC0转换,定时器3开启的方式