程序设计课程报告2018212824沈园园

 


《c++程序设计》
课程设计报告

 

     班级:数学4班

     学号:2018212824

     报告人姓名:沈园园

 实验地点:山东农业大学东校区教学楼

 完成起止日期:2019.1.1——2019.1.5

 

 

 


1

Problem Description
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
Input
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
Output
对于每组输入数据,输出一个平均值序列,每组输出占一行。

题目思路,输入题目数据,判断可否被m整除,分情况求平均。
#include<iostream>
using namespace std;
int main()
{
    int m,n;
    while(cin>>n>>m)//循环结构
    {
        int b=n;
        for(int i=2;i<=2*n;i+=2*m)//i的增量是2*m
        {
            int s=0,a;
            if(b/m!=0)//如果b不能被m整除
            {
                for(int j=i;j<=i+2*(m-1);j+=2) 
                {
                    s+=j;    //偶数列加和
                }
                a=s/m;  //求平均
                cout<<a;
                if(b!=m) cout<<" ";
            }
            if(b/m==0)//如果b能被m整除

            {
                for(int h=i;h<=i+2*(b-1);h+=2)
                {
                    s+=h;偶数列加和

                }
                a=s/b;//求平均

                cout<<a;
            }

 

 

            b-=m;//b的减量是m
        }
        cout<<"\n";
    }
    return 0;
}
2
Problem Description
求A^B的最后三位数表示的整数。
说明:A^B的含义是“A的B次方”
Input
输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。
Output
对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行。

题目思路,输入数据,判断是否为0,符合进入循环程序,取余后三位。
#include<stdio.h>  
#include<stdlib.h>  
int main()
{  
    int a,b,i,p;  
    while(scanf("%d %d",&a,&b)!=EOF)
   {  
        if(a==0&&b==0)
{  
              break;   //a与b其一为0停止循环        
        }               
        p=a%1000;  //取余后三位
        a=1;  
        for(i=1;i<=b;i++)
        {  
             a=a%1000;  
             a=a*p;         //计算a的b次方     
         }  
         printf("%d\n",a%1000);  //取余后三位
    } 
    return 0; 
}
3
Problem Description
妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。
Input
输入含有一些数据组,每组数据包括菜种(字串),数量(计量单位不论,一律为double型数)和单价(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。
Output
支付菜价的时候,由于最小支付单位是角,所以总是在支付的时候采用四舍五入的方法把分头去掉。最后,请输出一个精度为角的菜价总量。

题目思路,输入菜价和数量,总和为各加和。输出。
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
    char a[100];
    double m,n,k=0;//定义m n
    while(cin>>a>>m>>n)
    {
        k+=m*n;//k为mn乘积的和
    }
    printf("%.1lf\n",k);//输出k保留一位小数
    return 0;
}
4
Problem Description
HDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。
这个题目的A和

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值