關於剔除偶數並從新輸出的簡單方法。(續)

本篇續主頁中的剔除偶數篇數組

具體問題及詳細解釋見上篇,編碼

本篇主要講用最簡便的方法,最少的代碼達到咱們的目的。內存

(固然,可能還會有別的好方法。但願你們予以提點,以便後期完善本文,)io

這裏的方法咱們大概說兩種循環

1:不用數組,即從後往前依次判斷,獲得第一個奇數乘以1,第二個乘以10,依次處理,結果相加。當判斷完最高位後跳出循環輸出便可。方法

2:用數組:即從後往前,沒獲得一個奇數依次存入數組,最後逆序輸出。di

對於這個問題本人仍是建議用循環解決。由於用數組的話數組長度的定義就成了一個問題,太長會白白佔用過多內存,過短懼怕會越界。return

因此這裏只對第一種方法進行編碼,第二種你們能夠拿來練練手,本身試着打一下。printf

#include<stdio.h>
int main()
{
int x,sum=0,a,s=1,y;
scanf("%d",&x);
for(a=x;a!=0;a/=10)
{
y=a%10;
if(y%2==1)
{
sum=y*s+sum;
s*=10;
}
}
printf("%d\n",sum);
return 0;
}
這樣只用一個循環便可得出結果。會簡便不少。
OK續集寫完,還有什麼不足的地方但願你們多多指出,我會加以改進和調整。
相關文章
相關標籤/搜索