⑴ c語言取出一個三位整數的各個位,並輸出
程序如下:
#include"stdio.h"
intmain(void)
{
intnum,g,s,b;
printf("請輸入一個三位數num=");
scanf("%d",&num);
g=num%10;
s=num/10%10;
b=num/100;
printf("這個三位數的個位g=%d,十位s=%d,百位b=%d ",g,s,b);
return0;
}
程序運行結果:
如輸入123;
請輸入一個三位數num=123
這個三位數的個位g=3,十位s=2,百位b=1
Press any key to continue
⑵ C語言編程:輸入一個整數,求它的位數以及各位數字之和。
#include <stdio.h>
int main()
{
int n,count,sum,tmp;
printf("Input an integer:");
while(scanf("%d",&n)!=EOF && n>=0)
{
count=1;
sum=0;
while(n>0)
{
tmp=n%10;
sum+=tmp;
n = n/10;
if(n>0)
{
count++;
}
}
printf("count=%d,sum=%d\n",count,sum);
printf("Input an integer:");
}
return 0;
}
⑶ 求123的百位 十位 個位做出來 用C++程序
123/10 這個是除以10,並且舍棄小數點後的,結果就是12
12這個結果再/10得到的就是百位,12%10得到的是十位
各位求法是123%100
總的來說就是/是求整,%是求余
⑷ c語言 輸入一個整數,求它的位數以及各位數字之和。例如,123的位數是3,各位數字之和是6。
#include<stdio.h>
#define error -1
int atoi(char c)
void main()
{
char a[20];
printf("input number:");
scanf("%s",a);
int sum =0 ;
for(char *c=a; *c != '\0'; c++)
{
sum = atoi(*c) + sum;
}
printf("各個位之和為 %d",sum);
printf("一共有 %d位數子",c-a);
}
int atoi(char c)
{
if(c>=48 && c<= 58)
{
return (int)(c-48);
}
return error;
}
具體的你可以做做修改,我只是隨便寫了一個
⑸ C語言 求位數
求整數長度簡單代碼:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n;
char str[100];
int temp;
while(cin>>n)
{
temp=sprintf(str,"%d",n);//sprintf函數的效用就是將一個整數轉換成字元串,同時會返回一個字元長度值。
cout<<temp<<endl;
}
return 0;
}
⑹ c語言編程題: 將123這個數的個位,十位,百位依次輸出。(利用算數運算符)
像這種給你一個數讓你去求它的每位數分別輸出,主要使用/和%兩種運算符,你只要深刻理解
兩種運算符的含義,像這種題很簡單。求最高位一般用/求個位一般用%;例如12345;
x=12345;
a=x/10000;
b=x=1000-a*10;
c=(x%100)/100;
d=(x%1000)/10;
e=x%10;
好好體會吧!
⑺ C語言中如何將一個數字的各個位上的數分別提取
1、方法一:
我的做法是先將整型轉為字元串,再將轉後的字元串取需要的字元轉為整型,過程說起來復雜,但是寫起來只要兩行代碼就行了~
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int number = 12345;
char string[25];
itoa(number, string, 10);
printf("integer = %d string = %s ", number, string); //將整型轉換為字元創
printf("%d",(int)string[0]-48); //將字元串轉為整型
return 0;
}
2、方法二:
int a[100];
int i;
假設x為INPUT的數
a[100]用來存放各個數位(0用來存放一共有幾位,1用來存放個位,,依次)
i=0;
{a[++i]=x % 10;
x/=10;}while (x);
a[0]=i;
⑻ c語言的,求助!!
#include<stdio.h>
void main()
{
int n;
int count=0,sum=0;
int mod=0;
printf("請輸入整數n:");
scanf("%d",&n);
while(n!=0)
{
mod = n % 10;
count++;
sum+=mod;
n=n/10;
}
printf("該數字一共有%d位\n",count);
printf("各位數字之和為%d\n",sum);
}