《成都信息工程学院C语言题库答案》由会员分享,可在线阅读,更多相关《成都信息工程学院C语言题库答案(11页珍藏版)》请在金锄头文库上搜索。
1、第九次课上课程序及习题参考程序1、一维数组的下标法访问:int main(void)inta10;inti;for(i=0; i10; i+)scanf(%d, &ai);for(i=0; i10; i+)printf(%d, ai);return 0;2、一维数组的指针法访问:int main(void)inta10;int*p;for(p=a;p(a+10);p+)scanf(%d, p);for(p=a;p(a+10);p+)printf(%d , *p);return 0;3、冒泡排序中指针做形参#include void bubble_sort(int arr, int n);int
2、 main(void)int arr10, i;printf(Please input 10 numbers:n);for ( i = 0; i 10; i+)1scanf(%d, &arri);bubble_sort(arr, 10);printf(The sorted numbers:n);for (i = 0;i 10; i+)printf(%4d, arri);printf(n);return 0;void bubble_sort(int *p, int n)int i, j, temp;for (i = 0; i n - 1; i+)for ( j = 0;j pj+1)temp =
3、 pj;pj = pj+1;pj+1 = temp;4、有序表的有序插入#include void insert(int a, int n, int num);int main(void)int a6, num, i;printf(Input array(5):n);for (i = 0; i 5; i+)scanf(%d, &ai);2printf(Input the insert num:);scanf(%d, &num);insert(a, 6, num);printf(Output:n);for (i = 0; i ai)/* 寻找位置 */i+;for (j=n-1; ji; j-)
4、 /*移动 */aj = aj-1;ai = num;/* 插入 */从后向前找void insert(int a, int n, int num)int i;i = n-1;while (i 0 & num ai-1)/* 寻找和移动 */ai = ai-1;i-;ai= num;使用指针:#include 3void insert(int a, int n, int num);int main(void)int a6, num, i;printf(Input array(5):n);for (i = 0; i 5; i+)scanf(%d, &ai);printf(Input the in
5、sert num:);scanf(%d, &num);insert(a, 6, num);printf(Output:n);for (i = 0; i 0 & num pi-1)pi = pi-1;i-;pi= num;5、题库 59 题,编写一程序P2-217.C 实现以下功能求任意的一个m m 矩阵的对角线上元素之和#include int main(void)int arr2020;int i, j, m, sum;printf(Please input m: );scanf(%d, &m);4printf(nPlease input array:n);for (i = 0; i m;
6、i+)for (j = 0; j m; j+)scanf(%d, &arrij);sum = 0;for (i = 0; i m; i+)for (j = 0; j m; j+)if (i = j | i + j = m - 1)sum+= arrij;printf(nsum=%dn, sum);return 0;使用行指针和列指针:#include int main(void)int arr2020,*p1, (*p2)20 ;int i, j, m, sum;printf(Please input m: );scanf(%d, &m);printf(nPlease input array:
7、n);p1 = *arr;for (i = 0; i m; i+)for (j = 0; j m; j+)scanf(%d, p1+i*20+j );p2 = arr;sum = 0;5for (i = 0; i m; i+)for (j = 0; j m; j+)if (i = j | i + j = m - 1)sum+= *(*(p2 + i) + j);printf(nsum=%dn, sum);return 0;6、输入 5 个字符串,按升序排序后输出,用字符数组处理#include #include void bubble_sort(char str10, int n);int m
8、ain(void)int i;char str510;for (i=0; i5; i+)gets(stri);bubble_sort(str, 5);for (i=0; i5; i+)puts(stri);return 0;void bubble_sort(char str10, int n)int i, j;char temp10;for (i=0; in-1; i+)for (j=0; j 0)strcpy(temp, strj);strcpy(strj, strj+1);strcpy(strj+1, temp);7、输入 5 个字符串,按升序排序后输出,用指针数组完成#include #
9、include void bubble_sort(char *ps, int n);int main(void)int i;char str581, *ptr5;for (i = 0; i 5; i+)ptri = stri;printf(Input 5 strings:n);for (i = 0; i 5; i+)gets(ptri);bubble_sort(ptr, 5);printf(-n);for (i = 0; i 5; i+)puts(ptri);return 0;void bubble_sort(char *ps, int n)int i, j;char *temp;7for (i=0; in-1; i+)for (j=0; jn-1-i; j+)if ( strcmp(psj