赞
踩
- #include<stdio.h>
- #include<stdlib.h>
- #define N 100
- int main()
- {
- //输入一个10进制的整数,表示年龄
- //输出三个数,第一个表示二进制字符串,第二个是点燃蜡烛的数量,第三个是总蜡烛数
- int n, a[N];
- int countA = 0;
- int countB = 0;
- int i = 0;
- printf("请输入十进制数n:");
- scanf_s("%d", &n);
- //将十进制数转化成二进制数,并存入数组中
- while (n > 0)
- {
-
- a[i] = n % 2;
- i = i + 1;
- n = n / 2;
-
- }
- //输出数组中的数
- for (i--; i >= 0; i--)
- {
- printf("%d", a[i]);
- //记录二进制中1的个数
- if (a[i] == 1)
- {
-
- countA++;
-
- }
- //记录转换成的二进制数的位数
- if (a[i] == 1 || a[i] == 0)
- {
-
- countB++;
-
- }
- }
- printf("\n");
- printf("点燃蜡烛的数量:%d", countA);
-
- printf("\n");
- printf("总蜡烛数:%d\n", countB);
-
- //验证是否符合猜想
- // 任意一个大于9的整数减去它的各位数字之和所得的差, 一定能被9整除
- printf("\n");
- int k, m, l;
- int sum;
- sum = 0;
- printf("请输入一个大于9的数:\n");
- scanf_s("%d", &k);
- l = k;
- //输入得数各位之和
- while (k > 0)
- {
-
- sum += k % 10;
- k /= 10;
-
- }
- //该数与各位之和的差值
- m = l - sum;
- if (m % 9 == 0)
- {
-
- printf("\n\n");
- printf("true");
- printf("\n\n");
-
- }
- else
- {
-
- printf("差值不能被9整除\n");
-
- }
-
- return 0;
- }
演示结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。