超过int范围怎么办??
请问这个程序,当输入10个9时,输出就会出现问题,这个改怎么解决,{:10_266:} {:10_266:}#include<stdio.h>
{
long long int result,x,d,a;
d = 0;a = 0;
result = 0;
printf("please input a integer:");
scanf("%d",&x); a = x; //令a = x 为后面的输出保留 x 的值
while(x!=0)
{
d = x % 10; // 这步得到最右边一位
result =result+(d*d);
x = x / 10; //去掉最右边一位
}
printf("%d的平方和为%d\n",a,result);
return 0;
}
你要提供的是题目,而不是超过怎么办。
无符号长整型你觉得够你用不? long long int 格式化应该用 %lld
#include<stdio.h>
int main()
{
long long int result,x,d,a;
d = 0;a = 0;
result = 0;
printf("please input a integer:");
scanf("%lld",&x); a = x; //令a = x 为后面的输出保留 x 的值
while(x!=0)
{
d = x % 10; // 这步得到最右边一位
result =result+(d*d);
x = x / 10; //去掉最右边一位
}
printf("%lld的平方和为%lld\n",a,result);
return 0;
} 这里是int 出现问题,还是%d 出现问题 ba21 发表于 2022-4-5 22:27
你要提供的是题目,而不是超过怎么办。
无符号长整型你觉得够你用不?
题目就是
随机输入一个数,求出各位数字的平方和 Tep 发表于 2022-4-5 22:28
题目就是
随机输入一个数,求出各位数字的平方和
你用 long long int 就得用 %lld,int 才是用 %d #include <stdio.h>
int main() // <------------------ int main() ------------------
{
long long int result, x, d, a;
d = 0; a = 0;
result = 0;
printf("please input a integer:");
scanf("%lld", &x); a = x; // <------------------ %lld ------------------
while(x!=0)
{
d = x % 10;
result = result + (d * d);
x = x / 10;
}
printf("%lld的平方和为 %lld\n", a, result); // <------------------ %lld ------------------
return 0;
} isdkz 发表于 2022-4-5 22:27
long long int 格式化应该用 %lld
谢谢大佬。问题解决了,感谢
页:
[1]