为什么我写的这个运行不了?
哪个地方有问题吗?
printf地方报错
1.首先scanf()是格式化输入函数,里面只能包含格式化字符串,比如%c字符型、%s字符串型、%d整型、%f浮点型等等,你那个\n是换行,在输入的时候,会被吃掉。
2.求百位:直接/100,例如246/100=2
3.求十位:有两种方法,第一种/10%10,例如246/10=24,然后24%10=4;第二种%100/10,例如246%100=46,然后46/10=4
4.求个位:直接%10,例如246%10=6
5.求百位和个位只有一种方法,求十位有两种,就是简单的/和%运算,多练练
6.不理解可以私信一下我,看下方代码:
// 输入一个整数,依次输出百位、十位、个位
// 百位:x -> num/100
// 十位:y -> 第一种:num/10%10 第二种:num%100/10
// 个位:z -> num%10
#include <stdio.h>
int main()
{
int num, x, y, z;
scanf("%d", &num);
x = num / 100;
y = num / 10 % 10; // y = num % 100 / 10;
z = num % 10;
printf("百位:%d,十位:%d,个位:%d", x, y, z);
return 0;
}
246
百位:2,十位:4,个位:6
大致改写了一下程序,你可以试试,作为参考:
#include<stdio.h>
int main()
{
int a,ge,shi,bai;
scanf("%d",&a);
ge=a%10;
shi=a/10%10;
bai=a/100;
printf("%d,%d,%d",bai,shi,ge);
return 0;
}
运行测试:
供参考:
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
printf("百位=%d, 十位=%d, 个位=%d\n", a / 100, a / 10 % 10, a % 10);
}
在电脑上规范的写一下 ,再加上return 0,注意符号是英文状态的,就不会报错哦