本文目录一览:
- 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;
}
//---------------------------------------------------------------------------