A. 在c語言中如何定義逆序數函數
思路是先轉成字元串再操作
返回值為計算出的逆序數
int f(int num)
{
char an[15];
int i, len, t, neg = 0;
if(num < 0)
{
num = -num;
neg = 1;
}
sprintf(an, "%d", num);
len = strlen(an);
for(i=0; i<len/2; i++)
{
t = an[i];
an[i] = an[len - 1 -i];
an[len - 1 -i] = t;
}
num = atoi(an);
return (neg?-num:num);
}
剛才沒看到你還沒學到字元串,再給你個簡單點的
int f(int num)
{
int a=0,b;
while (num != 0)
{
b=num%10;
a=a*10+b;
num=num/10;
}
return a;
}
B. C語言求逆序數
呃……輸入m,abc不能這么得來!a=m/100,b=(m/10)%10,c=m%10,而且scanf不能 在m下面,不然m怎麼讀入?這里直接引用了ascll碼了……
C. C語言編程:從鍵盤輸入一個四位正整數,輸出其逆序數,並判斷是否是對稱數
#include <stdio.h>int is_prime( int n ){ int i; if ( n < 2 ) return 0; for( i=2; i<=n/2;i++ ) if ( n%i==0 ) return 0; return 1;}int main(){ int n; while( scanf("%d", &n)!=EOF ) { if ( n <= 0 ) { printf("輸入錯誤,請輸入正整數。\n"); } else { if ( is_prime( n ) ) printf("%d是素數。\n", n); else printf("%d不是素數。\n", n); } } return 0;}
D. c語言 判斷一個數的逆序數是否等於這個數本身
int i,A[i] ...這里C不支持定義動態數組!
根據你的題目,A數組定義成如下即可:
int A[64] ; //足夠存放任意整數了!
而且你的程序寫的夠爛的啊,實現不了你的想法,你復制粘貼代碼,我幫你改一下吧,手打好累
E. C語言編程:逆序數字
#include <stdio.h>
void main(void)
{
int n= 0, num[20], idx= 0;
printf("請輸入一個整數:");
scanf("%d", &n);
while(true)
{
num[idx++]= n%10;
if( (n/= 10) == 0)
break;
}
for (int i= 0; i < idx; i++)
printf("%d ", num[i]);
printf(" ");
}
F. 關於C語言求整數逆序數
這個題目犯不著用該數組的,
核心代碼如下
intres=0;
while(x!=0)
{
res=res*10+x%10;
x=x/10;
}
G. 要求用c語言判斷輸入的是幾位數並輸出各位數最後逆序輸出各位數
你這個邏輯錯誤不是一般的多,首先代碼最多處理到5位數,然後循環條件,「%」運算相當混亂......具體的你看我貼出來的代碼注釋吧,你的代碼實在難改,而且是用的VC++6.0吧?我建議你先換個編譯器好點,這個古董編譯器太多功能不支持了
/*題主的版本
#include<stdio.h>
#include<math.h>
intmain()
{
inta,n,i,j,t;
intb[5];//你這是默認最多五位數嗎?
scanf("%d",&a);
for(n=1;n<5;n++)
{
if((a/(pow(10,n))>=1)&&(a/(pow(10,n))<9))
printf("%d",n+1);
}
t=a;
for(j=n;j<=0;j--)//初始j=n,循環條件是j<=0,這個循環會執行嗎?
{
b[j]=t/(pow(10,j));
t=a%(pow(10,j));//'%'取余運算符的右邊必須是int型
printf("%d",b[j]);//而pow()函數的返回值的double
}
for(i=0;i<n;i++)
printf("%d",&b[i]);//加上"&"這是要輸出地址嗎?
return0;
}
*/
#include<stdio.h>
#include<math.h>
intmain()
{
intx=0,count=0,t=0;
inti=0,p=0,bit=0;
scanf("%d",&x);
t=x;
while(t!=0)
{
t/=10;
count++;
}
printf("位數:%d ",count);
t=x;
for(i=count-1;i>=0;--i)
{
p=(int)pow(10,i);
bit=t/p;
printf("%d",bit);
t-=(p*bit);
}
putchar(' ');
while(x!=0)
{
printf("%d",x%10);
x/=10;
}
return0;
}
H. C語言編程,有關逆序數的程序
#include <stdio.h>
int reverse(int number)
{
int i,t=0;
while(number)
{
i = number % 10;
t = 10 * t + i;
number /= 10;
}
return t;
}
void main()
{
int number,ren;
printf("輸入一整數number:");
scanf("%d",&number);
ren = reverse(number);
printf("逆序數是:%d\n",ren);
}
I. 用c語言編程 求一個數的逆序數。(如 1234 的逆序數是 4321)
while(n!=0){
m=m*10+n%10;
n=n/10;
}搞不懂這個為什麼m一定要乘以10乘以其他輸不行?前面m=0了,為什麼一定要乘以10
J. C語言中怎麼求逆序
因為這個數字很長,而且開頭允許以零開始,所以有必要使用字元串來保存這個數字。然後用兩個變數分別指向它的第一個數字和最後一個數字,在使用一個循環判斷這兩個數字是否相同,如果相同,就把前面的標加一,並且把後面的下標減去一,直到前面的下標大於後面的下標,或者兩個下標所指的數字不相同。只要退出的時候兩個下標的數字不相同,原來的數字就不是幸運數字,否則他就是一個幸運數字。