1樓:網友
21位水仙花數。
#include
#include
#include
#define digit 21
char pow[digit][50]=;儲存0到9的digit次方。
int countnumber[10];/0-9的個數。
char powdigit[10][digit+1][digit*3];/儲存(0-9的21次方)*(0-9的個數)
char countdigit[3]=;
大整數加法。
void add(char* result,char* a,char* b)
int temp[50]=;
int k=0,j,i;
i=strlen(a)-1,j=strlen(b)-1;
相加 while(i>=0 &&j>=0);
int k=0,j,i;
i=strlen(a)-1,j=strlen(b)-1;
相減 while(i>=0 &&j>=0);
int k=0,j,i;
int len1=strlen(a),len2=strlen(b);
相乘 for(i=len1-1;i>=0;i--)儲存上一次的結果。
int tempcountnum[10]=;
static int lasenum[10]=;儲存上一次的各個數字的個數。
for(i=1;i<10;i++)
if((temp=countnumber[i]-lasenum[i])<0){
sub(sum,sum,powdigit[i][-temp]);
lasenum[i]+=temp;
else if(temp>0){
add(sum,sum,powdigit[i][temp]);
lasenum[i]+=temp;
for(i=0;i=start;i--)
countnumber[n]=i;
if(count+i>digit)
continue;
return;
findnumber(n-1,count+i);
int main()
int start=clock();
init();
printf("21位水仙花數有:");
findnumber(9,0);
printf("用時:%d ms",clock()-start);
return 0;
求乙個100行左右的c、c++小程式源**,
2樓:網友
看到有人要乙個可以新增/刪除/查詢大巴發車資訊,並且要有管理密碼的 ,是不是我可以用乙個**得兩個分 哈哈, 開微笑的 醉鬼現在寫不粗**。
推薦幾個用c++編寫的一百行左右的程式
3樓:s飯糰
#include
using namespace std;
#include
class string
elsebool operator==(const string& s2)~string()
string operator+(const string& s)for(j=0;j<;j++)
temp[sum]='\0';
return temp;
void show()
void main()
string s7="聶",s8="小倩",s9;
s9=s7+s8;
cout<<"---"<;}176行 自己執行。
求100行左右的**(c語言,c++,資料結構編寫的均可)
4樓:誰把誓言換流年
10轉8進位《帶小數點和負數的運算》
演算法思想:整數部分,由於轉換的方法剛好複合棧先進後出的規律,直接進棧讀數,小數部分,由於和整數部分相反,如果要進入棧的話,出棧後先存入陣列,再從後向前讀出,關於小數點的輸入,在8進位的數中必定不存在9這個數字,判斷若輸入的數為帶小數的數字,則置flag2為1,轉換函式中若flag2為1,將flag=9入棧,輸出時,若輸出的棧內數為9則輸出小數點,其他均輸入該數本身。
#include
#include
#include
typedef struct stack
stacknode,*linkstack;
linkstack init_linkstack()linkstack push(linkstack top,int x)
linkstack pop(linkstack top)int readtop(linkstack top)int treat1(int n)
float treat2(float c)void main()
n=d;if(n==0)printf("0");
p=d-n;
if(p==0)flag2=0;
else flag2=1;
i=-1;flag1=9;
top=init_linkstack();
while(p!=0)
k=i;while(i>=0)
while(k>=0)
top=push(top,b[k--]
if(flag2==1)
top=push(top,flag1);
while(n!=0)
while(top!=null)
printf("");}
5樓:網友
#include
using namespace std;
void quicksort(int *pdata,int left,int right)
while(i<=j);//如果兩邊掃瞄的下標交錯,就停止(完成一次)
當左邊部分有值(lefti),遞迴右半邊if(right>i)
int main()
const int count(6);
quicksort(data,0,count);
for(int i(0);i!=7;++i)cout 6樓:網友 費氏搜尋法。 #include #include #include #include #include #include #define int_min -9999 void createfibonacci(int, int); // 建立費氏數列。 int findy(int, int); // 找y值。 int fibonaccisearch(int, int, int); // 費氏搜尋。 int main(void) ; int length = sizeof(number) / sizeof(int); printf("數列:"); int i; for(i = 0; i < length; i++) printf("%d ", number[i]); printf("輸入尋找物件:"); int find; scanf("%d", &find); if((i = fibonaccisearch(number, length, find)) = 0) printf("找到數字於索引 %d ", i); elseprintf("找不到指定數"); printf(""); return 0; / 建立費氏數列。 void createfibonacci(int fib, int length) 找 y 值。 int findy(int fib, int n) 費式搜尋。 int fibonaccisearch(int number, int length, int find) createfibonacci(fib, length); int y = findy(fib, length + 1); int m = length - fib[y]; int x = y - 1; printf("x = %d, m = %d, fib[x] = %d", x, m, fib[x]); int i = x; if(number[i] i += m; int result = -1; while(fib[x] >0) free(fib); return result;} 求乙個簡單的c++程式,要求不下100行,註釋清楚。謝謝各位高手了。 7樓:兩極漂流 // // 佇列。 #include using namespace std; 佇列結點類。 class node private: int data; node *next; //佇列類。 class queue bool empty() void push( int ); void pop(); int front() const int back() const private: node *que_rear; node *que_front; //入隊。 void queue::push( int num )}//出隊。 void queue::pop() int main() if( )else cout<<"隊首元素為:"<< 你當是寫作文啊,立意自定,題目自定,自選題材。作文也要一箇中心思想吧 c語言初學者求助,一個程式設計題,大神看看我編的程式是否有錯誤。好吧我覺copy得樓上兩位簡直bai就是亂來的。這個是最基本的判斷du選擇語句。上題中,假設zhia小於30,則m 1.否則dao a大於等於30 且a小於40,則m... 不知道你是要組合語言的還是c語言的,我給你兩個吧。mov a,0feh mov p1,a 讓第一個亮。acall delay 呼叫延時子程式,下面的都是一樣的。main mov a,0fdh loop mov p1,a acall delay rl a 左移。jb loop 判斷是否亮了,沒有,就跳... 這是一個玩五子棋的例子 include include include class five int getm int getn void getpointxy void getpointmn void machinemn void showqipan void print bool isxywin...怒求簡單的100行左右的c語言程式最好是新編
做微控制器實習,求個51的簡單程式
求50行左右的c語言程式設計,求一個50行左右的C語言程式設計。