山东科技大学数学学院2022级C语言期末考试题目

今天看了下oj居然能登上自己的账号了,那就发一下吧

Problem A: 欢迎来青岛

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 4833  Solved: 3334
[Submit][Status]

Description

按样例格式输出

Input

Output

按样例格式输出

Sample Input

Sample Output

Welcome to Qingdao!

Problem B: 平均值

Time Limit: 1 Sec  Memory Limit: 2 MB
Submit: 38086  Solved: 21842
[Submit][Status]

Description

求3个数的平均值。

Input

输入只有一行,为3个较小的整数。

Output

输出为这3个整数的平均值,保留3位小数。

Sample Input

1 2 3

Sample Output

2.000

HINT

注意除法运算对整型数据和浮点型数据是不一样的。

Problem C: 考试及格了吗?

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 2322  Solved: 823
[Submit][Status]

Description

输入一个字符,按照五级制计分法判断该生是否通过考试。

Input

一个字符。

Output

如果输入是A、B、C、D四个字母之一(可能是小写字母),则输出“Pass”。如果输入是字母E(可能是小写)则输出“Not pass”。其他情况输出“Input error”。

Sample Input

A

Sample Output

Pass

Problem D: 寻找自守数

Time Limit: 1 Sec  Memory Limit: 2 MB
Submit: 988  Solved: 144
[Submit][Status]

Description

所谓自守数(也称守形数),是指其平方数的低位部分恰为该数本身的自然数。例如:252=625,因此25是自守数。(注:0 和 1 也算自守数。)

请编写程序,输出指定范围内的所有自守数。若指定范围内不存在自守数,则输出None。

Input

正整数 a 和 b, 且0≤a≤b≤10000

Output

若 [a,b] 内存在自守数,则按由小到大的顺序输出,每行输出一个自守数;若不存在自守数,则输出None。

Sample Input

10 80

Sample Output

25 76

Problem E: 按要求输出整数

Time Limit: 1 Sec  Memory Limit: 2 MB
Submit: 1056  Solved: 335
[Submit][Status]

Description

从键盘输入一个正整数n(不大于1000),输出1~n中能被3整除,且至少有一位数字是5的所有整数每个输出占一行。

Input

输入一个正整数n(不大于1000)

Output

输出1~n中能被3整除,且至少有一位数字是5的所有整数每个输出占一行,若没有符合条件的数据则不做任何输出

Sample Input

100

Sample Output

15 45 51 54 57 75

Problem F: 打折促销(Append Code)

Time Limit: 1 Sec  Memory Limit: 2 MB
Submit: 1339  Solved: 354
[Submit][Status]

Description

定义一个名为Zhe的函数,完成如下打折计算功能,并将结果返回。函数的调用格式见“Append Code”。
商店打折方案如下:
商品价格满300元减100,满200元减80,低于200元按原价。
设计函数实现该打折方案。

Input

输入一个正整数a,表示商品原价。

Output

按照打折方案,输出打折之后的价格。

Sample Input

300

Sample Output

200

HINT

Append Code

int main()

{

    int a, b;

    scanf("%d", &a);

    b = Zhe(a);

    printf("%d", b);

    return 0;

}

Problem G: 编写函数:字符串的查找字符 之一 (Append Code)

Time Limit: 1 Sec  Memory Limit: 2 MB
Submit: 10771  Solved: 4933
[Submit][Status]

Description

输入一些字符串,从中查找字符的出现位置。

-----------------------------------------------------------------------------

编写函数str_chr():

原型:int str_chr(char s[], char ch);

功能:返回字符串s中首次出现字符ch的位置。若未找到返回-1。

函数的调用格式见“Append Code”。

-----------------------------------------------------------------------------

Invalid Word(禁用单词)错误:在解决这个题目时,某些关键词是不允许被使用的。如果提交的程序中包含了下列的关键词之一,就会产生这个错误。

被禁用的头文件:string.h。

被禁用的库函数:strchr()等。

Input

多组测试数据作为输入,每组为2行。第一行为一个字符串s。s的字符总数不超过1000个;第二行仅一个字符ch。

Output

输出与输入对应,为ch在字符串s中首次出现的位置,没有输出-1。

Sample Input

I love China! I Do you want to pass this examination? d You will succeed finially! y Wish you succeed! !

Sample Output

0 -1 24 16

HINT

Append Code

int main()

{

    char ch;

    char s[MAX_STR_LEN];

    while(gets(s) != NULL)

    {

        ch = getchar();

        printf("%d\n", str_chr(s, ch));

        gets(s); // 仅用于读出字符后的换行符,以确保while循环内gets读到正确的数据,无其他意义,于理解题意无关。

    }

    return 0;

}

Problem H: 我们有多相似?(Append Code)

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 999  Solved: 424
[Submit][Status]

Description

定义数组A和B的相似度为同一下标且值相同的元素个数与数组长度的比例(假定A、B同样长度)。编写函数使得程序能获得输入的两个数组的相似度:

void input(int a[],int n):输入长度为n的数组a;

double compare(int a[], int b[], int n):求长度为n的数组a和b相似度。

Input

输入有3行:第一行是一个正整数n<=100,表示数组长度为n。之后的两行,每行是一个长度的n的数组,数组元素均为整数。

Output

两个数组的相似度,保留4位小数。

Sample Input

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

Sample Output

0.4286

HINT

Append Code

int main()

{

    int n, a[MAX_LEN], b[MAX_LEN];

    double sim;

    scanf("%d",&n);

    input(a,n);

    input(b,n);

    sim=compare(a,b,n);

    printf("%.4lf\n",sim);

    return 0;

}

Problem I: 实现A∪B的集合运算

Time Limit: 1 Sec  Memory Limit: 2 MB
Submit: 219  Solved: 30
[Submit][Status]

Description

设A、B是两个整数集合,每个集合中的元素数均在100以内编写程序实现A∪B的集合运算

Input

输入分两行,每行的第一个数据n(1n≤100)表示对应集合中的元素数,后续数据为集合中的元素。

Output

A∪B的集合运算结果按从小到大的顺序输出。输出在一行内完成,第一个数据表示输出集合中的元素数,后续数据为集合中的元素。输出数据中间以一个空格隔开,行首和行尾均无空格。

Sample Input

5 1 2 3 4 0 9 7 6 5 4 8 1 3 2 9

Sample Output

10 0 1 2 3 4 5 6 7 8 9

Problem J: 查找最大字母

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 316  Solved: 38
[Submit][Status]

Description

输入n个字符串,对于这些字符串查找其中的最大字母,在该字母后面插入字符”1”。

Input

第一行输入整数n(1<=n<=10),接下来几行每行输入一个由不重复的小写英文字母组成的字符串(字符串长度均小于20)。

Output

对每个字符串查找其中的最大字母,在该字母后面插入字符”1”,然后输出,每个输出占一行

Sample Input

2 march june

Sample Output

mar1ch ju1ne
  • 17
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值