導航:首頁 > 廢水知識 > 用指針判斷7位迴文數

用指針判斷7位迴文數

發布時間:2020-12-23 12:54:16

Ⅰ 判斷一個鏈表是不是迴文數,要求O(n)時間

1. 使用2個指針,快慢指針各一個,每次快指針移動一個,慢指針移動2個。 2. 當快指針不為NULL時候,將慢指針push到棧中。 3. 當快指針等於NULL時候,說明鏈表前半部分已經被壓入棧中。 4. 每次棧Top元素與當前慢指針元素比較,如果不相等則返回false。如果相等,則棧Pop,慢指針++。 5. 鏈表奇數或者偶數節點需要判斷。 #include <iostream #include <stack struct node{int data;node* next; node(int eData, node* eNext){data = eData; next = eNext;}}; bool isPanli(node* head){std::stack<node* stk; node* slow = head; node* fast = head; bool flag = false; while (fast){stk.push(slow); slow = slow-next; fast = fast-next;if (fast){fast = fast-next;}elseflag = true;}if (flag)stk.pop(); while (!stk.empty()){if (stk.top()-data == slow-data){stk.pop();slow = slow-next;}elsereturn false;} return true;};int main(){node* n5 = new node(1, NULL); node* n4 = new node(2, n5); node* n3 = new node(3, n4); //node* n2 = new node(3, n3);node* n1 = new node(2, n3);

Ⅱ C語言指針,判斷是否是迴文

參數應為char *p.

另外, strlen參數應為p而不是*p .

最後 雖然你這個修改後可以實現判斷, 但嚴格來說內不算是利用指針實容現.

修改如下

#include<stdio.h>
intmain(void)
//判斷字元串是否是迴文
{
inti=0,flag;
charstr[80];
intyes(char*p);//

printf("請輸入字元串:");
while((str[i]=getchar())!=' ')i++;
str[i]='';

flag=yes(str);
if(flag)printf("%s是迴文 ",str);
}
intyes(char*p)
{
char*e=p;
while(*e)e++;
--e;
while(p<e&&*p==*e)
{
p++;
e--;
}
if(p>=e)return1;
return0;
}
/*

asadasa

*/

Ⅲ 編程題 1) 請使用指針編程實現:判斷一個數是否為迴文數。(要求:判斷功能單獨使用函數實現) 說明:迴文數

#include<stdio.h>
int hw(int*p)
{
int t=0,n=*p;
while(*p)
{
t=t*10+*p%10;
*p/=10;
}
if(t==n)
return 1;
return 0;
}
int main()
{
int num,m;
printf("輸入num:");
scanf("%d",&num);
m=num;
if(hw(&m))
printf("是迴文!版!\n");
else
printf("不是權迴文!!\n");
}

Ⅳ 大一剛學C語言,請問大蝦,判斷整數迴文如何編程。不能用數組和指針。最好有詳細過程。

^bool check(int x){
int i,j,maxx;//這里默認int變數上限為2^31-1,如有需要可以把int改為long
for (maxx=1;maxx<x;maxx*=10);
maxx/=10;//為後面截取最高位做准備
while (x>=10){//進行循環檢測這個整數的最高位和最低位,直至只剩中間一位或不剩
i=x/maxx;//截取整數最高位
j=x%10;//截取整數最低位
if(i!=j) break;
x%=maxx;x/=10;//整數刪去最高位最低位
maxx/=100;//為後面截取最高位做准備
}
return (x<10);//若x<10,則該數滿足要求是迴文數
}

對LZ的程序做一個評價吧:
首先,只有一位的數字是迴文數。
而且,按LZ的程序看,像12341這樣的數字也可以被判斷成迴文數,只有兩邊數字完全不一樣的數才不是迴文數。而且k沒有賦初值。
建議刪去if(n==1)這個條件句
另外,把逐一比較的for語句修改如下:
for(i=0,j=n-1,k=1;i<j;i++,j--)//k賦初值1,兩邊不需要重復比較兩次,所以修改成i<j
{
if(A[i]!=A[j])//只要有一對數位不符合條件它就不是迴文數
k=0;
}
我的程序第二行為什麼會看不懂?……只是對局部變數的聲明而已,是范圍沒弄明白?范圍可以無視。。
另外,LZ說的不能用數組和指針,我被迫這么寫。。

希望能給你幫助

你忘了一件最最重要的事:A數組沒有計算!(但是是你說不能用數組指針啊)

while(s>0)
{
s=s/10.0;
n++;/*得到n的值為A的位數*/
}
改為
while (s>0)
{a[n]=s%10;s/=10;/*其實得到的序列是這個數字倒過來的序列,但是迴文數倒著判斷還是迴文數,所以無所謂*/
n++;/*得到n的值為A的位數*/
}
另外說明一下,我為了計算機競賽從初一就開始學C了,現在上高一,有什麼問題可以找我,我盡量幫忙

Ⅳ C++用指針判斷迴文數

#include<iostream>
usingnamespacestd;
intx,y;
judge(int*data,intlen)
{
inti,j,f=0;
for(i=0,j=len-1;i<=j;i++,j--)
{
if(*(data+i)!版=*(data+j))
{
f=1;cout<<"不是迴文!權!! ";break;
}
}
if(f==0)
cout<<"是迴文! ";
}
separate(int*data,intn)
{
intj,k,t;
y=0;
while(n!=0)
{
*(data+y)=n;n=n/10;y++;
}
*(data+y)='';
for(j=0,k=y-1;j<=k;j++,k--)
{
t=*(data+j);*(data+j)=*(data+k);*(data+k)=t;
}
}
voidmain()
{
inta[99];
cin>>x;///輸入一個整數
separate(a,x);
judge(a,y);
}

Ⅵ c語言編程 利用字元串指針編寫 一程序求所有不超過200的N值,N的平方是具有對稱性的迴文數

#include<stdio.h>

int palindrome(unsigned int x)
{
unsigned int y;
unsigned int s=0;
y=x;
while(y>0)
{
s=s*10+y%10;
y=y/10;
}
if(s==x)
return 1;
else
return 0;
}

void main()
{
printf("符合條件的N為:回 N平方答為:\n");
for(int n=1;n<=200;n++)
{
if(palindrome(n*n))
{
printf(" %-5d %-5d\n",n,n*n);
}
}
}

運行結果如下:
符合條件的N為: N平方為:
1 1
2 4
3 9
11 121
22 484
26 676
101 10201
111 12321
121 14641
Press any key to continue

Ⅶ 編寫一個函數,判斷其int型參數值是否為迴文數(用數組實現)

把正數轉換成字元串處理,十分方便: int palindrome(int num) { int ret=1; char str[10],s1[5],s2[5]; int i,len; itoa(num,str,10); len=strlen(str); /*長度為偶數返回回0*/ if(len== 0) { ret=0; } /*將它分答割為2個字元串*/ for(i=0;i<(len 1)/2;i ) { s1[j ]=str[i]; } s1[j]='\0'; j=0; for(i=len-1;i>=(len 1)/2-1;i--) { s2[j ]=str[i]; } s2[j]='\0'; /*不相等返回0*/ if(strcmp(s1,s2) != 0) { ret=0; } return ret; } 以上函數判斷迴文,是迴文返回1,不是返回0

Ⅷ 使用指針判斷一個數是否為迴文數

#include<stdio.h>
int hw(int*p)
{
int t=0,n=*p;
while(*p)
{
t=t*10+*p%10;
*p/=10;
}
if(t==n)
return 1;
return 0;
}
int main()
{
int num,m;
printf("輸入num:");
scanf("%d",&num);
m=num;
if(hw(&m))
printf("是迴文!!\n");
else
printf("不是迴文!!\n");
}

閱讀全文

與用指針判斷7位迴文數相關的資料

熱點內容
大流量袋式過濾器生產基地 瀏覽:995
反滲透什麼情況下爆破膜爆破 瀏覽:37
國家生物污水排放標准 瀏覽:355
污水廠工程工藝流程 瀏覽:918
破碎錘帶回油濾芯干什麼用 瀏覽:541
金正立式飲水機怎麼清洗 瀏覽:548
java過濾換行符 瀏覽:199
飲水機裡面放出來的水特別臟怎麼辦 瀏覽:924
純水機拍出來的廢水 瀏覽:929
污水處理廠三年規劃目標 瀏覽:630
回收二手過濾機 瀏覽:155
大車濾芯怎麼賣 瀏覽:472
半透膜蔗糖和葡萄糖液面變化 瀏覽:1000
青島市生活污水氨氮吹脫塔哪裡有 瀏覽:775
用過的君子蘭土能否回用 瀏覽:417
機油濾芯可以用什麼代替 瀏覽:634
如何拆鴻芯直飲凈水器 瀏覽:398
自製蒸餾葡萄酒 瀏覽:741
酚醛樹脂專用丁腈橡膠 瀏覽:852
超濾管3k與10k的區別 瀏覽:870