當前位置:首頁 » 編程語言 » c語言好數

c語言好數

發布時間: 2023-05-04 14:56:21

『壹』 二級c語言優美數程序怎麼寫好求程序段。求高手。

#include<stdio.h>
#include<string.h>
#define N 10000
int yms[10000][3],cnt,visit[10];//cnt用於記錄個數
int cheak(int a,int b)
{
int c,i;
c=a+b;
if(c>10000)
return 0;
memset(visit,0,sizeof(visit));
while(a)
{
if(visit[a%10])
return 0;
visit[a%10]=1;
a=a/10;
}
while(b)
{
if(visit[b%10])
return 0;
visit[b%10]=1;
b=b/10;
}
while(c)
{
if(visit[c%10])
return 0;
visit[c%10]=1;
c=c/10;
}
for(i=0;i<爛悶10;i++)
if(visit[i]==0)
return 0;
return 1;
}
int fun()
{
int a,b;
cnt=0;
for(a=10;a<=99;a++)
for(b=100;b<=9999;b++)
{
if(cheak(a,b))
{
yms[cnt][0]=a;
yms[cnt][1]=b;
yms[cnt][2]=a+b;
cnt++;
}
}
for(a=100;a<=999;a++)
for(b=100;b<飢笑彎=9999;b++)
{
if(cheak(a,b))
{
yms[cnt][0]=a;
yms[cnt][1]=b;
yms[cnt][2]=a+b;
cnt++;
}
}
return cnt;
}
void print()
{
int i;
for(i=0;i<cnt;i++)
{
printf("%d+%d=%d\n"升臘,yms[i][0],yms[i][1],yms[i][2]);
}
}
int main()
{
fun();
print();
return 0;
}

『貳』 C語言中如何定義數組

數組定義的三種方式

1、第一種

int []a = newint[5];

a[0] = 10;

2、第二種

int []c = newint[]{1,2,3};

3、第三種

int []i ={1,2,3,4};

4、錯誤的寫法

int []i1 = [1,2,3,4];

System.out.println(Arrays.toString(c));

5、總之,具體的元素不能被【】包裹。【】包裹的應該是數組的數量。

(2)c語言好數擴展閱讀

數組的注意事項:

1、 數組中每個元素的數據類型必須相同,對於inta[4];,每個元素都必須為 int。

2、 數組長度 length最好是整數或者常量表達式,

3、 訪問數組元素時,下標的取值范圍為 0 ≤ index < length,

參考資料

網路-數組



『叄』 c語言 K好數

動態規劃

代碼供參考

#include<stdio.h>
intf[101][101];
intmain()
{
intk,l,i,j,p;
intsum=0;
scanf("%d%d",&k,&l);

for(i=0;i<=k-1;i++)
f[1][i]=1;

for(i=2;i<基橘=l;i++)
{
for(j=0;j<=k-1;j++)
{
for(p=0;p<搏畢團=k-1;p++)
{
if(p!=j-1&數辯&p!=j+1)
{
f[i][j]+=f[i-1][p];
if(f[i][j]>1000000007)f[i][j]%=1000000007;
}
}

}
}

for(i=1;i<=k-1;i++)
{
sum+=f[l][i];
if(sum>1000000007)sum%=1000000007;
}
printf("%d",sum);
return0;
}

『肆』 c語言好玩的函數

桌面下雪程序:#include<windows.h>
#include<time.h>
#include<stdlib.h>
#include<iostream.h>const int SnowNumber=500; //雪點數量struct SnowNode
{
POINT postion; //雪點位置
int iColor; //先前的顏色
int iSpeed; //下落老山塌速度
int iMove; //下落距離
int iStick; //粘貼度
};SnowNode SnowNodes[SnowNumber]; //雪點數組
int hTimer=0;
int CrWind=0;
int CrStep=0; //當唯搭前循環步數(用於限速)
int ScreenWidth=0; //屏幕寬度
int ScreenHeight=0; //屏幕高度void GetScreenSize();
void CALLBACK TimerProc(HANDLE hWnd,UINT uMsg,UINT idEvent,DWORD dwTime);
void InitSnowNodes();
void MoveSnowNodes();int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{

MSG msg; //標准windows消息
LARGE_INTEGER Frequency; //高性能定時器頻率
LARGE_INTEGER StartCt,EndCt;//高性能定時器計數
float ElapsedTime; //時間間隔
srand((unsigned)time(NULL));
GetScreenSize();
InitSnowNodes();
QueryPerformanceFrequency(&Frequency);
hTimer=SetTimer(0,0,rand()%5*500,(TIMERPROC)TimerProc);
if(hTimer==0)
{
MessageBox(0,TEXT("創建定時器失敗"),TEXT("提示"),MB_OK|MB_ICONINFORMATION);
return -1;
}
RegisterHotKey(0,0,MOD_CONTROL,(int)'L');
while(1)
{
QueryPerformanceCounter(&StartCt); //執行運算前計數值
if(PeekMessage(&msg,0,0,0,1))
{
switch(msg.message)
{
case WM_TIMER: TimerProc(0,0,0,0);
break; //預設風向改變時間已到
case WM_HOTKEY: KillTimer(0,hTimer);//刪除隨機風向定時 器
UnregisterHotKey(0,0);//刪除退出熱鍵
InvalidateRect(0,NULL,true);
exit(1);
break;
case WM_DISPLAYCHANGE:
GetScreenSize(); //重新侍圓取屏幕的尺寸
InitSnowNodes(); //初始化雪點的數組
break;
}

}
MoveSnowNodes();
QueryPerformanceCounter(&EndCt);//執行運算後的計數值
ElapsedTime=(EndCt.QuadPart-StartCt.QuadPart)/Frequency.QuadPart;
if((ElapsedTime<0.0005))
Sleep(2); //簡單限速
else if(ElapsedTime<0.0010)
Sleep(1);
else if(ElapsedTime<0.0015)
Sleep(3);

}
//MessageBox(0,TEXT(「消息「),TEXT(「消息「),MB_OK|MB_ICONINFORMATION);
return 0;
}
void GetScreenSize()
{
ScreenWidth=GetSystemMetrics(SM_CXSCREEN);
ScreenHeight=GetSystemMetrics(SM_CYSCREEN);
return ;
}void CALLBACK TimerProc(HANDLE hWnd,UINT uMsg,UINT idEvent,DWORD dwTime)
{
// MessageBox(0,TEXT(「消息「),TEXT(「消息「),MB_OK|MB_ICONINFORMATION);
srand((unsigned)time(NULL));
if(hTimer==0)
{
MessageBox(0,TEXT("創建定時器失敗"),TEXT("提示"),MB_OK|MB_ICONINFORMATION);
return ;
}
SetTimer(0,hTimer,((rand()%27+4)*500),(TIMERPROC)TimerProc); //// 重設下次風向改變時間
//修改風向
if(CrWind!=0)
CrWind=0;
else
CrWind=rand()%3-1;
return ;
}void InitSnowNodes()
{
HDC hScreenDC=0;
int j=0;
hScreenDC=CreateDC("DISPLAY",NULL,NULL,NULL);
if(hScreenDC==NULL)
{
MessageBox(0,"獲取屏幕DC失敗!","信息",MB_OK|MB_ICONERROR);
return ;
}
srand((unsigned)time(NULL));
for(j=0;j<SnowNumber;j++)
{
SnowNodes[j].postion.x=rand()%ScreenWidth;
SnowNodes[j].postion.y=rand()%ScreenHeight;
SnowNodes[j].iColor=GetPixel(hScreenDC,SnowNodes[j].postion.x,SnowNodes[j].postion.y);
SnowNodes[j].iSpeed=(rand()%5+1); //每次下落距離(1-5)
SnowNodes[j].iStick=(30-rand()%SnowNodes[j].iSpeed); //粘貼度(幾次循環作一次粘貼連判斷
// cout〈〈SnowNodes[j].postion.x〈〈「 Y:「〈〈SnowNodes[j].postion.y〈〈endl;

}
DeleteDC(hScreenDC);
}void MoveSnowNodes()
{
// MessageBox(0,TEXT(「消息「),TEXT(「消息「),MB_OK|MB_ICONINFORMATION);
HDC hScreenDC=0;
srand((unsigned)time(NULL));
int x=0,y=0,i=0;
hScreenDC=CreateDC("DISPLAY",NULL,NULL,NULL);
if(hScreenDC==NULL)
{
MessageBox(0,"獲取屏幕DC失敗!","信息",MB_OK|MB_ICONERROR);
return ;
}
// TextOut(hScreenDC,0,0,「雖然大檢查順順藤摸瓜克格勃呀加「,0);
for(i=0;i<SnowNumber;i++)
{
//控制雪點下降速度
if((CrStep%SnowNodes[i].iSpeed)!=0)
continue;
//恢復上次被覆蓋點
if((GetPixel(hScreenDC,SnowNodes[i].postion.x,SnowNodes[i].postion.y))==0XFFFFFF)
SetPixel(hScreenDC,SnowNodes[i].postion.x,SnowNodes[i].postion.y,SnowNodes[i].iColor);
//根據幾向作隨機飄落
x=SnowNodes[i].postion.x+rand()%3+CrWind;
y=SnowNodes[i].postion.y+SnowNodes[i].iMove;

//積雪(停留)效果處理
if( ( (CrStep%SnowNodes[i].iStick)==0)
&&( (GetPixel(hScreenDC,x,y))!=(GetPixel(hScreenDC,x,y+1)))
&&( (GetPixel(hScreenDC,x-1,y))!=(GetPixel(hScreenDC,x-1,y+1)))
&&( (GetPixel(hScreenDC,x+1,y))!=GetPixel(hScreenDC,x+1,y+1))
)
{
//稍稍調整坐標
if(GetPixel(hScreenDC,x,y-1)==GetPixel(hScreenDC,x,y-2))
{
y--;
}
else
{
if(GetPixel(hScreenDC,x,y-1)==GetPixel(hScreenDC,x,y-2))
y++;
x+=CrWind;
}
//畫三個雪花點
SetPixel(hScreenDC,x,y,0XFFFFFF);
SetPixel(hScreenDC,x+1,y+1,0XFFFFFF);
SetPixel(hScreenDC,x-1,y+1,0XFFFFFF);
//重生雪點
SnowNodes[i].postion.x=rand()%ScreenWidth;
SnowNodes[i].postion.y=rand()%10;
SnowNodes[i].iColor=GetPixel(hScreenDC,SnowNodes[i].postion.x,SnowNodes[i].postion.y);

}
else
{
if( (x<0) || (x>ScreenWidth) || (y>ScreenHeight))
{
SnowNodes[i].postion.x=(rand()%10);
SnowNodes[i].postion.y=(rand()%ScreenWidth);
SnowNodes[i].iColor=GetPixel(hScreenDC,SnowNodes[i].postion.x,SnowNodes[i].postion.y);

}
else
{
//保存顏色並繪制雪點
SnowNodes[i].iColor=GetPixel(hScreenDC,x,y);
SetPixel(hScreenDC,x,y,0XFFFFFF);
//此時保存新雪點位置
SnowNodes[i].postion.x=x;
SnowNodes[i].postion.y=y;
}
}

}
DeleteDC(hScreenDC);
CrStep++;
}

『伍』 要入門c語言,有什麼好書介紹,入門高數的又有什麼好書介紹

《c primer plus》 強烈衫皮推薦C初學者看,能對C語言有個系統氏老和嚴謹的認識殲塌升,為以後這方面的提高有很大幫助。如果僅僅為了考 試,那國內的譚浩強編的教科書就可以了。無論什麼書,所有的例題和每章後的編程練習題一定要自己推敲,認真做,那一定會有很大收獲。

高數的話都差不多。科學教育出版社的輔 導書也都不錯。

『陸』 學C語言 還必須要數學好么

基礎的C語言對數學要求不是很高,但是要想精通達橡改到很高,數學底子就要好點。因為數學好了,演算法就簡單,程序虛或也會簡單高效很多。其實C語言也是編程語言的基礎。總之一句話,數學底子越好,對梁譽判編程也越好!!!!!

『柒』 如何學好c語言,學習c語言最好的書(從初級到高級

理論學習的話,譚浩強的書,只能說是入門...很多東西都解釋不到位,特別是C的指針...《C和指針》嘛還是不錯的,如果還想提升可以看看《C專家編程》、《C陷阱和缺陷》。

除了語言,最重要的還是數據結構/演算法,建議你看看嚴蔚敏的《數據結構》,國內考研都看這本。演算法的話,可以看看《演算法:C語言伏叢實現》和《算宴棗法導論》。不過不論是演算法還是數據結構,都比較虛,這點可能和你的要求相反。

如果你想搞實際的開發的話,最好能夠轉型,比如C或者java之類的,C的程序效率高,但開發效率太低,一般都用於偏底層的開發,如驅動什麼的(這種東西更加看不到了),圖形的軟體之類的,現在一般都用其他缺祥櫻語言寫的。

『捌』 C語言 查找好數

應該是一個按位DP問題
設f(x)為0到x滿足條件的個數,
那麼題目要模芹求的是f(x,y),x到y滿足條件的個數悄閉
f(x,y) = f(y) - f(x-1)
關鍵是如何求f(x)
我再想想旦運畢

熱點內容
不同域訪問 發布:2025-07-03 02:49:05 瀏覽:818
多槽編程 發布:2025-07-03 02:47:42 瀏覽:918
sql2008錯誤233 發布:2025-07-03 02:28:52 瀏覽:168
創建資料庫語句mysql 發布:2025-07-03 02:14:34 瀏覽:146
python量化投資 發布:2025-07-03 02:05:11 瀏覽:804
proxy代理伺服器地址 發布:2025-07-03 01:56:52 瀏覽:910
ps選區存儲 發布:2025-07-03 01:55:21 瀏覽:842
sql2008連接數 發布:2025-07-03 01:55:20 瀏覽:246
androidstring 發布:2025-07-03 01:53:55 瀏覽:183
密碼sql注入 發布:2025-07-03 00:44:07 瀏覽:555