法133计算机科学课第12周实践题目及参考解答

简介: 课程主页在:http://blog.csdn.net/sxhelijian/article/details/13705597Problem A:2447: 求N组数的最大公约数Description计算一组数的最大公约数Input第一行是数据的组数N,从第二行是N组由两个整数(a和b)构成的输入,a和b之间用空格隔开,每组输入单独占一行Output每组的两个整数(a和b)的最大 公约数,每个结
课程主页在: http://blog.csdn.net/sxhelijian/article/details/13705597

Problem A:2447: 求N组数的最大公约数
Description
计算一组数的最大公约数
Input
第一行是数据的组数N,从第二行是N组由两个整数(a和b)构成的输入,a和b之间用空格隔开,每组输入单独占一行
Output
每组的两个整数(a和b)的最大 公约数,每个结果独占一行
Sample Input
3
98 72
80 36
12 144
Sample Output
2
4
12
算法提示:

 参考解答:

#include<stdio.h>
int main()
{
    int n,i,r;
    int a,b;
    freopen("input.txt","r",stdin);
    scanf("%d",&n);
    for(i=0; i<n; i++)
    {
        scanf("%d%d",&a,&b);
        while(b!=0)
        {
            r=a%b;
            a=b;
            b=r;
        }
        printf("%d\n",a);
    }
    return 0;
}


Problem B:2448: 分离正整数中的各位数
Description
输出正整数的各位数
Input
若干个用空格隔开的正整数
Output
每个正整数的各位数字,个位数在前,十位数紧随,最高位在最后,每位数后面有一个空格。每个正整数对应的输出占一行。
Sample Input
123 9523 89
Sample Output
3 2 1 
3 2 5 9 
9 8
算法提示:


参考解答:

#include<stdio.h>
int main()
{
    int n,a;
    freopen("input.txt","r",stdin);
    while(scanf("%d",&n) != EOF)
    {
        a=n;
        while(a>0)
        {
            printf("%d ",a%10);
            a=a/10;
        }
        printf("\n");
    }
    return 0;
}



Problem C:2449: 刑警的射击成绩
Description
刑警培训结束,进行了射击科检验。教官要对学员射击的成绩进行分析,得出各分数段人数统计。
Input
输入若干个0-10间的整数(最高10环,脱靶为0)表示成绩,人数不确定,输入以一个0-10以外的数作为。
Output
各分数段(A:9环以上,B:7环以上,C:5环以上,D:不足5环)的人数,每项成绩占一行
Sample Input
9 7 3 5 8 5 6 7 9 10 0 6 99
Sample Output
A:3
B:3
C:4
D:2

参考解答:

#include<stdio.h>
int main()
{
    int score, a=0, b=0, c=0, d=0;
    freopen("input.txt","r",stdin);
    scanf("%d",&score);
    while(score>=0&&score<=10)
    {
        if(score>=9) a++;
        else if(score>=7) b++;
        else if(score>=5) c++;
        else d++;
        scanf("%d",&score);
    }
    printf("A:%d\n",a);
    printf("B:%d\n",b);
    printf("C:%d\n",c);
    printf("D:%d\n",d);
    return 0;
}

解2:
#include<stdio.h>
int main()
{
    int score, a=0, b=0, c=0, d=0;
    freopen("input.txt","r",stdin);
    while(scanf("%d",&score)&&(score>=0&&score<=10))
    {
   if(score>=9) a++;
        else if(score>=7) b++;
        else if(score>=5) c++;
        else d++;
    }
    printf("A:%d\n",a);
    printf("B:%d\n",b);
    printf("C:%d\n",c);
    printf("D:%d\n",d);
    return 0;
}

  
目录
相关文章
|
2月前
|
存储 算法 C语言
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
77 23
|
2月前
|
C语言
【C语言程序设计——函数】亲密数判定(头歌实践教学平台习题)【合集】
本文介绍了通过编程实现打印3000以内的全部亲密数的任务。主要内容包括: 1. **任务描述**:实现函数打印3000以内的全部亲密数。 2. **相关知识**: - 循环控制和跳转语句(for、while循环,break、continue语句)的使用。 - 亲密数的概念及历史背景。 - 判断亲密数的方法:计算数A的因子和存于B,再计算B的因子和存于sum,最后比较sum与A是否相等。 3. **编程要求**:根据提示在指定区域内补充代码。 4. **测试说明**:平台对代码进行测试,预期输出如220和284是一组亲密数。 5. **通关代码**:提供了完整的C语言代码实现
66 24
|
2月前
|
存储 编译器 C语言
【C语言程序设计——函数】回文数判定(头歌实践教学平台习题)【合集】
算术运算于 C 语言仿若精密 “齿轮组”,驱动着数值处理流程。编写函数求区间[100,500]中所有的回文数,要求每行打印10个数。根据提示在右侧编辑器Begin--End之间的区域内补充必要的代码。如果操作数是浮点数,在 C 语言中是不允许直接进行。的结果是 -1,因为 -7 除以 3 商为 -2,余数为 -1;注意:每一个数据输出格式为 printf("%4d", i);的结果是 1,因为 7 除以 -3 商为 -2,余数为 1。取余运算要求两个操作数必须是整数类型,包括。开始你的任务吧,祝你成功!
59 1
|
2月前
|
编译器 C语言 C++
【C语言程序设计——选择结构程序设计】求输入的日期是该年的第几天(头歌实践教学平台习题)【合集】
本任务要求编写程序,根据用户输入的年月日(以空格或回车分隔),计算并输出该天是该年的第几天,需注意判断闰年。主要内容包括: 1. **任务描述**:实现从键盘输入年月日,计算该天是当年的第几天。 2. **相关知识**: - `switch` 结构的基本语法及使用注意事项。 - 判断闰年的条件:能被4整除但不能被100整除,或能被400整除的年份为闰年。 3. **编程要求**:根据提示补充代码,确保程序正确处理输入并输出结果。 4. **测试说 示例代码展示了如何使用 `switch` 语句和闰年判断逻辑来完成任务。通过此练习,掌握 `switch` 语句的应用及闰年判断方法。
44 0
c进阶测试题(上)
c进阶测试题(上)
76 0
|
C++
c进阶测试题(下)
c进阶测试题(下)
100 0
|
数据可视化
R数据科学|5.5.2内容介绍及课后习题解答
要想对两个分类变量间的相关变动进行可视化表示,需要计算出每个变量组合中的观测数量。常用的两种方法有
519 0
R数据科学|5.5.2内容介绍及课后习题解答
|
程序员 C语言
《C语言程序设计进阶教程》一2.5 习题
本文讲的是C语言程序设计进阶教程一2.5 习题,本节书摘来华章计算机《C语言程序设计进阶教程》一书中的第2章,第2.5节, Intermediate C Programming[美] 陆永祥(Yung-Hsiang Lu) 著 徐东 译 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1056 0

相关实验场景

更多