设计c语言程序(输入三位数,分别输出该数各个数位上的数字)

如题所述

#include <stdio.h>

int main()

{int x,a,b,c;

printf("请输入一个三位数:");

scanf("%d",&x);

a=x/100;

b=x/10%10;

c=x%10;

printf("百位是%d\n十位是%d\n个位是%d\n",a,b,c);

return 0;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-07-26
关键是把这个三位数分成三个数位上的单个数字,用除法运算和取余运算%来完成,关键几句如下:
int x,a,b,c
x=423
c=x % 10余数为3,得到个位上的数字
b=(x%100)/10说明:x%100得余数23,再利用两个整数相除结果取整数商,得十位上的数字2
a=x/100得4 ,这还是利用了整数除法的特点
printf("a=%d b=%d c=%d",a,b,c)输出a=4 b=2 c=3

希望对你有用
第2个回答  2012-03-04
/**
*其中的事件响应 机制 比较经典,你可以看看
*
*/

package two;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

/**
* 窗体
* @author Administrator
*
*/
public class MyFrame extends JFrame {
private JPanel panelNorth;
private JPanel panleCenter;
private JPanel panelSouth;
private JLabel jlbA, jlbB, jlbC;

private JTextField jtf;
private JTextField jtfR;
private JButton jbtn;

private JTextField jtfB, jtfS, jtfG;

public MyFrame(String title) {
this.setTitle(title);
initMyFrame();
}

private void initMyFrame() {
this.setLayout(new BorderLayout());
panelNorth = new JPanel();
panleCenter = new JPanel();
panelSouth = new JPanel();

jtf = new JTextField(15);
jtfR = new JTextField(15);
jtfR.setText("<----输入数字");
jtfR.setEditable(false);
panelNorth.add(jtf);
panelNorth.add(jtfR);

jbtn = new JButton("显示");

panleCenter.add(jbtn);

jtfB = new JTextField(10);
jtfS = new JTextField(10);
jtfG = new JTextField(10);

jlbA = new JLabel("百位:");
jlbB = new JLabel("十位:");
jlbC = new JLabel("个位:");

panelSouth.add(jlbA);
panelSouth.add(jtfB);
panelSouth.add(jlbB);
panelSouth.add(jtfS);
panelSouth.add(jlbC);
panelSouth.add(jtfG);

this.getContentPane().add(panelNorth, BorderLayout.NORTH);
this.getContentPane().add(panleCenter, BorderLayout.CENTER);
this.getContentPane().add(panelSouth, BorderLayout.SOUTH);

/**
* 给按钮 添加 事件 监听器
*/
ActionListener al=new BTNListener(this);
jbtn.addActionListener(al);

this.setVisible(true);
this.setBounds(200, 200, 500, 150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
}

public boolean checkInputString(){
String s=getJTFText();
if(s==null || "".equals(s)){
return false;
}

if(s.length()==3){
if((s.charAt(0)> '0' && s.charAt(0)<='9') && (s.charAt(1)>='0' && s.charAt(1)<='9') && (s.charAt(2)>='0' && s.charAt(2)<='9')){
return true;
}
}

return false;
}

public void showMyFrameMessage(){
this.jtfB.setText(String.valueOf(getJTFText().charAt(0)));
this.jtfS.setText(String.valueOf(getJTFText().charAt(1)));
this.jtfG.setText(String.valueOf(getJTFText().charAt(2)));
}

public void clear(){
this.jtfB.setText("");
this.jtfS.setText("");
this.jtfG.setText("");
}

public String getJTFText(){
return this.jtf.getText();
}

public void setJTFRText(String msg){
this.jtfR.setText(msg);
}

public static void main(String[] args) {
new MyFrame("TITLE");
}
}

/**
* 按钮的 监听器
* @author Administrator
*
*/
class BTNListener implements ActionListener{
private MyFrame frame;

public BTNListener(MyFrame frame){
this.frame=frame;
}
@Override
public void actionPerformed(ActionEvent e) {
if(frame.checkInputString()){
frame.showMyFrameMessage();
frame.setJTFRText("再次输入数字");
}else{
frame.setJTFRText("错误的输入,再次输入数字");
frame.clear();
}

}

}
把核心的算法给你。自己去实现吧。
int m;//m为输入的三位数。
int a,b,c;
a = m/100;
b = m%100/10;
c = m%100%10;
第3个回答  2012-03-04
#include<stdio.h>
main()
{
int a,b,c,d;
printf("Enter a number:");
scanf("%d",&a)"
b=a%100; //各位的
c=a/100; //百位的
d=(a%100)/10; //10位的
printf("%d%d%d\n",b,d,c);
}

应该是这样了
第4个回答  2012-03-04
#include <stdio.h>

int main()
{
int i=0;
printf("please put a number");
scanf("%d",&i);
while(i)
{
printf("%d\n",i%10);
i=i/10;
}
return 0;
}本回答被网友采纳

设计c语言程序(输入三位数,分别输出该数各个数位上的数字)
int main(){int x,a,b,c;printf("请输入一个三位数:");scanf("%d",&x);a=x\/100;b=x\/10%10;c=x%10;printf("百位是%d\\n十位是%d\\n个位是%d\\n",a,b,c);return 0;}

从键盘输入一个三位整数,分别输出该数的个位数字,十位数字,百位数字,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语言编程题目:输入一个三位数,输出各个数位上的数字及它们的和是什么...
答案:int Total;scanf("%d", &Total);\/\/百位int m = Total \/ 100;int n = Total - m * 100;n = n \/ 10;int t = Total % 10;\/\/m n t分别为百位 十位 个位 求和int nRet = m + n + t;1、C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它...

C语言编程题目:输入一个三位数,输出各个数位上的数字及它们的和。
{ int a;int b,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);} C语言是一门通用计算机编...

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年的...

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

用c语言编程 从键盘上输入一个三位数,分别输出每一位数字,并按逆序输出...
i < 3; i++){ b[i] = a % 10; \/\/求a对10的模,得到个位数 a \/= 10; \/\/除10降一位 } for (i = 2; i >=0; i--){ printf("分别是%d\\n", b[i]);} printf("反向输出:");for (i = 0; i < 3; i++){ printf("%d", b[i]);} system("pause");} ...

c语言,输入一个三位数,并输出这三个位上的数
include<stdio.h>int main(){int n,a,b,c;printf("输入一个三位数:\\n");while(1){scanf("%d",&n);if(n<100||n>999)printf("输入有误,重新输入:\\n");else break;}a=n\/100;b=n\/10%10;c=n%10;printf("百:%d 十:%d 个:%d\\n",a,b,c);} ...

输入一个三位数,用c语言将这个三位数的个,十,百位上的数分别输出
include <stdio.h> int main(){ int n,a,b,c;printf("Input n:");scanf("%d",&n);a=n\/100;b=n\/10-a*10;c=n-a*100-b*10;printf("%d %d %d\\n",a,b,c);return 0;}

相似回答