c语言习题及答案_爱课程mooc 下载本文

输入格式: \ 输出格式:

输入提示信息:\ 输出数据格式:\ 数据换行: \

输入样例: 输出样例:

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

#include int main() {

int n;

int i,j,a[10][10];

printf(\ scanf(\ for(i=0; i

for(j=0; j

a[i][0]=1; a[i][i]=1; }

for(i=2; i

for(j=1; j<=i-1; j++)

a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0; i

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

printf(\ printf(\

} }

第十一章

11.1

找数组最值(4分)

题目内容:

按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10。 void InputArray(int *p, int m, int n);

int FindMax(int *p, int m, int n, int *pRow, int *pCol);//函数返回最大值,pRow和pCol分别返回最大值所在的行列下标 例如,程序的1次运行结果如下: Input n: 3,4↙

Input 3*4 array: 1 2 3 4↙ 5 6 7 8↙ 9 0 -1 -2↙

max=9,row=2,col=0 输入格式:

提示信息: \输入数组维数:\提示信息: \输入数组元素:\输出格式:

\输入样例: 输出样例:

#include

void InputArray(int (*p)[10], int m, int n);

int FindMax(int (*p)[10], int m, int n, int *pRow, int *pCol); int i,j;

int num[10][10]; int main() {

int m,n; int max=0; int row,col;

int *pRow=&row; int *pCol=&col;

printf(\ scanf(\

printf(\ InputArray(num,m,n);

max=FindMax(num,m,n,pRow,pCol);

printf(\ return 0; }

int FindMax(int (*p)[10], int m, int n, int *pRow, int *pCol) {

int tem=p[0][0]; for(i=0;item){

tem=p[i][j]; *pRow=i; *pCol=j;

} return tem; }

void InputArray(int (*p)[10], int m, int n) {

for(i=0;i

scanf(\}

11.2

冒泡排序(4分)

题目内容:

采用冒泡法进行升序排序法的基本原理是:对数组中的n个数执行n-1遍检查操作,在每一遍执行时,对数组中剩余的尚未排好序的元素进行如下操作:对相邻的两个元素进行比较,若排在后面的数小于排在前面的数,则交换其位置,这样每一遍操作中都将参与比较的数中的最大的数沉到数组的底部,经过n-1遍操作后就将全部n个数按从小到大的顺序排好序了。程序的某次运行结果如下: Input n:10↙

Input 10 numbers:2 9 3 4 0 6 8 7 5 1↙

Sorting results: 0 1 2 3 4 5 6 7 8 9 输入格式: \输出格式:

输入数据个数提示:\输入数据提示:\输出提示:\输出格式:\输入样例: 输出样例:

#include int i,j;

int num[10000];

void Swap(int *m,int *n); int main() {

int n;

printf(\ scanf(\

printf(\ for(i=0;i

scanf(\ for(i=0;i

if (num[j]

Swap(&num[j],&num[i]);

printf(\ for (i=0;i

printf(\ return 0; }

void Swap(int *m,int *n) {

int tem; tem=*m; *m=*n; *n=tem; }

11.3

删除字符串中与某字符相同的字符(4分)

题目内容:

在字符串中删除与某字符相同的字符,要求用字符数组作函数参数。 程序运行结果示例: Input a string: hello, my friend!↙ Input a character: !↙

Results:hello, my friend 输入格式:

字符串输入用 gets()函数 单个字符输入用 getchar()函数 输出格式:

输入字符串的提示信息: \ 输入单个字符的提示信息: \ 输出格式: \ 输入样例: 输出样例:

#include #include #define maxn 1000

void delete_string(char str[],char ch); int main() {

char m[maxn],l[maxn]; char n;

printf(\ gets(m);

printf(\ n=getchar();

delete_string(m,n);