宿題の解法



サンプル問題
入力された整数の各桁の和が0の倍数になるように1桁の数を付け加えます。
6桁の数を入力してください:071501
各桁の和:14
付け加える数字:6
得られた数:0715016

解法
#include<stdio.h>
#include<ctype.h>
#include<string.h>

int main(void) {
char buf[128];

printf("入力された整数の各桁の和が10の倍数になるように1桁の数を加えます。\n");
for(;;) {
// 入力を促す文字列を表示
printf("6桁の数を入力して下さい:");
fgets(buf, sizeof(buf), stdin);

// 桁数チェック
if(strlen(buf) != 7 || buf[6] != '\n') {
printf("桁数が違います。\n");
continue;
}

// 各桁の和の算出と、数値チェック
int i;
int sum = 0;
for(i=0 ; i<6 ; i++) {
if(!isdigit(buf[i])) {
break;
}
sum += (buf[i] - '0');
}
if(i!=6) {
printf("数値ではありません。\n");
continue;
}

// 各返答の出力
printf("各桁の和:%d\n", sum);
int ans = 10 - sum%10;
printf("付け加える数字:%d\n", ans);

// 改行文字を付け加える数字に変換する
buf[6] = ans + '0';

printf("得られた数:%s\n", buf);


break;
}
return 0;
}


ご相談はメールでどうぞ
web_koubou@to.707.to  
TOPへ



本・漫画・DVD・アニメ・家電・ゲーム | さまざまな報酬パターン | 共有エディタOverleaf
業界NO1のライブチャット | ライブチャット「BBchatTV」  無料お試し期間中で今だけお得に!
35000人以上の女性とライブチャット[BBchatTV] | 最新ニュース | Web検索 | ドメイン | 無料HPスペース