华南农业大学C语言程序设计实验指导书参考答案 下载本文

#include main()

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

for(i=0;i<10;i++) scanf(\for(i=0;i<9;i++)

{ for(j=0;j<9-i;j++) if(a[j]>a[j+1])

{ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }

for(i=0;i<10;i++) printf(\}

*[题目1046:计算高精度加法]

由键盘输入两个位数很长的整数(一行一个数,每个数最长不超过80 位),试计算并输出这两个数

的和。

[ 自测数据] [键盘输入]

1234567890123456789↙ 987654321098765↙ [正确输出]

1235555544444555554

参考程序:

#include \#include \main()

{ int a[100]={0},b[100]={0},c[100]={0}; 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 点 即在矩阵行中最大,列中最小的数)。若没有鞍点,输出“NO ”字样。 [ 自测数据] [键盘输入]

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

参考程序:

#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(\

3 行4 列)的矩阵,输出矩阵中的鞍

}

实验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(\打印字符串*/ }

参考程序:

[题目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 123abc456 abc 456

参考程序:

[题目1050:寻找字符串]

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

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

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

[键盘输入] [键盘输入]

ABCDEFG ↙ hellhello!↙

DE ↙ hello↙ [正确输出] [正确输出]

4 5

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

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

#include \main() { int i,j;

char a[80], b[80];