arrays - 在 for 循环中添加新行。C 编程
问题描述
嗨,这是我上大学的第一年,我们有一个关于数组的 C 编程作业。而且我设法编写了我的代码,但我唯一的问题是在 for 循环内添加间距或换行,并且用户仍然可以输入。因此,间距或新行与其余部分number[2]
分开。number[3]
number[4]
所需的输出是这样的:
Enter number [0]: 70
Enter number [1]: 89
Enter number [2]: 90 (Enter Key)
Enter number [3]: 76
Enter number [4]: 78
number [0]: 70
number [1]: 89
number [2]: 90
number [3]: 76
number [4]: 78
Highest Grade : 90
Lowest Grade : 70
Average Grade:
这是我的代码。(抱歉间距或格式不好,我是初学者)
int main(){
int Agrades[5];
int BGrades=5;
int average=0;
int highest, lowest;
for (int i=0; i<BGrades; ++i){
printf("Enter Number[%d]:",i);
scanf("%d",&Agrades[i]);
}
for (int i=0; i<BGrades; ++i){
printf("\nNumber[%d]:%d",i, Agrades[i]);
}
for (int i=0; i<BGrades; ++i)
average+=Agrades[i];
average= average/5;
lowest=highest=Agrades[0];
for(int i=1; i<5; i++)
{
if(lowest>Agrades[i])
lowest=Agrades[i];
if(highest<Agrades[i])
highest=Agrades[i];
}
printf("\n\nHighest Grade: %d", highest);
printf("\nLowest Grade: %d", lowest);
printf("\n\nAverage Grade: %d", average);
return 0;
}
这是我制作的代码的输出: 在此处输入图像描述
解决方案
一个简单的if
检查应该可以解决问题
for (int i = 0; i < BGrades; ++i)
{
printf("\nNumber[%d]:%d", i, Agrades[i]);
if (i == 2)
{
puts("\n"); // or printf("\n"); to skip just 1 line
}
}
否则,如果您希望\n
在用户输入时添加字符,那么最好使用字符串来实现,\n
在输入阶段添加,然后在打印时将字符串解析为整数,或者如果数据类型不是,则将它们打印为字符串问题。
如果您希望实施第二个版本,请指定以便我可以修改我的答案
当前输出为:
>> gcc -o test test.c
>> ./test
Enter Number[0]:1
Enter Number[1]:2
Enter Number[2]:3
Enter Number[3]:4
Enter Number[4]:5
Number[0]:1
Number[1]:2
Number[2]:3
Number[3]:4
Number[4]:5
Highest Grade: 5
Lowest Grade: 1
Average Grade: 3
推荐阅读
- azure - Unable to install Az powershell module with PS7 on windows10
- apache-spark - 与集群通信 Spark History 服务器正在运行
- javascript - 访问文本框字段并用自定义字符串填充
- javascript - 将 Firestore 快照返回推送到数组中
- postgresql - PostgreSQL-pgadmin 格式备份 (.backup)
- android - Jetpack compose - 如何在动画中设置多个动画规范?
- javascript - 如何将 api 值传递给 useState 作为其初始值?
- scheduled-tasks - 列出两个不同用户的计划任务
- logging - 在 Apache Flink 任务管理器中禁用配置日志记录
- php - 在 WooCommerce 编辑订单页面中添加可变产品属性列