A. c語言怎麼去掉輸出的0
把 printf("%d",n%10); 換成 if(n%10!=0) printf("%d",n%10);
B. c語言作業,怎麼去除多餘的0,我那個代碼提交說錯誤了 給定x,請求其函數值 輸入 一行,x 輸出
#include<stdio.h>
#include<math.h>
intmain(){
floatx;
doubley;
scanf("%f",&x);
if(x<0)
y=0;
elseif(x<=1)
y=x*x;
else
y=sqrt(x);
printf("%f ",y);
}
你的輸入函數scanf寫錯了,還有最好不要用f(x),有可能會和x在名字上面沖突
C. C語言編程中怎麼自動去掉浮點數小數點後沒用的0。
#include<stdio.h>
int main()
{
float a=3.123000;
printf("%g ",a);//自動省略後面無意義的0
return 0;
}
(3)c語言剔除0擴展閱讀
C語言浮點數
浮點數的值等於尾數乘以 2^x。讀者應該注意,上圖是二進制分數,因此 0.1表示 1/2。為了方便理解,我們可以將其與十進制的小數對應起來:十進制的 0.1 等於 1*10^-1,所以二進制的 0.1 等於1*2^-1,也即 1/2。
「尾數+指數」模式存儲浮點數可能有一點問題,例如:2x10^-1=0.2x10^0=0.02x10^1,依此類推。同樣一個數字可能有多種「尾數+指數」的表示方法,而同時兼顧多種表示方法勢必會造成巨大的浪費。
D. 你好,我寫的C語言程序字元串數組後面總是顯示0,怎樣把這個0去掉,讓0不顯示,謝謝
\0(ascii 0) 字元串結束標志,只要字元串數組大小夠大,編譯器會自動加上。
如果在給數組賦值時,把每個字元單獨用引號括起來。也會丟失'\0'。如:
u8 str1[]={'c','x','j','r','.','2','1','i','c','.','o','r','g'};
一般來說只是在內存中存在,輸出時不會顯示,沒見到你的輸出語句,無法判斷
E. C語言如何把轉換進制數前面的0去掉呢
void main()
{
char popo;
int a[N],b,c,i=0,j;
printf("十進數為:");
int u=0,y;
scanf("%d",&b);
c=b;
printf("直接輸出十六進制數為%x",c);
printf("\n");
printf("二進制數為:");
for(;;)
{
i=0;
if(u>0)
printf("二進制數為:");
while(b) //不用for循環,用while循環,直到b=0退出循環
{
a[i]=b%2;
b=b/2;
i++;
}
for(j=i-1;j>=0;j--)//輸出時藉助上面用到的i,這樣就不會輸出多餘的
printf("%d",a[j]);
printf("\n");
printf("轉換的十六進制數為:");
i=0;//為了上面用到i不影響下面,置0
while(c)
{
a[i]=c%16; //輸出十六進制改法同上咯
c=c/16;
i++;
}
for(j=i-1;j>=0;j--)
{if(a[j]>=10)
printf("%c",a[j]+55);
else
printf("%d\n",a[j]); }
printf("是否繼續?(Y/N)");
fflush(stdin);
scanf("%c",&popo);
if((popo=='n' || popo=='N') || (popo!='y' && popo!='Y'))
break;
fflush(stdin);
printf("十進數為:");
scanf("%d",&b);
c=b;
fflush(stdin);
u++;
for(y=0;y<20;y++)
a[y]=0;
}
printf("\n");
system("pause");
}
這僅僅是對Chen b2009的程序進行一些修改,加了個重復輸入的功能。
F. c語言編寫函數刪除數字內所有為0的元素
#include<stdio.h>
int del_zero(int *p,int n);
int main(void)
{
int i,n,test[128];
printf("請輸入測試數組元素的個數n...\n");
scanf("%d",&n);
printf("請輸入%d個數組元素\n",n);
for(i=0;i<n;i++)
scanf("%d",&test[i]);
printf("\n輸入的數據元素為:\n");
for(i=0;i<n;i++)
printf("%d ",test[i]);
n=del_zero(test,n);
printf("\n刪除0元素後的數組長度=%d,剩餘元素為:",n);
for(i=0;i<n;i++)
printf("%d ",test[i]);
return 0;
}
int del_zero(int *p,int n)
{
int i,j,temp,len=n;
for(i=0;i<len;i++){
if(p[i]==0){
for(j=i;j<len;j++){
p[j]=p[j+1];
}
len--;
}
}
return len;
}
G. c語言去掉字元串前邊的0後如何存儲到一個新字元串里
一、演算法分析:
要去掉字元串前面的0,首先就要統計出字元串開始處有多少個0,也就是從第幾位開始字元串元素非0.
然後就可以利用strcpy函數,將從非零位置起始的字元串復制到新的字元串中了。
二、參考代碼:
#include<stdio.h>
#include<string.h>
intmain()
{
chars[100],d[100];
char*p=s;
scanf("%s",p);//輸入字元串。
while(*p=='