永发信息网

在c语言中,怎么求一个三位数,用c语言编写?

答案:6  悬赏:20  手机版
解决时间 2021-04-28 07:07
  • 提问者网友:温旧梦泪无声
  • 2021-04-27 08:06

1.这个数的百位不大于200

2这个三位数的各位与百位调换是新得的三位数的2倍

最佳答案
  • 五星知识达人网友:拾荒鲤
  • 2021-04-27 08:44

程序代码如下,但是没有符合条件的数。


#include<stdio.h>
int Datedeal(int a);
main()
{int i;
for(i=100;i<=200;i++)
if(Datedeal(i))
printf("%d\t",i);
if(i>=200) printf("无符合条件的数\n");
}


int Datedeal(int a)
{int x,y,z,b;
x=a%10;
y=(a%100)/10;
z=a/100;
b=100*x+y*10+z;
if(2*a==b)
return 1;
else return 0;
}


全部回答
  • 1楼网友:患得患失的劫
  • 2021-04-27 14:29

#include <stdio.h> main() { freopen("output.txt","w",stdout); int i,a,b,c,newnum; for(i=100;i<1000;i++) { a=i/100; //百位数// b=i/10%10; //十位数// c=i%10; //个位数// newnum=c*100+b*10+a; if(newnum*2==i) printf("%d\n",i); } }

无论是新数是旧数的2倍还是旧数是新数的2倍都不存在这样的数

  • 2楼网友:掌灯师
  • 2021-04-27 13:34

这样的数是不存在的,如果调换之后还是3位数的话,而且这个数的3倍是原来的数;可以想一下:最小的3位数是100,100×3=300,这就已经超过200了。

  • 3楼网友:千夜
  • 2021-04-27 11:55

根据你的题意编写了这个程序,计算j的式子就是将一个3位数的各位与百位调换。没有得出结果,我怀疑是不是这个数的百位不小于2,而不是不大于2。

#include <stdio.h> #include <stdlib.h>

int main() { int i = 100; for(; i < 200; i++) { int j = (i % 10) * 100 + ((i / 10) % 10) * 10 + i / 100; if(j == i * 2) printf("%d * 2 = %d\n", i, j); } return 0; }

  • 4楼网友:長槍戰八方
  • 2021-04-27 11:25

#include<stdio.h>

void main() { int num=100; int i,j; for(;num<200;num++) { i=num%10;//个位 j=(num/10)%10;//十位 if((i*100+j*10+1)==2*num||(j*100+1*10+i)==2*num) printf("num=%d\n",num); } } //代码写出来了,不过找不到你说的那个数.....

  • 5楼网友:归鹤鸣
  • 2021-04-27 10:01
#include<stdio.h> void main() { int i,bai,shi,ge,newnum; for(i=100;i<200;i++) { bai=i/100; shi=(i%100)/10; ge=i%10; newnum=ge*100+shi+bai; if(newnum*2==i) printf("%d\n",i) } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯