第一周编程作业--1求最大公约数和最小公倍数2排序并插入

来源:互联网 发布:乐高ev3编程软件安卓版 编辑:程序博客网 时间:2024/05/09 16:45

2排序并插入(15分)
题目内容:
编写程序,在主函数中定义一个有10个元素的整型一维数组,用户输入9个数据,调用函数,对数组元素进行从小到大排序后,在函数中输入一个数,插入到数组中正确的位置,并输出。
输入格式:
9个整数和1个整数
输出格式:
10个整数
输入样例:
2,3,1,5,6,76,89,31,90[回车]
7[回车]
输出样例:
1,2,3,5,6,7,31,76,89,90[回车]
时间限制:500ms内存限制:32000kb

#include<stdio.h>#include<stdlib.h>int Insert_Sort(int a[],int N);int main(void){    int t,j,i,n[10];    for(i=0; i<9; i++){        scanf("%d", &n[i]);        if(i<8) scanf(",");    }    scanf("%d",&n[9]) ;    Insert_Sort(n,10);   // 错误实例   Insert_Sort(n[10],10);  这种调用是错误的,成了传入n[10]这个元素,但是n[9]是最大范围所以会运行错误。     for(i=0;i<10;i++){        printf("%d",n[i]);        if(i<9) printf(",");    }    return 0;}int Insert_Sort(int a[],int N)  //插入排序算法 {    int P,tmp,i;    for(P=1;P<N;P++){        tmp=a[P];        for(i=P;i>0&&a[i-1]>tmp;i--)        a[i]=a[i-1];        a[i]=tmp;    }}

1求最大公约数和最小公倍数(15分)
题目内容:
编写程序,在主函数中输入两个正整数 a,b,调用两个函数 fun1() 和 fun2(),分别求 a 和 b 的最大公约数和最小公倍数,在主函数中输出结果。
输入格式:
两个正整数
输出格式:
最大公约数和最小公倍数
输入样例:
12,40[回车]
输出样例:
最大公约数:4[回车]
最小公倍数:120[回车]
时间限制:500ms内存限制:32000kb

#include<stdio.h>int fun1(int a,int b);int fun2(int a,int b);int main(void){    int a,b;    scanf("%d,%d",&a,&b);    printf("最大公约数:%d\n",fun1(a,b));    printf("最小公倍数:%d\n",fun2(a,b));    return 0;}int fun1( int m, int n) //辗转相除法求m/n的公约数{int r;   while (n)   {   r=m % n;    m=n;   n=r;  }return m;   }int fun2(int m,int n) //最小公倍数 { return m*n/fun1(m,n);}
0 0
原创粉丝点击