1到1000的迴文數c語言
㈠ c語言迴文數
//在屏幕上列印出1-1000之間的所有迴文數
#include<stdio.h>
intmain(void)
{
intval;//存放待判斷數字
intm,sum=0;
for(val=1;val<1000;val++)
{
m=val;
do
{
sum=sum*10+m%10;
m/=10;
}while(m);
if(sum==val)
{
printf("%d ",val);
}
sum=0;
}
return0;
}
㈡ C語言1000以內迴文數用流程圖怎麼表示
這不是一個流程圖能表示出來的,可以分模塊進行流程圖設計
一、主程序
1.循環開始
2.顯示主菜單
3.輸入選項
4.根據選項調用相應的子模塊,如果是退出,則退出循環,結束程序
5.返回主菜單(循環開始)
二、各子程序
1、添加數據
輸入數據
打開文件stu.txt(追加模式)
寫入數據
關閉文件
返回主程序
2、數據輸出
打開文件stu.txt(只讀模式)
循環
讀數據到變數中
如果無記錄,則顯示相應錯誤,關閉文件,返回主程序
如果讀到文件尾,則結束循環
顯示數據
循環讀取下一條數據
㈢ 高分求:C語言,求1000以內的迴文數,以每行6個數輸出
#include<stdio.h>
int main()
{
int i,j,k,a,m=0;
for(i=1;i<1000;i++)
{
k=i;
a=0;
while(k!=0)
{
j=k%10;
k=k/10;
a=a*10+j;
}
if(a==i){printf("%d\t",i);m++;}
if(m==6){printf("\n");m=0;}
}
}
這個就可以了,你看看,不明白留言。
㈣ 如何用c語言找出1~999中的所有迴文數
依照數學定義,可以得知1-999中的迴文數包括三類:
1 一位數。只有一位,每個都是迴文數。
2 兩位數。個位和十位相同的兩位數是迴文數,即形式為aa的兩位數,a值為1-9。
3 三位數。個位和百位相同的三位數都是迴文數,即形式為aba的三位數,a值為1-9,b值為0-9。
綜合以上規律,可以寫出以下程序:
#include<stdio.h>
intmain()
{
inti,j;
for(i=1;i<10;i++)
{
printf("%d,",i);//一位數
printf("%d%d,",i,i);//兩位數
for(j=0;j<10;j++)
printf("%d%d%d,",i,j,i);//三位數
printf(" ");//為方便閱讀結果,加一個換行。
}
return0;
}
該函數輸出為:
㈤ C語言題目: 求1-1000以內迴文數之和
首先要了解迴文數的概念:比如:12321
,25852等等。所以編程的步驟:
先定義一個數組(0-10000);再定義另一個數組用來保存迴文數,在此可以用調用含數;然後求出所有迴文數;最後用一個循環把它們全部加起來,輸出就好了。
㈥ c語言填空,輸出1000以內迴文數,迴文數就是正著反著讀都一樣,比如11,383,585
y==x
b=10*b+m
--------------------------
解釋如下: 照這個程序的話,int rev(int a)函數的作用是實現數字的翻轉,其中a是要翻轉的數,例如 345,翻轉城543,如果是迴文數的話,翻轉後還是同一個數,例如121翻轉後還是121。
因此y==x,是判斷翻轉後還是不是同一個數,是的話,這個數就是迴文數。
而怎麼實現翻轉呢,轉到rev函數中,獲得數字每個位上的數,然後重組即可。 m=a%10;這是獲得個位上的數,a=a/10;這是獲得十位上的數字。這里採用了循環,a如果是兩位數,循環一次即可;如果a是三位數,a=a/10;操作使得 a又成了兩位數,所以重復上面的操作,得到百位的數字,最後重組得到b即為翻轉後的數字。
例如以345這個數字為例,
1.m=a%10;->m=5;
2.a=a/10;->a=34;
3.b=10*b+m;->b=5;
4.因為a=34 !=0,所以再執行一次循環
5.m=a%10;->m=4;
6.a=a/10;->a=3;
7.b=10*b+m;->b=54;
8.因為a=3!=0,所以再執行循環
9.m=a%10;->m=3;
10.a=a/1;->a=0;
11.b=10*b+m;->b=543;
12.因為a=0了,所以跳出循環,返回b=543,翻轉成功!
如樓上所說,int m,b=0;b如果不賦值的,無法執行b=10*b+m;所以程序會報錯。
㈦ c語言中求1000以內的迴文數的程序
#include<stdio.h>
int main()
{
int i,n,m,count=0;
printf("所有的迴文數字如下:\n");
for(i=1;i<=1000;i++)
{
n=i;
m=0;
while(n)
{
m=m*10+n%10;
n/=10;
}
if(m==i)
{
printf("%d ",m);
count++;
}
}
printf("\n共%d個\n",count);
getchar();
return 0;
}
㈧ 用C語言做1、請列印出大於1000的前10個迴文數,並將其輸入到「1.txt」中,數之間用空格隔開; 在線等 急
#include"stdio.h"
inthuiwen(intn)
{
intm=0;
intt=n;
while(t)
{
m=m*10+t%10;
t/=10;
}
returnm==n;
}
voidmain()
{
inti,arr[10];
intcnt=0;
for(i=1000;cnt<10;i++)
{
if(huiwen(i))
{
arr[cnt++]=i;
}
}
FILE*fp;
fp=fopen("1.txt","w");
if(fp==NULL)
{
printf("filecannotopen ");
return;
}
for(i=0;i<10;i++)
fprintf(fp,"%5d",arr[i]);
fclose(fp);
}
㈨ 急求1到1000內的迴文素數(c語言),好的話我會另加懸賞分
試試這個,我運行過了:
#include <stdio.h>
#include <math.h>
int HunWen(int n);
int SuShu(int n);
int main(int argc, char *argv[])
{
int i;
for (i = 10; i < 1000; i++)
{
if (HunWen(i) && SuShu(i))
{
printf("%d\t", i);
}
}
return 0;
}
int HunWen(int n)
{
int i, t = n, bit = 0;
int a[5];
while (t > 0)
{
a[bit++] = t % 10;
t /= 10;
}
for (i = 0; i < bit/2; i++)
{
if (a[i] != a[bit-i-1])
{
break;
}
}
if (i == bit/2)
{
return 1;
}
else
{
return 0;
}
}
int SuShu(int n)
{
int i;
for (i = 2; i < n; i++)
{
if (n % i == 0)
{
break;
}
}
if (i == n)
{
return 1;
}
else
{
return 0;
}
}
運行結果是:
11 101 131 151 181 191 313 353 373 383
727 757 787 797 919 929 Press any key to continue
㈩ 求用C語言求1000以內的迴文素數,要在Visual C++6.0的環境里運行,謝謝啦
/*
迴文素數——指對一個素數n從左到右和從右到左讀其結果是一樣
的,既稱為該素數為迴文素數。絕對素數——一個素數當它的數字位
置對換後仍為素數,這樣的數稱之為絕對素數。現編程實現:輸入一
個整數,如果為奇數,找出不超過1000的迴文素數和不超過100的絕
對素數。如果為10-20之間的偶數,將其分解為兩個素數之和
*/
#include
void main(void)
{
int prime(int);
int n,i;
printf("輸入一個數n: ");
scanf("%d",&n);
if(n%2)
{
for(i=100;i<1000;i++)
if(prime(i)&&prime(i%10*100+((i/10)%10)*10+i/100))
printf("%6d ",i);
}
else if((n>=10)&&(n<=20))
for(i=2;i<=n/2;i++)
if(prime(i)&&prime(n-i))
printf("%8d=%8d+%8d\n",n,i,n-i);
return;
}
int prime(int n)
{
int i;
for(i=2;i
評論
0
0
0
載入更多