A. C語言 用if判斷用戶輸入的數字是幾位數
樓主你好,我幫你設計了一個,判斷的是整數的位數,正負都可以,內如果想小數的話,請另行容通知。
現在最大隻能是9位
代碼如下
#include"iostream"
using namespace std;
int main()
{
int n,num,i;
while(scanf("%d",&n)!=EOF)// 輸入n
{
num=1; //因為最小為一位
while(1)
{
if(n>9||n<-9)//判斷是否已經為一位數 如果不是 進了 否則不進來
{
num++;
n=n/10;
}
else
break;// 如果已經是一位數了 跳出循環
}
cout<<num<<endl;//列印
}
return 0;
}
B. C++程序,判斷一個數是否為迴文數
#include <iostream>
using namespace std;
int main(){
int m;//待輸入的數
int i=0,j=0;
int array[10];//將每個數分解
cout<<"請輸入一個數"<<endl;
cin>>m;
while(m)
{
array[i++]=m%10;
m/=10;
}
i--;//while中的多自加了一個
while(i>j)
{
if(array[j++]!=array[i--])//首位遞增,末位遞減,直到首位不再小於末位
break;
}
if(j>i)
cout<<"是迴文數"<<endl;
else
cout<<"不是迴文數"<<endl;
return 0;
}
(2)用if語句判斷回位數擴展閱讀
判斷語句:
1、if...else if...else語句
格式:
if(條件1)
{
語句1 ;
}
else if(條件2)
{
語句2 ;
}
else
{
語句N;
}
解釋:如果條件1成立,則執行語句1,如果條件1不滿足則判斷條件2是否成立,如果成立則執行條件2,如果不成立則執行條件N。
2、if中嵌套if
格式:
if(條件1)
{
if(條件2)
{
語句2;
}
else
{
語句3;
}
}
else
{
語句N;
}
解釋:如果條件1不成立,則執行語句N,如果條件1滿足則進入到第一個if中,然後判斷條件2,如果成立執行語句2,否則執行語句3。
C. 輸入一個不超過5位的整數,利用if語句來判斷其位數
int bit;
屬if (i1/10000 > 0) { bit =5; }
else if (i1/1000 > 0){ bit =4; }
else if (i1/100 > 0) { bit =3; }
else if (i1/10 > 0) { bit =2; }
else if (i1/1 > 0) { bit =1; }
else bit =0;
D. c#怎麼用if判斷位數
winfrom? 必須10位 看你的要求還得是數字,用正則表達式判斷吧:
using System.Text.RegularExpressions; //這是那個正則表達式用內的命名空容間
private void button1_Click(object sender, EventArgs e)
{
Regex re = new Regex("^\\d{10}$");//判斷必須為10位數字的正則表達式
if (!re.IsMatch(textBox1.Text))//看是否匹配,else方法要也行不要也行
{
MessageBox.Show("只能輸入10位數字");
}
else
{
MessageBox.Show("輸入正確");
}
}
E. c語言。。用if語句編程,輸入一個三位數,判斷是否是水仙花數。
1、嚴格來的水仙花是三位數自,並且其每位數的三次方的和等於它的本身。
例子如下:370是一個嚴格的水仙花數,3^3+7^3+0^3=370.
2、C 語言的"水仙花數"實現代碼:
#include <stdio.h>
#include<math.h>
int main (void) {
long n,p;
long c,a,j,s[30],i,q;
p=0;
a=10;
scanf("%ld",&n);
q=n;
for (i=1;c>10 ;++i) {
c=n/a;
a=a*10;
}printf("i=%ld,a=%ld \n",i,a);
for (j=1;a>=10 ;++j) {
s[j]=n/(a/10);
n=n-s[j]*(a/10);
a=a/10;
printf("j=%ld,a=%ld\n",j,a);
}
for (j=1;j<=i ;j++) {
p+=pow(s[j],i);
printf("p=%ld,i=%ld\n",p,i);
}
if (p==q) {
printf("%ld 為水仙花數",q);
}else {
printf("%ld 該數不是水仙花數",q);
}
return 0;
}
F. 用if else 語句判斷輸入一個正整數的位數是多少
先給你個很簡潔的答案,再告訴你為什麼你的會那樣。
答案:
Dim n As Integer = CInt(TextBox1.Text)
If n \ 1 < 0 Then
Label2.Text = "您輸入的數小於回0,請輸入大於0的數!答"
Else
Label2.Text = "您輸入的數值為" & Len(n) & "位數"
End If
你代碼的問題:
「1 <= n \ 1 < 10」這種寫法是錯誤的,這樣寫,只要n>1,它只判斷前一個條件(1 <= n \ 1)那麼這個不等式就成立了。所以,後面的所有的判斷都不再進行。
如果你非要用這種方法,那麼請改為「 1 <= n \ 1 and n \ 1 < 10 」
G. c語言中 怎樣用if語句輸出一個不多於五位數的每一位且交換順序且判斷它的位數
#include<stdio.h>
void main()
{
int b,i;
char a[5];
scanf("%s",a);
b=strlen(a);
if(b>5) puts("大於五位");
else
{
printf("befor change:%s\nbit:%d",a,b);
for(i=0;i<b/2;i++)
{temp=a[i];a[i]=a[b-1];a[b-1]=temp;}
printf("after chang:%s\n",a);
}
}
H. 關於if函數判斷個位數
countif()這個函數經過測試只能判斷數字類文本的前15位,超過15位均按相同文本.這個應該是專excel自身的bug.
建議你使用屬sumproct()函數來進行判斷,比如:
=sumproct(--(ID1:ID100=ID1))
I. c語言編程:給一個不多於五位的正整數,用if-else語句求出它是幾位數
可以參考下面的代碼:
#include <stdio.h>
void main()
{ intnum; printf("請輸入一個不大於位數的正整數:");
scanf("%d",&num);
if(num>99999||num<1)
printf("您的輸入有誤! ");
else { if(num<10)
printf("您輸入的是1位數! ");
else if(num<100)
printf("您輸入的是2位數! ");
else if(num<1000)
printf("您輸入的是3位數! ");
else if(num<10000) printf("您輸入的是4位數! ");
else printf("您輸入的是5位數! "); } }
(9)用if語句判斷回位數擴展閱讀:
if語句的一般形式如下:
if(表達式)語句1
[else語句2]
if語句中的「表達式」可以是關系表達式、邏輯表達式,甚至是數值表達式。其中最直觀、最容易理解的是關系表達式。所謂關系表達式就是兩個數值進行比較的式子
if 語句的執行流程:首先判斷關鍵詞 if 後括弧內條件表達式的值,如果該表達式的值為邏輯真(非 0),則執行 if 體,接著執行 if 體後的其他語句;否則,若該表達式的值為邏輯假(0),則不執行該 if 體,直接執行 if 體後的其他語句。
J. 用C語言判斷一個數是否是迴文數(不用循環語句)
#include<stdio.h>
#include<string.h>
intfun(char*s,inti,intlen)
{
if(len/2==i)return1;
if(*(s+i)==*(s+len-i-1)){
回returnfun(s,i+1,len);
}
return0;
}
intmain(){
chars[255];
scanf("%s",s);
intlen=strlen(s);
if(len<=1){
printf("輸入字元串答過短!");
}
elseif(fun(s,0,len))
{
printf("是迴文");
}
else
{
printf("不是迴文");
}
scanf("%s",s);
return0;
}
我用遞歸實現了