本文目錄一覽:
- 1、剛學c語言,請問a=c/10那一步運行時不能得到首位數字的原因
- 2、C語言問題求教
- 3、c語言問題 c=246 a=c/100%9 a=?
- 4、C語言上的問題 !(a+b)+c-1&&b+c/2的值 a=3,b=4,c=5
- 5、c語言中的四捨五入怎麼做?
- 6、c語言改錯
剛學c語言,請問a=c/10那一步運行時不能得到首位數字的原因
假如 c = 1234,
a = c / 10,那就是 a = 123, 餘數為4
如果你想得到 1,2,3,4 這樣的每一位的數字,
你可以這樣:
//#include stdlib.h
int t = c;
int pLength = 1;
int *p = (int*) malloc(sizeof(int) * pLength);
while( t / 10 0){
printf(“%d\n”,t % 10);
*(p + pLength – 1) = t % 10;
t = t / 10;
pLength ++;
p = (int *) realloc(p,sizeof(int) * pLength);
}
printf(“%d\n”,t );
*(p + pLength – 1) = t ;
這樣列印出的是 :
4
3
2
1
這樣取出 1,2,3,4:
int i = pLength;
for(;i 0; i–){
printf(“%d\n”,*(p + i – 1));
}
C語言問題求教
樓上的都對,不過我要是你就這麼寫
case ‘D’ :
case 『d’ :
…
beak;
這樣清楚一些。
還有為了不區分大小寫,可以先判斷是不是字母isalpha()系統自帶函數,然後
if (input’z’)//是大寫
{
input-=’A’;
}
else//小寫
{
input-=’a’;
}
/* 此時input是一個輸入字母與a的差值,就只有0,到6了否則進default */
switch(input)
case 0:
++aCount;
break;
….
default:
print(“Error Input !\n”);
break;
c語言問題 c=246 a=c/100%9 a=?
/ 的優先順序是高於% 的,所以先計算 c/100 = 2, 然後計算2%9 還是等於2. 所以最終 a = 2。希望能夠幫到你~
C語言上的問題 !(a+b)+c-1&&b+c/2的值 a=3,b=4,c=5
優先順序關係可以簡單地記為:
! 算術運算符 關係運算符 || 賦值運算符
所以是等價於(!(a+b)+c-1)(b+c/2)
c語言中的四捨五入怎麼做?
# incloud stdio
int main(void)
{
float a ;
scanf(「%f」,a);
a=(int)(a*1000+0.5)/1000.0;
printf (「%0.3f」,a);
return 0;
}
擴展資料:
其他方法實現四捨五入:
int myround(double indata,int precision,double * outdata)
{
long pre = 1,i;
for(i = 0; i precision; i ++)pre = pre * 10;
if(cy_FloatCompare(indata,0.00) 0)
* outdata =(int)((indata * pre)+0.5)/100.00;
else
* outdata =(int)((indata * pre)-0.5)/100.00;
return 0;
}
// cy_FloatCompare是浮點數與0比較的函數,假設它存在。返回值與strcmp相同。
c語言改錯
第一個程序,f()函數修改如下:
double f(int x)
{
if(x==0||x==2)
return 0;
else if(x=1)
return (x+1)/(x-2);
else if(x0)
return (x-1)/(x-2);
return 0;
}
第二個程序,修改如下:
//—————————————————————————
#includestdio.h
double f(double n);
int main()
{
double i=50,T;
T=f(i);
printf(“%lf\n”,T);
return 0;
}
double f(double n)
{
double a,b,c=1;
for(a=2;a=n;a+=1)
{
b=a*(a+1);
c+=1.0/b;
}
return c;
}
//—————————————————————————
第三個程序,修改如下:
//—————————————————————————
#includestdio.h
int main()
{
long long int y=1,a,b,c,i,N;
scanf(“%lld”,N);
for(i=1;i=N;i++)
{
if(N%2==0)
{
a=N/2;
b=N*N*N;
c=(a-b)*(a-b);
}
else
{
a=N;
b=N*N;
c=(a-b)*(a-b);
}
y=y*c;
}
printf(“%lld\n”,y);
return 0;
}
//—————————————————————————
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/159577.html