> 文章列表 > 【二级C语言真题】003、从键盘输入任意20个整型数,统计其中的负数个数并求所有正数的平均值,输入两个正整数m和n,求其最大公约数和最小公倍数

【二级C语言真题】003、从键盘输入任意20个整型数,统计其中的负数个数并求所有正数的平均值,输入两个正整数m和n,求其最大公约数和最小公倍数

【二级C语言真题】003、从键盘输入任意20个整型数,统计其中的负数个数并求所有正数的平均值,输入两个正整数m和n,求其最大公约数和最小公倍数

文章目录

  • 二级C语言真题解析
    • 1、二级C语言-计负均正
    • 2、 二级C语言-公约公倍
    • 3、 二级C语言-阶乘数列
    • 4、二级C语言-最小绝对值

二级C语言真题解析

1、二级C语言-计负均正


题目描述

从键盘输入任意20个整型数,统计其中的负数个数并求所有正数的平均值。

保留两位小数

输入格式

输出格式

样例输入

1 2 3 4 5 6 7 8 9 10
-1 -2 -3 -4 -5 -6 -7 -8 -9 -10

样例输出

10
5.50

AC代码(C语言)

#include <stdio.h>int main()
{int num;int count=0;int PostiveCount=0;double average=0;double sum=0;for(int i=0;i<20;i++){scanf("%d",&num);if(num<0) count++;else{sum+=num;PostiveCount++;}}printf("%d\\n",count);printf("%.2lf\\n",sum/PostiveCount);return 0;
}

2、 二级C语言-公约公倍


题目描述

输入两个正整数m和n,求其最大公约数和最小公倍数。

输入格式

输出格式

样例输入

2 3

样例输出

1
6

AC代码(C语言)

#include <stdio.h>
int gcd(int m,int n){if(m%n==0) return n;return gcd(n,m%n);}
int main()
{int m,n;scanf("%d%d",&m,&n);int commonFactor=gcd(m,n);int commonBei=m*n/commonFactor;printf("%d\\n%d\\n",commonFactor,commonBei);return 0;
}

3、 二级C语言-阶乘数列


题目描述

求1+2!+3!+4!+…+30!。科学计数法,保留两位小数。

输入格式

输出格式

样例输入

样例输出

AC代码(C语言)

#include<stdio.h>
int main() {double sum = 0;double temp = 1;for (int i = 1; i <= 30; i++) {temp = temp * i;sum += temp;}printf("%.2e\\n", sum);return 0;
}

4、二级C语言-最小绝对值


题目描述

输入10个数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。

输入格式

十个数

输出格式

交换后的十个数

样例输入

10 2 30 40 50 60 70 80 90 100

样例输出

10 100 30 40 50 60 70 80 90 2

AC代码

#include<stdio.h>
#include<math.h>
#include<limits.h>
int main() {int num[12];int min = INT_MAX;int index;for (int i = 0; i < 10; i++) {scanf("%d", &num[i]);if (abs(num[i]) < min) {index = i;min = abs(num[i]);}}int temp = num[index];num[index] = num[9];num[9] = temp;for (int i = 0; i < 10; i++) {printf("%d ", num[i]);}return 0;
}