c - 如何将输出 0/1 行更改为诸如作业/考试之类的名称
问题描述
我想知道如何将 sum 和 avg 的输出从 0 和 1 行更改为分配和检查。我已经完成了编码,但不知道如何仅为此输出更改代码,请帮助。下面是我的代码。
for (i = 0; i < 2; ++i)
{
for (j = 0; j < 2; ++j)
{
sum = sum + arr[i][j] ;
avg = sum/2;
}
printf("Total of the %d row Marks is = %.2f\n\n",i, sum);
printf("Average of the %d row Marks is = %.2f\n\n",i, avg);;
sum = 0;
avg = 0;
期待以下结果
Total of the Assignment Marks is = 11.00
Average of the Examination Marks is = 5.50
Total of the Assignment Marks is = 15.00
Average of the Examination Marks is = 7.50
但我得到了这个:
Total of the 0 row Marks is = 11.00
Average of the 0 row Marks is = 5.50
Total of the 1 row Marks is = 15.00
Average of the 1 row Marks is = 7.50
解决方案
使用三元运算符
例如
printf("Total of the %s row Marks is = %.2f\n\n", (i == 0? "Assignment Marks" : "Examination Marks"), sum);
其他类似printf
推荐阅读
- ios - 使用 UICollectionViewDiffableDataSource 时处理 moveItem(at:to:) 委托方法
- java - 如何使用 maven cargo 插件通过嵌入式 Tomcat 运行 Web 应用程序?
- google-analytics - GA 电子商务报告中未显示任何数据
- javascript - html形式的JS和onchange事件
- activemq - ActiveMQ 何时将过期消息移至 DLQ 队列
- angular - 使用 http 和其他依赖项进行 Angular 服务测试
- vba - VBA 复制数据透视表并删除与数据的连接
- javascript - 当 li 选择添加类到 div
- javascript - 如何为Javascript游戏制作开始菜单?
- android - Android DataBinding:即使生成也无法访问 LayoutNameDataBinding