Ads By Google
入力した数(1以上)を次々と2で割り、その余りをそれぞれ書き出し、商が0になったら終了するプログラム。
int main(void){int a,b,n;
printf("aを入力 > ");
scanf("%d", &a);
a=a/2;
if(a>=1)
{b=a%2;
printf("%d\n", b);
}return 0;}
ここまではできたんですが、次々と2で割るのでa=a/2を繰り返ししなくてはならないかと思います。
whileを使うのですか?
2007-10-24 06:10の質問
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。
回答(1)
1.
2007-10-24 13:06:14

#include <stdio.h>
int main(){
int a,b,n;
int i;
printf("1以上の整数を入力してください");
scanf("%d", &a);
if( a < 1 ){
printf("1以下の数字が入力されました");
}
for( a ; a > 1 ; a = a / 2){
if( a > 0 ){
printf("\n%d ÷ 2の余りは%d",a, a % 2 );
}
}
}
int main(){
int a,b,n;
int i;
printf("1以上の整数を入力してください");
scanf("%d", &a);
if( a < 1 ){
printf("1以下の数字が入力されました");
}
for( a ; a > 1 ; a = a / 2){
if( a > 0 ){
printf("\n%d ÷ 2の余りは%d",a, a % 2 );
}
}
}
ありがとうございす。 forのなかに実行する計算式ははじめてみました。
Ads By Google



