华南农业大学C语言实验上机实验第四版参考答案(6)

2019-08-31 13:33

char s[101];

int i=0,n1=0,n2=0,max=0,e=0; gets(s);

n1=strlen(s);

for(i=n1-1;i>=0;i--) a[n1-1-i]=s[i]-'0'; gets(s);

n2=strlen(s);

for(i=n2-1;i>=0;i--) b[n2-1-i]=s[i]-'0'; if(n1>n2) max=n1; else max=n2;

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

{ c[i]=(a[i]+b[i]+e); e=(a[i]+b[i]+e)/10; }

if(c[max]>0) printf(\ for(i=max-1;i>=0;i--) printf(\ }

*[题目:找矩阵中的鞍点]

由键盘输入一个3×4(3行4列)的矩阵,输出矩阵中的鞍点(即在矩阵行中最大,列中最小的数)。

若没有鞍点,输出“NO”字样。 [自测数据] [键盘输入]

87 90 110 98↙ 70 97 210 65↙ 98 45 120 30↙ [正确输出] 110 21

参考程序:

#include

main()

{ int i,j,k,a[3][4],max,maxj,flag; for(i=0;i<3;i++) for(j=0;j<4;j++)

scanf(\ for(i=0;i<3;i++) { max=a[i][0]; maxj=0;

for(j=0;j<4;j++) if(a[i][j]>max)

{max=a[i][j]; maxj=j; } flag=1;

for(k=0;k<3;k++) if(max>a[k][maxj]) { flag=0; break; } if(flag)

{printf(\ }

if(!flag)

printf(\ } 22

实验 8 字符数组的应用 一、实验目的

(1)掌握字符数组和字符串函数的使用。 (2)掌握与字符串处理有关的算法。 二、实验内容

[题目 1121:定义存贮字符串的字符数组]

在下面程序中填充定义字符数组的语句,使程序完整。 #include \ void main()

{ char s[80]; /*定义字符数组s*/ strcpy(s, \ printf(\ }

参考程序:

[题目 1123:字符串的输入与输出]

下面程序实现从键盘读入字符串,然后输出到屏幕,请填充必要的语句。 参考程序:

#include \ void main() {

char s[50];

printf(\

gets(s); /*由键盘读入字符串*/ printf(\

printf(\ /*打印字符串*/ }

{题目1145:回文串}

读入一行字符串(不多于80个字符,以回车结束),判断该字符串是否为回文串(即从左向右拼写与从右向左拼写是一样的),是输出Y,否输出N。 参考程序: #include”stdio.h” #include”string.h” main() { char c[80]; int i=0,k,n=0; gets(c); k=strlen(c)-1; for(i=0;i

自测数据:

1、输入 2、输入 aba abc 输出 输出 Y N

[题目 1122:字符串的合并]

从键盘输入3个字符串 (每个字符串以回车符做为结束标志),将3 个字符串以输入先后顺序合并到

字符串s中,请填空使用程序完整。

#include \ #include \ main() {

char s[100]=\ char a[30];

gets(a); strcat(s, a); gets(a); strcat(s, a); gets(a); strcat(s, a);

/*可以写多行代码*/ printf(\ }

[自测数据] [键盘输入] 123 abc 456

[正确输出] 123abc456

[题目 1050:寻找字符串]

由键盘输入两个字符串(假设第一个字符串必包含第二个字符串,如第一个字符串为 ABCDEF,第

二个为CDE,则CDE 包含在ABCDEF中),现要求编程输出第二字符串在第一行字符串中出现的位置。

(如果第二个字符串在第一个字符串中出现多次,则以最前出现的为准) [第一组自测数据] [键盘输入] ABCDEFG↙ DE↙

[正确输出] 4

[第二组自测数据] [键盘输入] hellhello!↙ hello↙ [正确输出] 5

[提示]方法1:建立双重循环,外层循环变量指示第一个串的查找起始位置,内层循环从起始位置开始判

断第二个字符中是否出现在此处;方法2:使用字符串函数 strstr()。 参考程序:

#include \

main() { int i,j;

char a[80], b[80]; gets(a); gets(b); for(i=0;a[i]!='\\0';i++)

{ for(j=0;b[j]!='\\0';j++) if(a[i+j]!=b[j]) break; if(b[j]=='\\0') break; }

if (a[i]!='\\0') printf(\ else printf(\ } 24

实验 9 函数的基本应用 一、实验目的

(1)掌握定义函数的方法。

(2)掌握函数实参与形参的对应关系,以及“值传递”的方式。 (3)掌握函数的嵌套调用和递归调用的方法。

(4)掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法。 二、实验内容

[题目 1059:函数定义]

下面是使用辗转相除法,求最大公约数的程序,请补充完整程序中函数的定义与调用。 #include \

int f(int m, int n) {

int r;

while ((r=m%n)!=0) {

m=n; n=r; }

return n; }

main() {

int a, b, n;

scanf(\ printf(\ f(a, b) ); }

[题目 1083:编写函数计算阶乘]


华南农业大学C语言实验上机实验第四版参考答案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:氧化还原滴定法课后练习题及参考答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: