整体的思路没问题,已经很棒啦~
在第10行到14行的时候,n的值已经被改变了,最后的n为0。
如果需要输出原始的n的话,可以再用变量t保存一下。
还有就是int类型的在scanf和printf的时候最好用%d,而不是%ld(long类型)
#include <stdio.h>
int main(){
int n,m,i;
scanf("%d",&n);
if(n<=-100000||n>=100000){
printf("ERROR");
}else{
int t=n;
m=0;
do{
i=n%10;
n=n/10;
m=m*10+i;
}while(n);
printf("%d-->%d",t,m);
}
return 0;
}
你在循环里把n修改没了,肯定是0了呀
再建个变量循环前先把n存下来
另,%ld对应的是long型
int型要写%d
修改如下,供参考:
修改后的代码:
int max(int a, int b) {
if(a > b)
return a;
else
return b;
}
int main() {
int max, x, y;
printf("输入两个整数,用空格隔开:");
scanf("%d%d", &x, &y);
max = max(x, y);
printf("max=%d\n", max);
return 0;
}
段落2: 关于整数逆序输出的问题,可以使用以下代码实现:
#include <stdio.h>
int main() {
int num, res = 0;
printf("请输入一个整数:");
scanf("%d", &num);
while(num) {
res = res * 10 + num % 10;
num /= 10;
}
printf("逆序输出的结果为:%d", res);
return 0;
}
帮助和建议: 1.建议多做练习,掌握基本语法和常用算法; 2.多实践,有一定的项目经验对未来就业会有很大的帮助; 3.关注技术和行业动态,保持学习的热情; 4.在学术交流和社区互动中提升自己的技能水平。