笔者最新更新牛客网练习题!
笔者开头感想,如今大部分高校已经开学,当然笔者也不列外!但是由于疫情的原因,笔者被迫在家上网课学习!一脸忧愁,而这恰恰给了笔者自学的机会!相信笔者会加油滴!按照时间的步伐来追寻科班的脚步!C语言练习题集册见!
1. 牛牛的短信
2.数字统计
3.The Biggest Water Problem
1. 牛牛的短信
描述
牛牛很喜欢发短信,他所用的通讯公司的收费方法如下:
1.每条短信收费0.1元
2.每条短息的字数不超过60字,如果超过60字,将按照0.2元的价格收费。
牛牛这个月发了 n 条短信,请问牛牛一共要缴多少短信费
输入描述:
第一行输入一个正整数 n ,表示发送短信的条数,
第二行输入 n 个正整数,表示牛牛发送的 n 条短信中每条短信的字数
输出描述:
输出牛牛这个月要缴的短信费
示例1
输入:
2
50 60
输出:
0.2
示例2
输入:
3
55 12 123
输出:
0.4
#include <stdio.h>
float my_add(int score)
{
if(score<=60)
return 0.1;
else
return 0.2;
}
int main ()
{
int n=0;
scanf("%d",&n);
int score=0;
int i=0;
float sum1=0;
float sum2=0;
for(i=0;i<n;i++)
{
scanf("%d",&score);
if(score<=60)
{
sum1=sum1+my_add(score);
}
if(score>60)
{
sum2=sum2+my_add(score);
}
}
printf("%.1f",sum1+sum2);
return 0;
}
2.数字统计
描述
请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。
比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。
输入描述:
输入共1行,为两个正整数L和R,之间用一个空格隔开。
输出描述:
输出共1行,表示数字2出现的次数。
示例1
输入:
2 22
输出:
6
示例2
输入:
2 100
输出:
20
备注:
1≤L≤R≤10000。
#include <stdio.h>
int su(int i)
{
int count=0;
while(i!=0)
{
if(i%10==2)
count++;
i=i/10;
}
return count;
}
int main ()
{
int l=0;
int r=0;
scanf("%d %d",&l,&r);
int i=0;
int sum=0;
for(i=l;i<=r;i++)
{
sum=sum+su(i);
}
printf("%d\n",sum);
return 0;
}
3.The Biggest Water Problem
描述
给你一个数,让他进行巴啦啦能量,沙鲁沙鲁,小魔仙大变身,如果进行变身的数不满足条件的话,就继续让他变身。。。直到满足条件为止。
巴啦啦能量,沙鲁沙鲁,小魔仙大变身:对于一个数,把他所有位上的数字进行加和,得到新的数。
如果这个数字是个位数的话,那么他就满足条件。
输入描述:
给一个整数数字n(1<=n<=1e9)。
输出描述:
输出由n经过操作满足条件的数
示例1
输入:
12
输出:
3
说明:
12 -> 1 + 2 = 3
示例2
输入:
38
输出:
2
说明:
38 -> 3 + 8 = 11 -> 1 + 1 = 2
#include <stdio.h>
int output(int n) {
while (1) {
n = n % 10 + n / 10;
if (n >= 10) output(n);
else return n;
}
}
int main() {
int n, sum;
scanf("%d", &n);
printf("%d", output(n));
return 0;
}