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:的后面输入 。也就是 光标的回显?然后计算完成以后再清屏重新显示?是这么意思么。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯