程序书海码农的世界程序员

蓝杯三十三

2018-01-29  本文已影响24人  逍遥_9353

  算法训练 整数平均值 

时间限制:1.0s  内存限制:512.0MB

   

编写函数,求包含n个元素的整数数组中元素的平均值。要求在函数内部使用指针操纵数组元素,其中n个整数从键盘输入,输出为其平均值。

样例输入: (输入格式说明:5为输入数据的个数,3 4 0 0 2 是以空格隔开的5个整数)

5

3 4 0 0 2

样例输出:

1

样例输入:

7

3 2 7 5 2 9 1

样例输出:

4

#include<stdio.h>

int main(){

int n;

scanf("%d",&n);

int i,a[n],ave=0;

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

scanf("%d",&a[i]);

ave+=a[i];

}

printf("%d",ave/n);

return 0;

}

思路分析:

①定义变量:包含元素个数,循环次数,一维数组,总数(初始化为0);

②通过for语句循环n次输出数组元素并累加;

③求出平均值输出。

  算法训练 薪水计算 

时间限制:1.0s  内存限制:512.0MB

   

问题描述

  编写一个程序,计算员工的周薪。薪水的计算是以小时为单位,如果在一周的时间内,员工工作的时间不超过40 个小时,那么他/她的总收入等于工作时间乘以每小时的薪水。如果员工工作的时间在40 到50 个小时之间,那么对于前40 个小时,仍按常规方法计算;而对于剩余的超额部分,每小时的薪水按1.5 倍计算。如果员工工作的时间超过了50 个小时,那么对于前40 个小时,仍按常规方法计算;对于40~50 个小时之间的部分,每小时的薪水按1.5 倍计算;而对于超出50 个小时的部分,每小时的薪水按2 倍计算。请编写一个程序,输入员工的工作时间和每小时的薪水,然后计算并显示他/她应该得到的周薪。

  输入格式:输入只有一行,包括一个整数和一个实数,分别表示工作时间和每小时薪水。

  输出格式:输出只有一个实数,表示周薪,保留小数点后2位。

  输入输出样例

样例输入

40 50

样例输出

2000.00

#include<stdio.h>

int main(){

int n;

double m,s=0.0;

scanf("%d%lf",&n,&m);

if(n<=40) s=n*m;

if(n>40 && n<=50) s=40*m+(n-40)*1.5*m;

if(n>50) s=40*m+15*m+(n-50)*2*m;

printf("%.2f",s);

return 0;

}

思路分析:

①定义变量:工作时间,每小时薪水,总薪水(初始化为0);

②用if语句根据题目分为3类,并给出相应的总薪水:小于40,40到50,大于50;

③输出总薪水;

  算法训练 统计字符次数 

时间限制:1.0s  内存限制:512.0MB

   

  输入一个字符串(长度在100以内),统计其中数字字符出现的次数。

样例输入

Ab100cd200

样例输出

6

#include<stdio.h>

int main()

{

    char a[101];

    int i=0,s=0;

    gets(a);

    for(i=0;*(a+i)!='\0';i++)

    {

        if(*(a+i)>=48&&*(a+i)<=57)

        s++;

    }

    printf("%d",s);

return 0;

}

思路分析:

①定义变量:字符串(一维数组),次数,数字个数(初始化为0);

②输入字符串;

③for语句循环,直到字符为0,用if语句判断是否为数字,如果是数字个数加1;

④输出数字个数。

#include <iostream>

#include <string>

using namespace std;

int main() {

string s;

cin >> s;

int cnt = 0;

for(int i = 0; i < s.length(); i++) {

if(isdigit(s[i]))

cnt++;

}

cout << cnt;

return 0;

}

上一篇 下一篇

猜你喜欢

热点阅读