第1题:输出整数部分
输入一个双精度浮点数f, 输出其整数部分。
时间限制:1000
内存限制:65536
输入
一个双精度浮点数f(0 < f < 100000000)。
输出
一个整数,表示浮点数的整数部分。
样例输入
3.8889
样例输出
3
下面是一个使用C语言编写的输出双精度浮点数整数部分的程序的示例代码:
#include <stdio.h>
#include <math.h>
int main() {
double f;
scanf("%lf", &f);
int integerPart = (int)floor(f);
printf("%d\n", integerPart);
return 0;
}
在上述代码中,我们首先使用scanf
函数读取输入的双精度浮点数f
。
然后,我们使用floor
函数将f
向下取整,得到其整数部分。由于floor
函数返回的是double
类型的值,我们将其强制转换为int
类型,以得到整数部分的整数值。
最后,我们使用printf
函数输出变量integerPart
的值。
你可以根据需要使用上述示例代码,并根据题目要求进行适当的修改。记得在编译和运行代码之前,确保你的编译环境已经配置好,并且包含了必要的头文件。
第2题:疫情集中隔离
A同学12月初从国外回来,按照防疫要求,需要进行14天集中隔离,请你实现一个程序,根据回国的时间计算集中隔离结束的日期。
比如,12月1号回来,1号当天开始隔离,14号是隔离的最后一天,因此14号是集中隔离结束的日期。
时间限制:1000
内存限制:65536
输入
一个整数x,表示A同学12月x号回国。(1 ≤ x ≤ 15)
输出
一个整数y,表示A同学结束集中隔离的日期(即12月y号A结束集中隔离)。
样例输入
1
样例输出
14
根据题目描述,我们需要根据回国的时间计算集中隔离结束的日期。假设回国的日期为12月x号,集中隔离的天数为14天,则集中隔离结束的日期为12月x+14号。
下面是一个使用C语言编写的计算集中隔离结束日期的程序的示例代码:
#include <stdio.h>
int main() {
int x;
scanf("%d", &x);
int endDate = x + 14;
printf("%d\n", endDate);
return 0;
}
在上述代码中,我们首先使用scanf
函数读取输入的整数x
,表示回国的日期。
然后,我们将回国的日期x
加上14,得到集中隔离结束的日期endDate
。
最后,我们使用printf
函数输出变量endDate
的值。
你可以根据需要使用上述示例代码,并根据题目要求进行适当的修改。记得在编译和运行代码之前,确保你的编译环境已经配置好,并且包含了必要的头文件。
第3题:字符判断
对于给定的字符,如果该字符是大小写字母或者数字,输出YES, 否则输出NO
时间限制:1000
内存限制:65536
输入
一个字符
输出
按照题目要求输出YES或者NO
样例输入
样例1输入
A
样例2输入
a
样例3输入
1
样例4输入
*
样例输出
样例1输出
YES
样例2输出
YES
样例3输出
YES
样例4输出
NO
提示
【样例输入】、【样例输出】里的多组数据只是给大家提供尽量多的参考,”样例1输入“、”样例1输出“等提示文字也只是为了区别不同的数据,输入输出中不会出现。输入输出的格式按照题目里【输入】【输出】的描述为准。
下面是一个使用C语言编写的判断字符类型的程序的示例代码:
#include <stdio.h>
int main() {
char c;
scanf("%c", &c);
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
在上述代码中,我们首先使用scanf
函数读取输入的字符c
。
然后,我们使用条件语句判断字符c
的类型。如果c
是大小写字母或者数字,即满足条件(c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')
,则输出"YES";否则输出"NO"。
最后,我们使用printf
函数输出结果。
你可以根据需要使用上述示例代码,并根据题目要求进行适当的修改。记得在编译和运行代码之前,确保你的编译环境已经配置好,并且包含了必要的头文件。
第4题:统计数
给定一个数的序列S,以及一个区间[L, R], 求序列中介于该区间的数的个数,即序列中大于等于L且小于等于R的数的个数。
时间限制:1000
内存限制:65536
输入
第一行3个整数n、L、R,分别表示序列的长度,区间的左端点,区间的右端点。(0 < n ≤ 10000, 1 ≤ L ≤ R ≤ 1000000) 第二行n个正整数,表示序列里的每一个数,每个数小于等于10000000
输出
输出一个整数,表示序列中大于等于L且小于等于R的数的个数。
样例输入
5 1 10
11 8 1 10 16
样例输出
3
下面是一个使用C语言编写的统计数的程序的示例代码:
#include <stdio.h>
int main() {
int n, L, R;
scanf("%d %d %d", &n, &L, &R);
int count = 0;
for (int i = 0; i < n; i++) {
int num;
scanf("%d", &num);
if (num >= L && num <= R) {
count++;
}
}
printf("%d\n", count);
return 0;
}
在上述代码中,我们首先使用scanf
函数读取输入的三个整数n
、L
、R
,分别表示序列的长度、区间的左端点和区间的右端点。
然后,我们定义一个变量count
来统计序列中大于等于L
且小于等于R
的数的个数,并将其初始值设为0。
接下来,我们使用一个循环来遍历序列中的每个数。在循环中,我们使用scanf
函数读取序列中的每个数,并判断该数是否大于等于L
且小于等于R
。如果满足条件,则将count
加1。
最后,我们使用printf
函数输出变量count
的值。
你可以根据需要使用上述示例代码,并根据题目要求进行适当的修改。记得在编译和运行代码之前,确保你的编译环境已经配置好,并且包含了必要的头文件。
第5题:最大质因子
质因子是指能整除给定正整数的质数。而最大质因子是指一个整数的所有质因子中最大的那个。
比如30的质因子有2,3, 5,所以最大质因子就是5。
时间限制:1000
内存限制:65536
输入
一个整数N( 2 ≤ N ≤ 10000)
输出
N的最大质因子
样例输入
30
样例输出
5
提示
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
下面是一个使用C语言编写的求最大质因子的程序的示例代码:
#include <stdio.h>
int isPrime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int N;
scanf("%d", &N);
int maxPrimeFactor = 0;
for (int i = 2; i <= N; i++) {
if (N % i == 0 && isPrime(i)) {
maxPrimeFactor = i;
}
}
printf("%d\n", maxPrimeFactor);
return 0;
}
在上述代码中,我们首先定义了一个辅助函数isPrime
,用于判断一个数是否为质数。在该函数中,我们首先判断小于等于1的数不是质数,然后使用一个循环从2到根号n的范围内判断是否有因子能整除n,如果有则不是质数,返回0;否则是质数,返回1。
然后,在main
函数中,我们使用scanf
函数读取输入的整数N。
接下来,我们定义一个变量maxPrimeFactor
来保存最大质因子的值,并将其初始值设为0。
然后,我们使用一个循环从2到N遍历每个数,并判断是否为N的因子,并且是质数。如果满足条件,则将当前数赋值给maxPrimeFactor
。
最后,我们使用printf
函数输出变量maxPrimeFactor
的值。
你可以根据需要使用上述示例代码,并根据题目要求进行适当的修改。记得在编译和运行代码之前,确保你的编译环境已经配置好,并且包含了必要的头文件。