希望有人给我指点一下,万分感谢,C++的
越详细越好
一般知道循环次数时用for
不清楚循环次数时用while
while与do...while的区别在于,do...while无论如何都会执行一次,而while如果条件不满足的话一次都不会执行
for的一般用法
for(变量初始化;循环条件;循环变量操作)
例如,for(i=0;i<10;i++)
这句代码的意思是,初始化变量i等于0,循环条件是i小于10,循环变量i每次循环都自加1,因此,这里的for循环体会循环10次,另外,在循环体内也可以利用i进行遍历等操作,例如
int arr[10];
for(int i=0;i<10;i++){
arr[i]=i*2;
}
//此时数组arr内的数为0,2,4,6,8,10......
有些时候我们不知道循环次数的,可以用while,满足什么条件时执行循环,例如
bool end=false;
int i=0;
while(end==false){
if(i==15) end=true;
i++;
}
但若是end一开始则为true时,便不会进入循环体,因此,用do...while来写的话,则可以保证最少执行一次
它们大致的区别就这些,接下来说说题目
根据上述对三个循环体的介绍来观察如下代码
#include<iostream>
using namespace std;
int main()
{
int sum=0,average,max,i;
int arr[10]={100,95,78,82,99,70,75,78,90,86};
max=arr[0];
//for写法
for(i=0;i<10;i++){
sum+=arr[i];
if(max<arr[i]){
max=arr[i];
}
}
average=sum/10;
cout << "最高分" <<max<< endl;
cout << "平均分" <<average<< endl;
//重新初始化
i=0;
sum=0;
average=0;
max=arr[0];
//while写法
while(i<10){
sum+=arr[i];
if(max<arr[i])max=arr[i];
i++;
}
average=sum/10;
cout << "最高分" <<max<< endl;
cout << "平均分" <<average<< endl;
//重新初始化
i=0;
average=0;
sum=0;
max=arr[0];
//do...while写法
do{
sum+=arr[i];
if(max<arr[i])max=arr[i];
i++;
}while(i<10);
average=sum/10;
cout << "最高分" <<max<< endl;
cout << "平均分" <<average<< endl;
return 0;
}
图中圈出来的地方我不太懂啊,为什么要写这些,[]里面的是啥啊
这样写可以吗,我想先运行程序,然后再输入十位同学的成绩,
#include
using namespace std;
int main()
{
int sum = 0,average, max, i;
int arr[10];
cin>>arr[10];
max= arr[0];
for (i =0;i < 10; i++)
{
sum+=arr[i];
if(max<arr[i])
{
max = arr[i];
}
}
average = sum/10;
cout <<"最高分"<<max<<endl;
cout <<"平均分"<<average<<endl;
return 0;
}