程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> C語言問題,求高手

C語言問題,求高手

編輯:C語言問答

C語言問題,求高手

#include <stdio.h>
void main()
{int a,b,c1,c2,c3,c4,c5;
printf("請輸入一個不多於5位數的正整數:");
scanf("%d",&a);
if(a/10000>=1) b=5;
 else if(a/1000>=1) b=4;
  else if(a/100>=1) b=3;
   else if(a/10>=1) b=2;
     else b=1;
printf("輸入數字的位數:b=%d\n",b);
c1=a/10000;
c2=a%10000/1000;
c3=a%1000/100;
c4=a%100/10;
c5=a%10;
if(c1!=0) printf("分別輸出:%d,%d,%d,%d,%d\n",c1,c2,c3,c4,c5);
 else if(c2!=0) printf("分別輸出:%d,%d,%d,%d\n",c2,c3,c4,c5);
  else if(c3!=0) printf("分別輸出:%d,%d,%d\n",c3,c4,c5);
   else if(c4!=0) printf("分別輸出:%d,%d%\n",c4,c5);
    else printf("分別輸出:%d\n",c5);
if(b=5) printf("逆序輸出:%d%d%d%d%d\n",c5,c4,c3,c2,c1);
 else if(b=4) printf("逆序輸出:%d%d%d%d\n",c5,c4,c3,c2);
  else if(b=3) printf("逆序輸出:%d%d%d\n",c5,c4,c3);
   else if(b=2) printf("逆序輸出:%d%d%\n",c5,c4);
    else printf("逆序輸出:%d\n",c5);
}

---------------------------------------------------------------------------------------

#include <stdio.h>
void main()
{int a,b,c1,c2,c3,c4,c5;
printf("請輸入一個不多於5位數的正整數:");
scanf("%d",&a);
if(a/10000>=1) b=5;
 else if(a/1000>=1) b=4;
  else if(a/100>=1) b=3;
   else if(a/10>=1) b=2;
     else b=1;
printf("輸入數字的位數:b=%d\n",b);
c1=a/10000;
c2=a%10000/1000;
c3=a%1000/100;
c4=a%100/10;
c5=a%10;
if(c1!=0) printf("分別輸出:%d,%d,%d,%d,%d\n",c1,c2,c3,c4,c5);
 else if(c2!=0) printf("分別輸出:%d,%d,%d,%d\n",c2,c3,c4,c5);
  else if(c3!=0) printf("分別輸出:%d,%d,%d\n",c3,c4,c5);
   else if(c4!=0) printf("分別輸出:%d,%d%\n",c4,c5);
    else printf("分別輸出:%d\n",c5);
if(c1!=0) printf("逆序輸出:%d%d%d%d%d\n",c5,c4,c3,c2,c1);
 else if(c2!=0) printf("逆序輸出:%d%d%d%d\n",c5,c4,c3,c2);
  else if(c3!=0) printf("逆序輸出:%d%d%d\n",c5,c4,c3);
   else if(c4!=0) printf("逆序輸出:%d%d%\n",c5,c4);
    else printf("逆序輸出:%d\n",c5);
}

 

 

本人覺得這兩個輸出的應該是一樣的....不過最後的逆序輸出不同...求解..

最佳回答:

if(b==5) printf("逆序輸出:%d%d%d%d%d\n",c5,c4,c3,c2,c1);
 else if(b==4) printf("逆序輸出:%d%d%d%d\n",c5,c4,c3,c2);
  else if(b==3) printf("逆序輸出:%d%d%d\n",c5,c4,c3);
   else if(b==2) printf("逆序輸出:%d%d%\n",c5,c4);
    else printf("逆序輸出:%d\n",c5);
問題很簡單 你的if()中的b=5,b=4....中 應該改成 b==5,b==4.......等等  要是 賦值 則總在執行5位數的情況
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved