當前位置:首頁 » 編程語言 » 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;
}