c語言怎麼編譯迴文
#include<stdio.h>
/*****考生在以下空白處編寫函數f******/
intf(inti)
{
intm;
if(i<100)
{
inta,b;
a=i/10;
b=i-10*a;
if(a==b)
{
m=1;
}
elsem=0;
}
else
{
inta,b,c;
a=i/100;
b=(i-100*a)/10;
c=i-100*a-10*b;
if(a==c)
{
m=1;
}
elsem=0;
}
returnm;
}
/*****考生在以上空白處編寫函數f******/
#include<math.h>
voidmain()
{FILE*fp;inti;longk=0;
for(i=11;i<1000;i++)
if(f(i)){printf("%5d",i);k++;if(k%10==0)putchar(' ');}
putchar(' ');
printf("%d ",k);
fp=fopen("CD2.dat","wb");
fwrite(&k,4,1,fp);
fclose(fp);
}
❷ C語言編程求迴文的程序,我是初學者,以下程序看不懂,求高手解釋。
求迴文數的程序:迴文數是從右向左讀和從左向右讀都是一樣的。比如15651,
1221等。這個程序是驗證用戶輸入的一個四位數是不是迴文數。但是程序好像有錯誤:
舉個例子:用戶輸入5885。先分離數字,a,b,c,d分別等於5,8,8,5。然後判斷a是否等於d且b是否等於c。如果條件滿足則是迴文數,否則不是。
❸ 用c語言實現迴文數的幾種方法
#include<stdio.h>
intgetNum(intnum){
intsum=0;
while(num>0){
sum+=num%10;
num/=10;
}
returnnum;
}
intmain(){
intnum;
printf(" Inputyournum:");
scanf("%d",&num);
if(num==getNum(num)
printf(" This%disnum");
else
printf("No,itisn't");
return0;
}
❹ C語言怎麼編寫一個程序輸出所有5位數字的迴文(急需用)
前兩天剛好幫人寫了個程序, 兩個解決方案, 一個把數字轉換成字元串,然後比較; 另一個則是直接數字判斷, 不受位數的限制(基本上是unsigned long的上限,即最大值4294967295 (10位))
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXDIGITS 10
int IsPalindromeNumber(const unsigned long num);
int IsPalindromeString(const char szstr[], const unsigned int szlen);
int main(int argc, char *argv[])
{
unsigned long l;
char sznum[MAXDIGITS] = {'\0'};
int sum;
int flag = 0;
printf("Printing reverse number from 1 to 99999\n");
sum = 0;
for (l=1; l < 100000; l++)
{
sprintf(sznum, "%lu\0", l);
//flag = IsPalindromeString(sznum, strlen(sznum));
flag = IsPalindromeNumber(l);
if (flag) {
printf("%d\n", l);
sum++;
}
}
printf("Sum = %d\n", sum);
return 0;
}
int IsPalindromeNumber(const unsigned long num)
{
unsigned long rev_num, tmp_num;
unsigned long num_p;
if (num < 10)
return 0;
num_p = num;
rev_num = 0;
while (num_p !=0 )
{
tmp_num = num_p % 10;
num_p = num_p / 10;
rev_num = rev_num * 10 + tmp_num;
}
return ((rev_num == num)?1:0);
}
int IsPalindromeString(const char szstr[], const unsigned int szlen)
{
int retcode = 1; /* return code, 1 means TRUE */
int i, j;
if (szlen <= 1)
return 0;
for (i=0,j=szlen-1; i<j; i++,j--)
{
if (szstr[i] != szstr[j])
{
retcode = 0;
break;
}
}
return retcode;
}
IsPalindromeNumber -- 直接數字轉換
IsPalindromeString -- 轉換成字元串, 然後判斷。
❺ 大佬們,求請教這道迴文數用c語言怎麼編吶
用一定的演算法可以實現將一個整數的每個位都列印(提取)出來,只不過是反序的,利用這點構成一個新的數,如果新的數與原數相等,可以認定是迴文數
#include<stdio.h>
void main() { int x,y,xx;
scanf("%d",&x); xx=x; y=0; while ( xx!=0 ) { y*=10; y+=xx%10; xx/=10; }
printf("%d",x); if ( x!=y ) printf("不");
printf("是迴文數.\n");
}
❻ c語言的迴文語句怎麼寫
#include<stdio.h>
#include<string.h>
intmain(){
charstr1[255],str2[255];
intj,i;
printf("Pleaseenteraword:");
scanf("%s",str1);
for(i=0;str1[i]!='