C语言程序设计实验报告 下载本文

金陵科技学院实验报告

printf(\}

/*(2)完成子函数int fun(int n),找出一个大于给定整数且紧随这个整数的素数,并作为函数值返回。*/ #include #include int fun(int n); int fun(int n) {

int i ,j;

for(i=n+1;;i++) {

for(j=2;j<(int)sqrt(i);j++) { if(i%j==0) { break; }else { return i; } } } }

main () { int x,y; printf(\请输入一个数 x=\ scanf(\ y=fun(x);

printf(\紧随x的最小素数 x=%d\\n\ }

9

金陵科技学院实验报告

(3)功能:编写函数void fun(int n,int a[]),按顺序将一个4位的正整数每一位上的数字存到一维数组,然后在主函数输出。例如输入5678,则输出结果为 5 6 7 8。 #include

void fun(int n,int a[]); main() {

int i,n,b[4]; scanf(\ for(i=0;i<4;i++) {

b[i]=n; n=n/10; }

fun(n,b);

for(i=0;i<4;i++)

printf(\ printf(\ }

void fun(int n,int a[]) {

int i,t;

for(i=0;i<=1;i++) {

t=a[i];

a[i]=a[3-i]; a[3-i]=t; } }

(4)功能:编写函数void fun(int arr[],int n)将一个数组中的值按逆序存放,并在main()函数中输出。 #include #define N 5

void fun(int arr[],int n); main() { int i,j,a[N];

printf(\请输入数组的值\\n\ for(i=0;i

10

金陵科技学院实验报告

{

scanf(\ } fun(a,N); for(j=0;j

void fun(int arr[],int n) {

int i,t;

for(i=0;i<=n/2-1;i++) {

t=arr[i]; arr[i]=arr[n-1-i]; arr[n-1-i]=t; } }

(5) 功能:程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N],int n),使数组a左下三角元素中的值乘以n。 例如:若n的值为3,a数组中的值为

| 1 9 7 | | 3 9 7 | a = | 2 3 8 | 则返回主程序后a数组中的值应为| 6 9 8 | | 4 5 6 | | 12 15 18| #include #define N 3

fun(int a[][N],int n); main() { int a[N][N]={{1,9,7},{2,3,8},{4,5,6}}; int i,j,n; scanf(\ fun(a,n);

11

金陵科技学院实验报告

for(i=0;i

printf(\ } printf(\ } printf(\}

fun(int a[][N],int n) {

int i,j; for(i=0;i

if(i>=j) { a[i][j]=a[i][j]*3; } } } return a; }

(6)功能:编写函数void fun(int array[3][3]),实现矩阵(3行3列)的转置(即行列互换)。

例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出:

100 400 700 200 500 800 300 600 900

#include

12