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

  1. 输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:
    90~100为A;
    80~89为B;
    70~79为C;
    60~69为D;
    0~59为E;

Input

输入数据有多组,每组占一行,由一个整数组成。

Output

对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。

题意:把在给定范围内的数字转化为给定的字母输出,不在给定范围内的输出”Score is error”.

解题思路:此题非常简单,是顺序结构比较简单的一类,按题目要求写代码即可。

细节处理:没有什么细节需要特别处理。

原代码:

#include

using namespace std;

int main()

{

int t;

while(cin>>t)

{

    if(t<0||t>100)

cout<<"Score is error!"<<endl;

else if(t>=90&&t<=100)

cout<<"A"<<endl;

else if(t>=80&&t<=89)

cout<<"B"<<endl;

else if(t>=70&&t<=79)

cout<<"C"<<endl;

else if(t>60&&t<=69)

cout<<"D"<<endl;

else if(t>=0&&t<=59)

cout<<"E"<<endl;

}

return 0;

}

总结:此题目就是运用最开始所学的顺序结构加上多组数据输入的while循环即可。

  1. 给你n个整数,求他们中所有奇数的乘积。

Input

输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。

Output

输出每组数中的所有奇数的乘积,对于测试实例,输出一行。

题意:把给定的一组数中所有奇数相乘,把所得到的数输出即可。

解题思路:把所有的奇数找出来,用一个循环把所得到的奇数连乘,就得到了最后的结果。

细节处理:while,for后面别忘了加花括号,最后别忘了换行cout<<endl;

#include

using namespace std;

int main()

{

int n,i,a,temp;

while(scanf("%d",&n)==1)

{

a = 1;

for(i=0;i<n;i++)

{

scanf("%d",&temp);

if(temp%2) a*=temp;

}

printf("%d\n",a);

}

return 0;

}

总结:做这种需要先判断奇和偶,然后再用循环把他们找出来即可,被忘了是多组数据输入。

3.

Problem Description

有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。

Input

输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。

Output

对于每组输入数据,输出一个平均值序列,每组输出占一行。

解题思路:每隔题目所给定的长度,将这些数求平均值,有一个公式,首项加所求平均值的个数减去一就是这m个数的平均数。

细节处理:如果最后的数不足m,还需要单独拿出来计算。但公式和上面的一样。

原代码:

#include <stdio.h>

int main()

{

int n,m,a,b,c;

while (scanf("%d %d", &n, &m) != EOF) 

{

    b = n/m;

    c = n%m;

    a = 2;

    for (int i = 0; i < b; i++) 

    {

        if (i != 0)

            printf(" ");

        printf("%d", a + m - 1);

        a = a + 2 * m;

    }

    if (c != 0)

        printf(" %d", a + c - 1);

    printf("\n");

}

return 0;

}

总结:像这样的题需要找到它的规律,以便于根据规律来写出计算他的式子,以此来快速解决问题。

  1. Problem Description

青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。

Input

输入数据有多组,每组占一行,每行的第一个数是n(2<n<=100),表示评委的人数,然后是n个评委的打分。

Output

对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。

解题思路:根据题目给出的数据,我们可以看出选手的得分是从大到小排好序的,因此不用我们从新排序,写码时去掉第一个数据和最后一个数据,求中间n-2个数据的平均值即可。

细节处理:别忘了最后输出的是保留两位小数,所以要用浮点数。别忘了头文件!

原代码:

#include

#include

us

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值