壹、函數結構
int main()
{ //函數基本格式 int main() { } , 括號要緊跟main()之後 妳這裏少壹個{
int i,j,a,b,t,q;
二、10的i次方
j=10^i; 這不能表示10的i次方 , 它表示10與i進行異或
想實現10的i次方可以這樣:
j=1;
for(i=1;i<=5;i++)
{
j *= 10 ; //j每次乘10,可達到效果,循環前j賦值為1
三、if語句
if(a>=0&&a<=99999) 成立做數據處理,如果輸入的數據不符號條件呢?按妳的程序,就會直接運行到
b=i;
printf("%d\n",b); 這裏來了。這應該不是妳所希望的吧
所以,加個else {
printf("input error\n");
return -1;
}
四、最後,妳的程序代碼想取每壹位並輸出
for(;b>=1;b--)
{
//q=a/10^(b-1); //這裏同樣存在前面的問題,因為前面j已經乘到了10的5次方,這裏就做整除好了
j /= 10 ;
q=a/j ;
a %= j ; //a取余
printf("%d",q);
}
修改後的完整代碼
#include <stdio.h>
int main()
{
int i,j,a=-1,b,t,q;
scanf("%d",&a);
if(a>=0&&a<=99999)
{
j=1;
for(i=1;i<=5;i++)
{
j *= 10 ;
t=a/j;
if(t==0)
break;
}
}
else
{
printf("input error\n");
return -1;
}
b=i;
printf("%d\n",b);
for(;b>=1;b--)
{
j/=10 ;
q=a/j ;
a %= j ;
printf("%d",q);
}
printf("\n");
return 0;
}