永发信息网

C语言程序的一个问题

答案:2  悬赏:80  手机版
解决时间 2021-05-02 09:38
  • 提问者网友:姑娘长的好罪过
  • 2021-05-02 00:43

有这样一个问题,请问怎么做到:

假设

                                   ZX:

                   LO:                  RT:

                   NV:                  IU:

                   POR:               HN: 

                   CU:                 QE:

                   RDK:               CV:             (条件是先在C程序中原样输出显示这些,然后ZX如果后面输入1,那么LO,NV,POR,CU,RDK后面的值=2,如果ZX=51,那么后面的LO,NV,POR,CU,RDK的值=102,并在后面显示,注意ZX>198<200只能是整型,然后ZX初始化=1,RT,IU,HN,QE,CV后面输入的值不能大于650并且整形,RT后面输入1时前面的LO+2,    IU,HN,QE,CV都一样对应前面,不输入值时不增加前面的值)

列如:                   ZX:53

                   LO: 106                RT:

                   NV: 106                 IU:

                   POR:112              HN: 3  <---

                   CU: 106                QE:

                   RDK:106               CV:    

同学我跪求高手的程序,,,,实在想不出来了,谢谢了

最佳答案
  • 五星知识达人网友:时间的尘埃
  • 2021-05-02 01:22
scanf("%d\n",&a); 这句改成scanf("%d",&a);
可以这样写
#include<stdio.h>
#include<stdlib.h>

int main(void)
{
unsigned long m,n;
int a,b,c,d,e;
printf("请输入一个不多于5位的数\n");
scanf("%ld",&m);
a=m%100000/10000;
b=m%10000/1000;
c=m%1000/100;
d=m%100/10;
e=m%10;
if(m/100000>=1)
{
printf("输入的数字多于5位!请重新输入\n");
exit(1);
}
if(a!=0){
n=e*10000+d*1000+c*100+b*10+a;
printf("该数为5位数\n万位为%d千位为%d百位为%d十位为%d个位为%d\n%.0ld",a,b,c,d,e,n);
}
else if(b!=0){
n=e*1000+d*100+c*10+b;
printf("该数为4位数\n千位为%d百位为%d十位为%d个位为%d\n%ld",b,c,d,e,n);
}
else if(c!=0){
n=e*100+d*10+c;
printf("该数为3位数\n百位为%d十位为%d个位为%d\n%ld",c,d,e,n);
}
else if(d!=0) printf("该数为2位数\n十位为%d个位为%d\n%ld",d,e,e*10+d);
else printf("该数为1位数\n个位为%d\n%ld",e,e);

return 0;
}
在取每一位时,取模运算就可以了。最后判断一下m/100000>=1是否大于1,得到是否多于6位
全部回答
  • 1楼网友:低血压的长颈鹿
  • 2021-05-02 02:31
这题 运算不是问题啊。你的意思是不是说 开始的时候就显示上面那些,输入的时候 要在ZX:的后面输入 。也就是 光标的回显?然后计算完成以后再清屏重新显示?是这么意思么。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯