
1、首先看看主模块运行在什么位置,是STOP还是RUN状态,应该是RUN状态,如果不在RUN状态,设备肯定不能运行,自然也就没有输出。
2、确认输出指示灯的逻辑程序没有错误,而且触发条件是否接通。就是要保证输出点在程序运行中确定输出了,别有双线圈问题导致条件触发,实际并没输出。
3、测量一下PLC输出点信号,是否有电压变化。
这是因为程序的时间是很短的,程序运行结束了,该进程也就结束了,所以你是看不到屏幕上的显示。解决方法:(1)在程序最后使用getchar()函数(2)或者是添加system("pause");
程序运行到此处,就会等待用户的输入,所以此时用户是可以看到屏幕上的显示,直到用户点击任意键。
你是排序算法出错,我帮你优化了一下输入输出,排序的错误也改好了,详情请见代码及注释。还有就是变量、函数名等最好不要取名为std。
#include<stdioh>struct student{
char name[20];
int math;
int chinese;
int english;
int sum;
};
int main(void){
int i,j;
struct student std[10];
for(i=0;i<10;i++){
printf("请输入第%d个学生的姓名,各科(语数英三科)成绩,用空格隔开\n",i+1);
scanf("%s",std[i]name);
scanf("%d%d%d",&std[i]chinese,&std[i]math,&std[i]english);
std[i]sum=std[i]chinese+std[i]english+std[i]math;
}
for(i=0;i<10;i++){//出错了,改成i<10
for(j=i+1;j<10;j++){ //这里出错了,现在帮你改成正确的
if(std[i]sum<std[j]sum){//std[i]sum<std[i]sum改成std[i]sum<std[j]sum
struct student temp=std[i];
std[i]=std[j];
std[j]=temp;
}
}
}
printf("姓名\t数学成绩\t语文成绩\t英语成绩\t总成绩\n");
for(i=0;i<10;i++)
printf("%s\t%d\t\t%d\t\t%d\t\t%d\n",std[i]name,std[i]math,std[i]chinese,std[i]english,std[i]sum);
return 0;
}
运行结果如所示
以上就是关于三菱FX3U PLC 程序写入后输出不动作为什么全部的内容,包括:三菱FX3U PLC 程序写入后输出不动作为什么、C语言编的程序不能显示输出是那里出的问题、c++,程序无法输出结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)