当前位置:首页 » 编程语言 » c语言用不同的数构成一个三位数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言用不同的数构成一个三位数

发布时间: 2022-11-18 10:23:13

A. 编写c语言程序 计算0~9之间的任意3个不同的数字组成的3位数共有多少种不同的组成

#include<stdio.h>
int main()
{
int count=0;//用来计数,有多少种组成
int i,j,k;
for(i=1;i<=9;i++)//i,用来表示最高位,不能为0,只能是1~9
for(j=0;j<=9;j++)//j,用来表示中间位,0~9
for(k=0;k<=9;k++)//k,用来表示最低位,0~9
{
if(i!=j&&j!=k&&i!=k)//如果3个数字都不相同,则符合条件,计数加1
{
count++;
}
}
printf("共有三位数%d个",count);
return 0;
}

清楚不?

B. c语言 统计用0到9之间的不同的数字所组成的3位数并输出这些3位数,最后再输出其个数

#include <stdio.h>
int main(void)
{
int num;
int n = 0;
for(num = 100;num < 1000;++num)
{
if(num / 100 != (num / 10) % 10 && (num / 10) % 10 != num % 10 && num / 100 != num % 10)
{
printf("%d\n",num);
n++;
}
}
printf("\n");
printf("%d",n);
return 0;
}

C. C语言:1~9九个数字不重复组成3个三位数,使其2个之和等于第三个;以A+B=C形式输出所有情况,咋编

代码文本:

#include "stdio.h"

int main(int argc,char *argv[]){

int a,b,c,u,v,w,x,y,z,r,s,t,k;

for(k=0,a=1;a<10;a++)

for(b=1;b<10;b++)

if(b!=a)

for(c=1;c<10;c++)

if(c-b && c-a)

for(u=1;u<10;u++)

if(u-c && u-b && u-a)

for(v=1;v<10;v++)

if(v-u && v-c && v-b && v-a)

for(w=1;w<10;w++)

if(w-v && w-u && w-c && w-b && w-a)

for(x=1;x<10;x++)

if(x-w && x-v && x-u && x-c && x-b && x-a)

for(y=1;y<10;y++)

if(y-x && y-w && y-v && y-u && y-c && y-b && y-a)

for(z=1;z<10;z++)

if(z-y && z-x && z-w && z-v && z-u && z-c && z-b && z-a

&& (r=a*100+b*10+c)+(s=u*100+v*10+w)==(t=x*100+y*10+z))

printf(++k%8 ? "%d+%d=%d " : "%d+%d=%d ",r,s,t);

if(k%8)

putchar(' ');

return 0;

}

D. C语言:1~9这9个数字,不重复组成3个3位数,使一个数是第一个的2倍,最后一个是第一个的3倍,咋写

这题可以用最笨的办法解决——

代码文本:

#include "stdio.h"

int main(int argc,char *argv[]){

int a,b,c,x,y,z,i,j,k;

printf("The result is as following: ");

for(a=1;a<10;a++)

for(b=1;b<10;b++)

if(b-a)

for(c=1;c<10;c++)

if(c-a && c-b)

for(x=1;x<10;x++)

if(x-a && x-b && x-c)

for(y=1;y<10;y++)

if(y-a && y-b && y-c && y-x)

for(z=1;z<10;z++)

if(z-a && z-b && z-c && z-x && z-y)

for(i=1;i<10;i++)

if(i-a && i-b && i-c && i-x && i-y && i-z)

for(j=1;j<10;j++)

if(j-a && j-b && j-c && j-x && j-y && j-z && j-i)

for(k=1;k<10;k++)

if(k-a && k-b && k-c && k-x && k-y && k-z && k-i && k-j

&& a*200+b*20+c*2==x*100+y*10+z && a*300+b*30+c*3==i*100+j*10+k)

printf(" %d%d%d %d%d%d %d%d%d ",a,b,c,x,y,z,i,j,k);

return 0;

}

E. 怎样使3个数字构成一个三位数的C语言程序

/*要用3个数字构成一个三位数,则百位数字一定不能为0,然后用 100*a+10*b+c来表示即可*/

#include <stdio.h>

void main()
{
int a,b,c;//a代表百位的数字,b代表十位的数字,c代表个位的数字
int number; //number就是最后构成的那个3位数。
/*分别输入3个数字*/
printf("请输入百位数字:");
scanf("%d",&a);
printf("请输入十位数字:");
scanf("%d",&b);
printf("请输入个位数字:");
scanf("%d",&c);

while(a==0) //要表示一个3位数,则百位数字一定不能是0.
{
printf("输入有误,请重新输入!\n");
printf("请输入百位数字:");
scanf("%d",&a);
printf("请输入十位数字:");
scanf("%d",&b);
printf("请输入个位数字:");
scanf("%d",&c);

}

number=100*a+10*b+c;
printf("构成的三位数字是:%d",number);
printf("\n");

}

F. c语言题把1,2,3,4,5,6,7,8,9组合成三个三位数,要求每个数字仅用一次,并且每个三位数均是完全平方数

C语言程序如下:

int main(){

char temp[3];

for(int i = 123;i<=987;i++){

itoa(i, temp, 10);//转换成string

if(temp[0] != temp[1] && temp[0] != temp[2] && temp[1] != temp[2]){

int a = sqrt(i);

if(a * a == i){

std::cout << i << std::endl;

}
}
}
return 0;
}

(6)c语言用不同的数构成一个三位数扩展阅读:

完全平方数性质如下:

(1)、平方数的个位数字只能是 0, 1,4,5,6,9 。

(2)、任何偶数的平方一定能被 4 整除;任何奇数的平方被 4(或 8)除余 1,即被4 除余 2 或 3 的数一定不是完全平方数。

(3)、完全平方数的个位数字是奇数时,其十位上的数字必为偶数。完全平方数的个位数字是 6 时,其十位数字必为奇数。

(4)、凡个位数字是 5 但末两位数字不是 25 的自然数不是完全平方数;末尾只有奇数个 0 的自然数不是完全平方数;个位数字是 1,4,9 而十位数字为奇数的自然数不是完全平方数。

(5)、除 1 外,一个完全平方数分解质因数后,各个质因数的指数都是偶数,如果一个数质分解后, 各个指数都为偶数, 那么它肯定是个平方数。 完全平方数的所有因数的总个数是奇数个。因数个数为奇数的自然数一定是完全平方数。

G. 在c语言中有4个不同的数字让它们组成一个3位数把所有的排位组合形式显示出来这四个数字由用户选择输入

#include"stdio.h"
voidarray(char*p,inti,intn){
intj,t;
if(i-n)
for(j=i;j<=n;j++){
t=p[i],p[i]=p[j],p[j]=t;
array(p,i+1,n);
t=p[i],p[i]=p[j],p[j]=t;
}
else
printf("%s",p+1);
}
intmain(intargc,char*argv[]){
chara[5];
printf("Pleaseenter4differentNumbers... ");
while(1){
scanf("%c%c%c%c",a,a+1,a+2,a+3);
if(a[0]-a[1]&&a[0]-a[2]&&a[0]-a[3]&&a[1]-a[2]&&a[1]-a[3]
&&a[2]-a[3]&&a[0]>'0'&&a[0]<='9'&&a[1]>'0'
&&a[1]<='9'&&a[2]>'0'&&a[2]<='9'&&a[3]>'0'
&&a[3]<='9')
break;
printf("Inputerror,redo:");
fflush(stdin);
}
a[4]='';
printf("Theresultare: ");
array(a,0,3);
printf(" ");
return0;
}

运行样例:

H. c语言中输入三个数字字符,把它们合成一个三位整数

#include
void
main()
{
char
a,b,c;
int
num;
printf("请输入三个字符:");
scanf("%c%c%c",&a,&b,&c);
num=((int)a-48)*100+((int)b-48)*10+((int)c-48);
printf("把他们组成一个3位整数:%d\n",num);
}

I. c语言数学问题,用123456789九个数中每三个拼成一个三位数

就是个深度优先搜索。枚举所有符号可能添加的情况。 { s=0; /*该方式下的和*/ m=1; /*作操作数*/ n=i; /*获取i在3进制下的每一位会破坏i,所以借用变量n来获取*/ op='+'; /*第一次操作方式为+*/ ptr=0; /*指针用来记录运算过程*/ str[ptr++]='1'; /*首先记录一个1*/ for (j=2;j<=9;j++) /*八次循环,每次的下一个操作数是j*/ { if (n%3) /*3进制下的第j-1位数,如果不是0,则要完成先前的操作*/ { if (op=='+') s+=m; else s-=m;m=j; } 这段是在做拆符号的事情,就是根据i的值确定那8个空格填什么 switch(n%3) /*根据这一位的情况进行处理*/ { case 0:m=m*10+j;break; case 1:op='+';break; case 2:op='-';break; } if (n%3) str[ptr++]=op; /*记录运算模式*/ str[ptr++]='0'+j; n/=3; } 就是按照填好的符号,计算表达式的结果然后就是判断是不是是100。

J. 用C语言编程求1234四个数能组成多少互不相同且不重复的三位数

三位数有三个位置,每一个位置看作一个变量,假设为i、j、k,

互不相同且不重复的三位数,即i不等于j且j不等于k且i不等于j,用C语言逻辑表达式描述为:

i!=j&&j!=k&&i!=k

三个位置,每一个位置有1、2、3、4,四种可选值,因此其排列数为4^3 = 64种排列组合方法,三个位置互不相同,按分步乘法原理得一共有4x3x2 = 24种排列方法。编写示例代码如下:

#include<stdio.h>
intmain()
{
inti,j,k,n=0;//n用于统计个数
for(i=1;i<5;i++)
for(j=1;j<5;j++)
for(k=1;k<5;k++)
//保证三位数不重复
if(i!=j&&i!=k&&j!=k)
{
n++;
printf("%d%d%d",i,j,k);
if(n%4==0)
printf(" ");
}
printf(" 一共:%d ",n);
return0;
}