西南[9020]C语言答案
发布时间:2023-09-03 16:09:27浏览次数:48西南大学网络与继续教育学院课程考试试题卷类别:网教 专业:物理学教育 课程名称【编号】:C 语言 【9020】 A 卷大作业 满分:100 分(4 道题,任选 3 道完成)1、功能要求:编写程序,实现对数组按从小到大排序。答:#include <stdio.h> int* BubbleSort(int* ary, int length){ int i, j, tmp; for(i=0; i<length-1; i++) { tmp = ary[i]; for(j=length-1; j>i; j--) { //find the smallest number in current loop if(tmp > ary[j]) { ary[i] = ary[j]; ary[j] = tmp; tmp = ary[i]; } } } return ary;}2、功能要求:编写程序,求出两个整数的最大公约数与最小公倍数。答:#include<stdio.h> int main(){ int a, b, num1, num2, temp; printf("输入两个正整数: "); scanf("%d%d", &num1, &num2); if(num1 > num2) { temp = num1; num1 = num2; num2 = temp; } a = num1; b = num2; while(b != 0)/*利用辗除法,直到 b 为 0 为止*/ { temp = a % b; a = b; b = temp; } printf("公约数:%d\n", a); printf("公倍数:%d\n", num1 * num2 / a); return 0;}3、功能要求:编写子函数,并命名为 fibonacci(int n),其中n为生成的费波纳提数列的第- 1 -
n个元素,返回生成的费波纳提特定元素。主函数,定义数组并确定费波纳提数列元素个数,且将费波纳提数列元素存入数组,并输出。提示:费波纳提数列表达式:{F1=1F2=1Fn=Fn−1+Fn−2}4、功能要求:编写程序,筛选出 100~200 之间的素数。答:#include<stdio.h>#include<math.h>#include<stdlib.h> int main(){ int i, j, n = 0; system("cls"); printf("100~200 之间的素数:\n"); for(i=100;i<=200;i++) { for(j=2;j<=sqrt(i);j++) { if(i%j==0) break; } if(j>sqrt(i)) { printf("%d,",i); n++; if(n%8==0) printf("\n"); } } return 0;}- 2 -