#9
by かずま » 7年前
フォーラムルールは読みましたか?
どのように解決したのかを書いてください。
こんな解もあるということで。
コード:
#include <stdio.h> // sprintf
#include <string.h> // strchr
float kurai(float a, int n)
{
char buf[100], *p;
sprintf(buf, "%.*f", n + 5, a);
return strchr(buf, '.')[n] - '0';
}
int main(void)
{
float a = 3.1415927;
printf("%10.7f\n", a);
for (int n = 1; n <= 7; n++)
printf(" %.0f", kurai(a, n));
putchar('\n');
return 0;
}
実行結果
コード:
3.1415927
1 4 1 5 9 2 7
フォーラムルールは読みましたか?
どのように解決したのかを書いてください。
こんな解もあるということで。
[code=c]
#include <stdio.h> // sprintf
#include <string.h> // strchr
float kurai(float a, int n)
{
char buf[100], *p;
sprintf(buf, "%.*f", n + 5, a);
return strchr(buf, '.')[n] - '0';
}
int main(void)
{
float a = 3.1415927;
printf("%10.7f\n", a);
for (int n = 1; n <= 7; n++)
printf(" %.0f", kurai(a, n));
putchar('\n');
return 0;
}
[/code]
実行結果
[code=text]
3.1415927
1 4 1 5 9 2 7
[/code]