C语言刷题------(1)

C语言刷题

博主用的刷题网站:题库 - 蓝桥云课 (lanqiao.cn)

小伙伴们可以去试试!!!

First question

题目:成绩统计

题目描述:小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。

如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。

请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。

输入描述

输入的第一行包含一个整数 n (1≤n≤10^4),表示考试人数。

接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。

输出描述

输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分 四舍五入保留整数。

输入输出样例

示例

输入

7
80
92
56
74
88
100
0

输出

71%
43%

思路:先输入总的有多少个人,将他们的分数可以放在一个数组中,然后在用for循环,将分数为60-85的个数计数,再将分数在85以上的计数,在分别计算两类的比例,注意在c语言中表达%时,写代码的时候是用两个%%代替。


Demo:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	int peopleNumber = 0;
	int arr[10] = { 0 };
	float pass = 0.0;
	int count = 0;
	int count2 = 0;
	float outstanding = 0.0;
	printf("请输入人数:n");
	scanf("%d", &peopleNumber);
	for (int i = 0; i < peopleNumber; i++)
	{
		scanf("%d", &arr[i]);
	}
	for (int j = 0; j < peopleNumber; j++)
	{
		if (arr[j] >= 60)
		{
			count++;
		}
		if (arr[j] >= 85)
		{
			count2++;
		}
	}
	pass = (count *100)/( peopleNumber*1.0);
	outstanding = (count2*100) / (peopleNumber*1.0);
	printf("%.0f%%n", pass);
	printf("%.0f%%n", outstanding);
	return 0;
}

Second question

题目:饮料换购

题目描述:乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊 C 型饮料,凭 3 个瓶盖可以再换一瓶 C 型饮料,并且可以一直循环下去(但不允许暂借或赊账)。

请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料。

输入描述

输入一个整数n(0<n<1000),表示开始购买的饮料数量。

输出描述

输出一个整数,表示实际得到的饮料数

输入输出样例

示例

输入

100

输出

149

思路:用一个循环即可,因为是每三个瓶盖换一瓶,我们用1——最开始的总的瓶数去%3,如果这个结果等于0,就说明为3的倍数,那么总瓶数+1,直到循环条件i<=n。


Demo:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        if(i%3==0)
            n++;
    printf("%d",n);
    return 0;
}