c语言编写程序,输入一个3位整数,打印输出其个位数、十位数和百位数。

如题所述

补充一下 likehei 的,篮圈的地方应该是 > 0 

追问

#include

int main(void) {
int ia;
scanf("%d",&ia);
while(ia>100 && ia1)
{
printf("%d\n",ia%10);
ia=ia/10;
}
}
return 0;
}

这样子行不行

追答

这样也可以的,限定输入是100 ~1000 直接
while(ia>1) 这一句,把 1 改成 0 ,while(ia>0)

追问

那个位数十位数和百位数分别用什么表示?

不是有变量x或y之类的吗

追答

这个并没有将结果赋给变量,直接采用 printf 输出了,ia%10这个就是每位的值

追问

嗯~

谢谢你*^_^* *^_^*

追答

还有什么问题吗

追问

暂时没有了~谢谢咯

追答

如果想将数值存入变量,要在下面语句里面做处理:

while(ia>1)
   {
        printf("%d\n",ia%10);
        ia=ia/10;
   }

追问

怎么处理?

追答

这样的操作,就是保存下每位的数字了,存入了 wei[i] = ia%10;:

#include <stdio.h>
 
int main(void) 
{
   int i[10]={ 0 };  // 存每一位的数字
   int ia;    // 输入的一个数 
   int i=0;            // 数字的位数 
   int ii=0;
   scanf("%d",&ia);
   while(ia>100 && ia<1000)
   {
    while(ia>0)
    {
        wei[i] = ia%10;
    printf("%d\n",ia%10);
        ia=ia/10;
        i++;
    }
   }
   for(ii=0;ii<i;ii++)
    printf("第 %d 位 %d\n",i-ii,wei[ii]);
   
   return 0;
}

追问

回答得很详细~谢谢

追答

不要客气,满意请采纳

追问

我……

我之前已经采纳了likehei的

不好意思

能采纳两个吗?

追答

我也不知道,你试试吧

追问

没有选项了T_T

追答

没关系的,解决问题重要

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-07
#include<stdio.h>
int main()
{int x,g,b,s,b;
printf("请输入一个三位整数\n");

scanf("%d",&x);
b=x/100;
s=(x-b*100)\10;
g=(x-b*100-s*10);
printf("个位数是%d\n十位数是%d\n百位数是%d\n",g,s,b);
return 0;
}追问

怎么会有中文?

追答

中文全部都在printf中,原样输出

追问

不要原样输出

本回答被网友采纳
第2个回答  2013-10-07
#include<stdio.h>
void main(void)
{
int n;
printf("输入一个三位的正整数: ");
scanf("%d",&n);
if((n>999)||(n<100))
{
printf("%d 不是一个三位数\n",n);
return;
}
printf("输入在数 %d,其个位是%d,十位是%d,百位是%d\n",n,n%100,(n/10)%10,n/100);
return ;
}追问

为什么有中文??

追答

不让使用汉字吗,这个没注意,我英文不行,表达不出来啊

追问

不能用中文的

追答

乱改一气,希望不是很乱

#include
void main(void)
{
int n;
printf("Input a three-digit number: ");
scanf("%d",&n);
if((n>999)||(n<100))
{
printf("%d is not a three-digit number\n",n);
return;
}
printf("The number you input: %d\nones digit: %d\ntens digit: %d\nhundreds digit: %d\n",n,n%10,(n/10)%10,n/100);
return ;
}

追问

你好像理解错了……是输出数字不是输出句子~不过还是谢谢你^_^^_^

追答

用while是对任意位数数字的,看这个意思是用scanf输入,取模的计算和printf输出,其它的不需要考虑,用 南京财经大学66 的答案是最合理的,汉字不用考虑,可以用,没关系的

追问

谢谢~我已经找到答案了

辛苦你啦^_^*^_^*

第3个回答  2013-10-07
#include <stdio.h>
 
int main(void) {
int ia;
scanf("%d",&ia);
while(ia>1)
{
printf("%d\n",ia%10);
ia=ia/10;
}
 
return 0;
}

追问

是三位数啊亲

追答

你输入几位就是几位,你可以判断下嘛,或者给个提示

追问

可是老师好像说要用if语句

不是~说错了

好像是要while(x>100∥x<999)

这样子的……

你的方法好像有点高级……我看不懂……

追答

呃,这样吧

#include <stdio.h>
 
int main(void) {
   int ia;
   scanf("%d",&ia);
   while(ia>100 && ia<1000)
   {
    while(ia>1)
    {
        printf("%d\n",ia%10);
        ia=ia/10;
    }
   }
   return 0;
}

追问

为什么还用return0呢?

追答

不喜欢,去掉就是

追问

谢谢^_^*^_^*

追答

我就是为了好看才写的,可以去掉,int main(void)可以直接main()

追问

追答

还有疑问吗?

追问

暂时没有啦

谢谢

第4个回答  2013-10-07
循环%10,/10追问

T_T

???

追答

自己多思考,然后就能理解了

追问

谢谢^_^

c语言编写程序,输入一个3位整数,打印输出其个位数、十位数和百位...
include<stdio.h> void main(void){ int n;printf("输入一个三位的正整数: ");scanf("%d",&n);if((n>999)||(n<100)){ printf("%d 不是一个三位数\\n",n);return;} printf("输入在数 %d,其个位是%d,十位是%d,百位是%d\\n",n,n%100,(n\/10)%10,n\/100);return ;} ...

编写程序,从键盘输入一个3位的正整数,输出它的百位数,十位数和个位数...
voidmain(){inta;intb,c,d;\/\/各个位数上的数字printf(请输入一个三位数:);scanf(%d,a);b=a\/100;\/\/百位c=(a-b*100)\/10;\/\/十位d=a%10;\/\/个位printf(百位:%d,十位:%d,个位%d\\n,b,c,d);printf(它们的和是:%d\\n,b+c+d);} 世界上第一种计算机高级语言是诞生于1954年的FO...

从键盘输入一个三位整数,分别输出该数的个位数字,十位数字,百位数字,c...
用c语言分别输出个位十位和百位的数字,可以根据下面步骤进行,c语言作为一种程序代码,因此在输入时绝对不能弄错任何符号。#include<stdio.h>void main(){ int a,a0,a1,a2;scanf("%d",&a);a2=a\/100; \/*确定x百位的数*\/ a1=(a-a2*100)\/10; \/*确定x十位数*\/ a0=a-a2*100-a1...

从键盘输入一个三位整数,分别输出该数的个位数字,十位数字,百位数字,c...
用c语言分别输出个位十位和百位的数字,可以根据下面步骤进行,c语言作为一种程序代码,因此在输入时绝对不能弄错任何符号。include<stdio.h> int main(){int x;scanf("%d",&x);printf("%d的百位=%d,十位=%d,个位=%d\\n",x,x\/100,x\/10%10,x%10);return 0;} ...

用C语言编写程序 输入一个三位整数,打印出其各位数,十位数和百位数
include<stdio.h> void main(){int a;printf("输入一个三位数");scanf("%d",&a);printf("百位:%d十位:%d个位:%d\\n",a\/100,a\/10%10,a%10);}

编一个程序,输入一个三位数,在窗体打印输出其个位、十位、百位数
text1用来输入一个三位数 代码如下:private sub form_click()print "个位数是:"& val(text1.text)mod 10 print "十位数是:"& val(text1.text)\\ 10 mod 10 print "百位数是:"& val(text1.text)\\ 100 end sub

编写程序,从键盘输入一个3位的正整数,输出它的百位数,十位数和个位数...
在编写程序时,输入一个3位正整数是一个基本任务。以下是一个简单的示例,展示了如何实现这个功能:c void main() { int a, b, c, d;printf("请输入一个三位数: ");scanf("%d", &a);b = a \/ 100; \/\/ 百位 c = (a - b * 100) \/ 10; \/\/ 十位 d = a % 10; \/\/ 个位 ...

C语言题:输入一个三位整数,分别按照字符型输出个位,十位,百位上的整数...
include <stdio.h> int main( void ){ int a=0;while( EOF == scanf("%d",&a) || a > 999 || a < 100 )printf("input integer more than 100 and less than 1000:");printf("个位:%d,十位:%d,百位:%d\\n",a%10,a\/10%10,a\/100);return 0;} ...

...用C语言编输入一个3位的正整数,分别输出它的个位,十位,百位数字?
printf("%d的个位为%d,十位为%d,百位为%d。\\n",n,c,b,a);} c语言:1.简介:C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言...

简单的c语言!题目:输入1个三位正整数N,输出其个位、十位和百位。
include<stdio.h> void main(){ int ge,shi,bai;int i,j;printf("请输入一个3位数:\\n");scanf("%d",&j);ge=j%10;shi=j%100\/10;bai=j\/100;printf("输入的百位数是%d,十位数是%d,个位数是%d",bai,shi,ge);}

相似回答