A. 用c語言編程:輸入一個四位數,求出它的個位、十位、百位、千位
C代碼:---------------------
int a;
scanf("%d",&a);
printf("個位:%d,十位:%d,百位:%d,千位:%d",a%10,a%100/10,a%1000/100,a/1000)
--------------------------------
VC++中代碼如下:
#include "stdafx.h"
#include <stdlib.h>
int main(int argc, char* argv[])
{
int a;
scanf("%d",&a);
printf("個位:%d,十位:%d,百位:%d,千位:%d",a%10,a%100/10,a%1000/100,a/1000);
system("pause");
return 0;
}
C語言有以下幾種取整方法:
1、直接賦值給整數變數。如:
int i = 2.5; 或 i = (int) 2.5;
這種方法採用的是捨去小數部分,可以用於你的問題。
2、C/C++中的整數除法運算符"/"本身就有取整功能(int / int),而下面介紹的取整函數如橋返回值是double。整數除法對正數的取整是捨去小數部分,但是整數除法對負數的取整結果和使用的C編譯器有關。
3、使用floor函數。floor(x)返回的是x的整數部分。如:
floor(2.5) = 2
floor(-2.5) = -3
4、使用ceil函數。ceil(x)返回的是不大於x的最沖橡態小整數。如:
ceil(2.5) = 2
ceil(-2.5) = -2
floor和ceil對於正數散源沒有區別,但是對於負數結果不同。floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。
B. c語言如何編程,能夠輸入一個整數,得到該整數十位上的數字
假設輸入的整數放到變數x中,則語句x/10%10即是十位上的數字,代碼如下:
#include<stdio.h>
intmain(void)
{
intx;
printf("輸入一個整數:");
scanf("%d",&x);
printf("%d的十位上的數字是:%d ",x,x/10%10);
return0;
}