當前位置:首頁 » 編程語言 » c語言怎麼輸出非數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼輸出非數

發布時間: 2022-11-19 03:21:57

A. c語言中用for表示一個數字非整數應如何表示

#include <stdio.h>
int main( )
{
int sum = 0,n;
for( ;scanf("%d", &n)==1; ) //當輸入非數字時(不包括回車),返回0結束循環,如a b等
sum += n;
printf("sum = %d\n", sum);
return 0;
}

B. 用c語言如何描述非數字值

因為double類型數據佔用8個位元組,通過運算符sizeof可以判斷: 如果參數arg為double類型,則
sizeof(arg)的值是8,在循環條件中可以這樣描述
while(sizeof(arg) == 8) {
......
}
當然這個方法不夠完美,假如arg是構造類型,其長度也恰好是8,通過sizeof()判斷,則會出現錯誤。因此建議你將想過代碼,或演算法貼上來,以便大家給你出主意。

C. c語言如何表示一個非數

e=255;f!=0;

要解答這個問題,首先需要了解浮點數在計算機中的表示規則。

對於32位的浮點數,IEEE754規定,要有8位的階碼,23位的尾數,還有一位的符號位;

其中,尾數用原碼表示,階碼用移碼表示,(這里的移碼不是通常我們認識的那個移碼,它的偏移量是2^(n-1)-1,之所以如此規定也是考慮到求倒數不會溢出等等原因。階碼的最大值和最小值用來表示非規格數或者正負無窮。

當0<e<255,規格化數

當e=0;f!=0;非規格化數

當e=0;f=0;有符號位的0

當s=0;e=225;f=0;正無窮

當s=1;e=225;f=0;負無窮

e=255;f!=0;非數

D. C語言中怎麼表示非數字

什麼叫非數字,把數字當字元使用?這個簡單啊,把數字加個單引號就ok,例如:
'5',這是字元,而不是5塊錢的5

E. c語言,輸出1到1000的非素數

我就站在你的角度寫個程序吧
#include <stdio.h>
#include <math.h>
int main()
{

int i,j,m;
for(i=1;i<=1000;i++)
{ m=0; /*標記是否為素數 0代表為素數 1代表為非素數*/
for(j=2;j<=sqrt(i);j++)
if(i%j==0) m=1; /*符和條件 就m=1 */
if(m==1) /*判斷m=1 來決定是否輸出結果*/
printf("%d ",i);
}
}
不懂的可以用網路HI問 我目前在線

F. c語言去除字元串str中所有非數字字元然後輸出無輸入,輸出為61209

#include <stdio.h>

#include <string.h>

int main(void)

{

//c語言去除字元串str中所有非數字字元然後輸出無輸入,輸出為61209

char a[100];

char b[100];

printf("請輸入一串字元:");

gets(a);

int i, j = 0;

for (i = 0; i < strlen(a); i++) {

if ('0' <= a[i] && a[i] <= '9') {

b[j] = a[i];

j++;

}

}

printf("字元中的數字字元是:");

puts(b);

}

G. c語言中怎樣表示當輸入非數字值時,循環結束

可以使用scanf來輸入數字,並用其返回值來判斷。

函數名:scanf

所在頭文件: stdio.h

原型:intscanf(constchar*format,...);

功能:

從標准輸入stdin (標准輸入設備,一般是鍵盤)中讀內容的通用子程序,可以按格式(format)讀入多個字元,並保存在對應地址的變數中,變數地址由參數傳入。

調用形式:

scanf("<格式說明字元串>",<變數地址>);

變數地址要求有效,並且與格式說明的次序一致。

返回值:

返回成功賦值的數據項數,讀到文件末尾出錯時則返回EOF。


所以如果輸入的是合法的數值,返回值將是設定的變數地址個數,比如

scanf("%d%d",&a,&b);

如果正確的話返回值將是2。

如果返回值不是變數地址的個數,那麼就代表有非法字元輸出,即所說的非數字值。


以輸入int值為例,下面這個程序實現了一個沒什麼用處的功能,僅供理解上述方法。

函數名:test

功能:循環讀入整數,當輸入非數字值時結束循環。

代碼實現:

#include<stdio.h>
voidtest(void)
{
while(1)
{
intv,ret;
ret=scanf("%d",&v);//每次輸入一個整型數值並存在v中
if(ret!=1)break;//判斷返回值,如果非1則退出循環。
printf("%d ",v);//輸出讀入的v值
}
}

H. c語言輸入一個字元串內有數字和非數字字元 輸出數字組成數組

演算法有問題,不可能實現你所提出的問題;for(i=0;*p!='\0';i++)
{
if(*(p+i)>='0'&&*(p+i)<='9')k++;
....
}
這是個死循環,因為p沒有變化,始終指向串首;循環中間也有很多問題

I. C語言(輸出1—100的非3的倍數的數字)

#
include<stdio.h>
#
include<string.h>
#
define
M
100
void
main()
{
int
a[M],i=1,t=1;
while(i<=M)
{
if(i%3!=0)//如果不是三的倍數就列印該數
{
t++;
if(t%5==0)//每五個換一行
printf("\n");
printf("%d-->",i);
}
i++;
}
}

J. C語言。輸入一個字元串,刪除非數字字元後將數字倒置後輸出

樓主這里出錯了:
while(str[i]!='\0')
{
if((str[i]>='0')&&(str[i]<='9'))
{
/*******found********/
str[k]=str[i];
k++;
}
i++;
}
str[k]='\0';
應該在while語句後加一句:str[k]='\0';表示字元串結束,因為為新的字元串了,刪除字母後