-
很多问题! 首先,函数 pow(double x, double y) 用错了,函数原型是 double pow(double x, double y),返回了 xy 的值,一定不能用它来处理整数数据,强制转换的时候会出现很大的问题!
其次,计算数字总和的方法不正确,无法处理只有一个数字的整数。
#include
#include
int main()
int num, t, b, sum = 0;
scanf("%ld",&num);
t = num;
b = 0;
while (t > 0)
b++;t /= 10;
while (num > 0)
sum += num % 10;
num /= 10;
printf("这是一个 %d 位数字", b);
printf("%d", sum);
system("pause");
return 0;
-
我到处重写你,楼主写得太乱了,效率太差了。
#include
void main(){
int num=0;
scanf("%d",&num);
int sum=0;
int p=num;
while(p!=0){
sum+=p%10;
p/=10;
printf("数字是:%d,他的头的总和是:%d",num,sum);
-
while((num/(pow(10,i)))10)i++;b=(i+1);
这句话有一个逻辑错误。
例如,如果输入 5 而不进入循环,则由于 i 的初始值为 1,则 b=i+1 变为 2。
相反。 while((num/(pow(10,i)))=1)i++;b=i;
-
sum+=c;这个分号是错的,改成英文格式是对的,呵呵。。
-
#include
int main()
int n, ans = 0;
scanf("%d", n);
printf("反向输出:")
while(n !=0)
int t;
t = n % 10;
n /=10;
ans++;
printf("%d ",t);
puts(""
printf("位数为:%d", ans);位数。
return 0;
-
#include
int main()
int n, ans = 0;
scanf("%d", n);
printf("反向输出:")
while(n !=0)
int t;
t = n % 10;
n /=10;
ans++;
printf("%d ",t);
puts(""
printf("位数为:%d", ans);位数。
return 0;
-
假设三位数是 a,它的十位数是 b
则 b = a 10%10;
解释一个 10 来获得最后两位数字,然后解释 %10 来获得第二个数字。
-
for 循环更改 n 的值,然后使用 n 来查找每个数字是没有意义的。
-
假设三位数是知道 a 的桥,它的十位数字是 b
统治。 b = a/10%10;
解释。 10 获得销售额的最后两位数字,大厅获得 %10 的第二名。
从最基本的流程开始,从最基本的语句开始。 在学习的过程中,要特别注意每个功能的作用,多想想这个功能可以怎么用,还有什么效果可以发挥**! 学会利用它! >>>More
在 VisualStudio 2013 中编写和调试 C 语言程序的步骤: 1.打开 [文件] - 新建 - 项目以打开“新建项目”窗口。2. 在[模板]、[名称]、[位置]和[解决方案名称]中选择[Visual C++] Win32控制台应用程序,可以根据需要填写。 >>>More