當前位置:首頁 » 編程語言 » c語言中i144
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中i144

發布時間: 2022-05-20 20:16:52

c語言 有特點的數

爭取用清晰的思路和簡短的代碼給你寫一個:
代碼如下:

#include "stdio.h"
#include "conio.h"

main()
{
int a=0,b=0,c=0;
int x=10;
int count=0;
int pingfang=0;
for (x=10 ;x<=31;x++)
{
pingfang=x*x;
a=pingfang%10;
b=(pingfang/10)%10;
c=pingfang/100;
if((a==b&&a!=c)||(a==c&&a!=b)||(b==c&&b!=a))
{
printf("%3d\n",x*x);
count++;
}
}
printf("num is %d",count);
getch();
}

思路:10的平方=100,也一直到31的平方就可以了。所以滿足100-999
然後每個數的個,十,百位分別放在a,b,c中
接著判斷一定要有2個位數相等,而第3個不等於相等的那兩個
統計個數,列印 OK

Dev_C++ 編譯通過
運行結果:
100
121
144
225
400
441
484
676
900
num is 9

祝你好運!

❷ c語言中n個數比大小,然後在從大或者從小輸出該怎麼寫

因n未知,所以得用動態數組完成。舉例代碼如下:

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"stdlib.h"
#include"time.h"
intmain(void){
intn,*p,i,j,k,l;
printf("Inputn(intn>0)... n=");
scanf("%d",&n);
if((p=(int*)malloc(sizeof(int)*n))==NULL){
printf("Applicationmemoryfailure... ");
exit(0);
}
srand((unsigned)time(NULL));
for(i=0;i<n;p[i++]=rand()%1000);
printf("MintoMax: ");
for(l=i=0;i<n;i++){
for(k=i,j=k+1;j<n;j++)
if(p[k]>p[j])
k=j;
if(i!=k){
j=p[k];
p[k]=p[i];
p[i]=j;
}
printf(++l%10?"%-4d":"%-4d ",p[i]);
}
if(l%10)printf(" ");
printf("MaxtoMin: ");
for(l=0,i=n-1;i>=0;printf(++l%10?"%-4d":"%-4d ",p[i--]));
free(p);
if(l%10)printf(" ");
return0;
}

❸ (c語言)如何判斷輸入的一個整數是否為完全平方數且至少有兩位數相同如144 676.....

#include<stdio.h>
voidmain()
{
inti,j,t,k=0,m=0,n,a[100];
scanf("%d",&n);
t=n;
while((float)(t)>=1)
{a[m]=t%10;t=t/10;m++;}
for(i=0;i<m-1;i++)
for(j=i+1;j<m;j++)
if(a[i]=a[j]){k=1;break;}
if(k==1&&sqrt(double(n))==(int)sqrt(double(n)))
printf("%d滿足條件",n);
elseprintf("%d不滿足條件",n);
}

❹ 用c語言編

運行通過...
#include<stdio.h>
void main()
{
int i,j,i1,j1,k,m;
float a;
i=2;j=3;
i1=1;j1=2;
a=(float)i/i1+(float)j/j1;
for(k=0;k<18;k++)
{
i=i+j;
i1=i1+j1;
a+=(float)i/i1;
//printf("\ni/i1==%d/%d",i,i1);
m=i;i=j;j=m;
m=i1;i1=j1;j1=m;
}
printf("%5.3f\n",a);
}

i/i1==2/1
i/i1==3/2
i/i1==5/3
i/i1==8/5
i/i1==13/8
i/i1==21/13
i/i1==34/21
i/i1==55/34
i/i1==89/55
i/i1==144/89
i/i1==233/144
i/i1==377/233
i/i1==610/377
i/i1==987/610
i/i1==1597/987
i/i1==2584/1597
i/i1==4181/2584
i/i1==6765/4181
i/i1==10946/6765
i/i1==17711/10946
32.660
Press any key to continue

❺ 將一個數分成幾份 C語言

#include <stdio.h>
int main()
{
int a[144],i,s;
double n;
printf("請輸入n\n");
scanf("%lf",&n);
for(i=1,s=0;i<=144;)
{
a[i-1]=i;
i*=2;
s+=a[i-1];
}
for(i=1;i<=144;i++)
{
a[i-1]*=n/s;
}
return 0;
}

❻ c語言編程:編程統計數字4在一個數中出現的次數。比如4在144中出現了2次。

#include<stdio.h>

intmain(){
longintn;
intcount,i=0;
while(scanf("%ld",&n)!=EOF){
count=0;
while(n){
if(n%10==4)count++;
n/=10;
}
printf("%d ",count);
}
}

❼ C語言入門好簡144第16有ABCDE參加一項比賽

最終的排名順序:E,D,A,C,B 。分別用12345表示ABCDE的話,是 54132

代碼:

#include<stdio.h>

//窮舉所有比賽名次的可能
voidgetAll(int[120]);

//在5位數z中是否含有2位數n在其中,例如:12345總含有12、23、34、45,不含有21、25、89、。。。
//藉以判斷猜測結果中是否有對的相鄰名次
intfun1(intz,intn);

//當前可能性z是否符合對甲的猜測的分析條件:不等於甲的猜測、並且沒有相鄰名次
intfun2(intz);

//是否沒猜中任何一個名次12345
//intfun3(intright,intguess);

//當前可能性z是否符合乙猜測的情況:猜中2個名次,且猜測中含有(真實情況中)兩隊相鄰名次
intfun4(intz);

//返回猜對的名次個數
intfun5(intright,intguess);

intmain(){
inti=0;

//求5!=5*4*3*2*1=120(5的階乘,總共有這么多可能)
intn=120;
intarr[n];//總共有n中可能
getAll(arr);

for(i=0;i<n;i++){
if(fun2(arr[i])==1){//先滿足甲未猜中的條件
if(fun4(arr[i])==1){//同時滿足乙猜測的情況
printf("result:%d ",arr[i]);
}
}
}
return0;
}

intfun1(intz,intn){
if(z/1000==n)
return1;
if((z/100)%100==n)
return1;
if((z/10)%100==n)
return1;
if(z%100==n)
return1;
return-1;
}

intfun2(intz){
if(fun5(z,12345)!=0)return-1;//猜中的名次不等於0,則不符合甲的情況
if(fun1(z,12)==1)return-1;
if(fun1(z,23)==1)return-1;
if(fun1(z,34)==1)return-1;
if(fun1(z,45)==1)return-1;//甲沒有猜到相鄰名次
return1;
}

voidgetAll(intarr[120]){
inti=0,j=0,k=0,l=0,m=0;
charA='A';
intindex=0;//數組下標
for(;i<5;i++){
j=k=l=m=0;
for(;j<5;j++){
k=l=m=0;
for(;k<5;k++){
l=m=0;
for(;l<5;l++){
m=0;
for(;m<5;m++){
if(!(i==j||i==k||i==l||i==m||j==k||j==l||j==m||k==l||k==m||l==m)){
arr[index]=(i+1)*10000+(j+1)*1000+(k+1)*100+(l+1)*10+(m+1);
//printf("%d ",arr[index]);
index++;
/*
putchar(A+(char)i);putchar('');
putchar(A+(char)j);putchar('');
putchar(A+(char)k);putchar('');
putchar(A+(char)l);putchar('');
putchar(A+(char)m);putchar('');
putchar(' ');
*/
}
}
}
}
}
}
}
/*
intfun3(intright,intguess){
if(right/10000==guess/10000)return1;//猜中第一名
if((right/1000)%10==(guess/1000)%10)return1;
if((right/100)%10==(guess/100)%10)return1;
if((right/10)%10==(guess/10)%10)return1;
if(right%10==guess%10)return1;
return-1;//沒猜中任何一個名次
}*/

intfun5(intright,intguess){
intretval=0;
if(right/10000==guess/10000)retval++;//猜中第一名
if((right/1000)%10==(guess/1000)%10)retval++;
if((right/100)%10==(guess/100)%10)retval++;
if((right/10)%10==(guess/10)%10)retval++;
if(right%10==guess%10)retval++;
returnretval;//沒猜中任何一個名次
}
//DAECB41532猜中2個名次,兩對學生名次相鄰
intfun4(intz){
if(fun5(z,41532)!=2)return-1;//猜中2個名次

intnum=0;//有num對相鄰名次
if(fun1(z,41)==1)num++;
if(fun1(z,15)==1)num++;
if(fun1(z,53)==1)num++;
if(fun1(z,32)==1)num++;
if(num!=2)return-1;//兩對學生名次相鄰
return1;
}

❽ C語言進制轉換

計算機中常用的數的進制主要有:二進制、八進制、十進制、十六進制。  

2進制,用兩個阿拉伯數字:0、1;  

8進制,用八個阿拉伯數字:0、1、2、3、4、5、6、7;  

10進制,用十個阿拉伯數字:0到9;  

16進制就是逢16進1,但我們只有0~9這十個數字,所以我們用A,B,C,D,E,F這五個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。 

下面用余數短除法把十進制數轉化為二進制數為例進行說明

1、明確問題。舉個例子,我們現在是要將一個十進制數字156轉換成二進制數字。先將這個十進制數作為被除數寫在一個倒著的「長除法」的符號里。把目標數系的基數(在這里二進制是「2」)作為除數寫在這個除法符號的外面。用這個方法將計算過程可視化會更方便理解,因為整個計算過程只需將數字一直除以2。

活用這個方法可以將所有十進制數字轉換成任何進製表達。除數為2是因為我們最終想得到的以2為基數的數(即二進制數值) 。如果最終想得到其他數系的數字,用目標數系的基數代替這個方法里二進制的基數2 就可以了。例如,要得到基數為9的數,就用9來代替2作為除數 。最終的結果就是目標數系的數字表達。

(8)c語言中i144擴展閱讀:

十進制--->二進制

對於整數部分,用被除數反復除以2,除第一次外,每次除以2均取前一次商的整數部分作被除數並依次記下每次的余數。另外,所得到的商的最後一位余數是所求二進制數的最高位。

對於小數部分,採用連續乘以基數2,並依次取出的整數部分,直至結果的小數部分為0為止。故該法稱「乘基取整法」

十進制--->八進制

10進制數轉換成8進制的方法,和轉換為2進制的方法類似,唯一變化:除數由2變成8。

❾ C語言,已知程序,寫出流程圖和NS結構圖(題目:既是完全平方數,又有兩位數字相同的三位正整數,如144)

給,嚴格按照源碼畫的NS流程圖!