bupt c++慕课测试与作业3-4章
1、编程找出100-500之间有哪些数其各位数字之和为k
解法:穷举法
#include <iostream>
using namespace std;
int main()
{
int i,k,a,b,c;
cin>>k;
for(i=100;i<=500;i++)
{
c=i%10;
b=(i/10)%10;
a=(i/10)/10;
if(a+b+c == k)
cout<<i<<endl;
}
}
2、输入3个整数,按从小到大的顺序输出
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
if(a>b)
if(b>c)
cout<<c<<','<<b<<','<<a<<endl;
else if(a>c)
cout<<b<<','<<c<<','<<a<<endl;
else
cout<<b<<','<<a<<','<<c<<endl;
else
if(c<a)
cout<<c<<','<<a<<','<<b<<endl;
else if(c<b)
cout<<a<<','<<c<<','<<b<<endl;
else
cout<<a<<','<<b<<','<<c<<endl;
}
3、编写评分统计程序
解法:数组的应用,擂台赛选最大,最小数值
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int mymax,mymin,i,n,a[10],sum;
float ave;
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
mymax=a[0];mymin=a[0];sum=a[0];
for(i=1;i<n;i++)
{
if(a[i]>mymax)
mymax=a[i];
if(a[i]<mymin)
mymin=a[i];
sum=sum+a[i];
}
sum=sum-mymin-mymax;
ave=sum/(float)(n-2);
cout<<std::fixed<<setprecision(2)<<ave<<endl;
}
4、计算学生总成绩
解法 结构体 结构体数组的基本使用
#include <iostream>
using namespace std;
struct student
{
int id;
char name[10];
float math;
float chinese;
float program;
float total;
};
int main()
{
struct student stu[5];
int i;
for(i=0;i<5;i++)
cin>>stu[i].id>>stu[i].name>>stu[i].math>>stu[i].chinese>>stu[i].program;
for(i=0;i<5;i++)
{
stu[i].total=stu[i].math+stu[i].chinese+stu[i].program;
cout<<stu[i].id<<','<<stu[i].name<<','<<stu[i].total<<endl;
}
}
更多推荐



所有评论(0)