プログラミングのc言語関数についてです。このプログラムをを作りたいのですが、よく分からなかったので、教えてくださると助かります。

画像

C言語関連 | プログラミング17閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

ThanksImg質問者からのお礼コメント

ありがとうございます

お礼日時:2020/11/27 22:39

その他の回答(2件)

0

(1) 0になるまで10で割り続ける。割った回数が桁数。 (2) 常用対数を使う。 floor(log10(n)+1) はnの10進桁数である。 (3) 10進表記の文字列にする。 結果文字数が桁数。

0

こういうのは確か対数を使うんだったな。 よし、たいすたもんでしょ。 #define _CRT_SECURE_NO_WARNINGS // Visual Studio only #include <stdio.h> #include <math.h> int digit(int n) {     if (n == 0) return 1;     if (n < 0) n = -n;     return (int)log10(n) + 1; } int main(void) {     int n;     printf("正の整数 > ");     scanf("%d", &n);     printf("%d\n", digit(n)); }