C 编程数组
C Programming Arrays
代码的期望输出是:6.30 1.25 2 14.40 1
printf语句有一些错误,我找不到。
密码是:
#include<stdio.h>
#define SZ 5
int main(void)
{
int arg1[SZ] = { 3, 4, 7, 2, 9 };
double arg2[SZ] = { 2.1, 3.2, 5.3, 7.2, 8.1 };
char operand[SZ] = { 'm', 'd', 'r', 'm', 'r' };
int i;
for ( i = 0; i < SZ; i++)
{
switch (operand[i])
{
case 'm':
printf("%d ", arg1[i] * arg2[i]);
break;
case 'd':
printf("%d ", arg2[i] / arg1[i]);
break;
case 'r':
printf("%.2lf ", arg1[i] % arg2[i]);
break;
default:
break;
}
}
printf("\n");
return 0;
}
提前致谢。
- 您应该使用
%f
,而不是 %d
来打印 double
。
- 除数和被除数互换。
%
运算符不能与 C 中的浮点数一起使用。
这段代码产生了预期的输出:
#include<stdio.h>
#define SZ 5
int main(void)
{
int arg1[SZ] = { 3, 4, 7, 2, 9 };
double arg2[SZ] = { 2.1, 3.2, 5.3, 7.2, 8.1 };
char operand[SZ] = { 'm', 'd', 'r', 'm', 'r' };
int i;
for ( i = 0; i < SZ; i++)
{
switch (operand[i])
{
case 'm':
printf("%.2f ", arg1[i] * arg2[i]);
break;
case 'd':
printf("%.2f ", arg1[i] / arg2[i]);
break;
case 'r':
printf("%d ", (int)arg1[i] % (int)arg2[i]);
break;
default:
break;
}
}
printf("\n");
return 0;
}
代码的期望输出是:6.30 1.25 2 14.40 1
printf语句有一些错误,我找不到。
密码是:
#include<stdio.h>
#define SZ 5
int main(void)
{
int arg1[SZ] = { 3, 4, 7, 2, 9 };
double arg2[SZ] = { 2.1, 3.2, 5.3, 7.2, 8.1 };
char operand[SZ] = { 'm', 'd', 'r', 'm', 'r' };
int i;
for ( i = 0; i < SZ; i++)
{
switch (operand[i])
{
case 'm':
printf("%d ", arg1[i] * arg2[i]);
break;
case 'd':
printf("%d ", arg2[i] / arg1[i]);
break;
case 'r':
printf("%.2lf ", arg1[i] % arg2[i]);
break;
default:
break;
}
}
printf("\n");
return 0;
}
提前致谢。
- 您应该使用
%f
,而不是%d
来打印double
。 - 除数和被除数互换。
%
运算符不能与 C 中的浮点数一起使用。
这段代码产生了预期的输出:
#include<stdio.h>
#define SZ 5
int main(void)
{
int arg1[SZ] = { 3, 4, 7, 2, 9 };
double arg2[SZ] = { 2.1, 3.2, 5.3, 7.2, 8.1 };
char operand[SZ] = { 'm', 'd', 'r', 'm', 'r' };
int i;
for ( i = 0; i < SZ; i++)
{
switch (operand[i])
{
case 'm':
printf("%.2f ", arg1[i] * arg2[i]);
break;
case 'd':
printf("%.2f ", arg1[i] / arg2[i]);
break;
case 'r':
printf("%d ", (int)arg1[i] % (int)arg2[i]);
break;
default:
break;
}
}
printf("\n");
return 0;
}