实验七 数组与字符串Word格式文档下载.docx

上传人:b****5 文档编号:20394943 上传时间:2023-01-22 格式:DOCX 页数:16 大小:37.16KB
下载 相关 举报
实验七 数组与字符串Word格式文档下载.docx_第1页
第1页 / 共16页
实验七 数组与字符串Word格式文档下载.docx_第2页
第2页 / 共16页
实验七 数组与字符串Word格式文档下载.docx_第3页
第3页 / 共16页
实验七 数组与字符串Word格式文档下载.docx_第4页
第4页 / 共16页
实验七 数组与字符串Word格式文档下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

实验七 数组与字符串Word格式文档下载.docx

《实验七 数组与字符串Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验七 数组与字符串Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。

实验七 数组与字符串Word格式文档下载.docx

inta[10][10],i,j,sum=0;

{

for(j=0;

j<

j++)

{

a[i][j]=i+j;

printf("

%4d"

a[i][j]);

//显示各元素

}

putchar('

\n'

);

}

sum=sum+a[i][i]+a[i][9-i];

//计算两对角线上元素的累加和

printf("

sum=%d\n"

sum);

3,

voidfunc(inta[],intn)

inti;

n;

a[i]=a[i]+a[n-i-1];

intc[10],i;

c[i]=2*i+1;

c[i]);

putchar('

func(c,10);

4.调试下面程序,使之具有如下功能:

从键盘输入10个数,然后按从大到小的顺序输出.

stdlib.h>

time.h>

intmain()

inta[10],i,j,temp,k;

srand((unsigned)time(NULL));

//初始化rand()函数

a[i]=rand()%100;

//用随机数为数组元素赋值

Beforesorted:

\n"

%d"

9;

i++)//选择法排序

k=i;

for(j=i+1;

j++)//讲议(p53)有误

if(a[k]<

a[j])k=j;

temp=a[i];

a[i]=a[k];

a[k]=temp;

}

Aftersorted:

return0;

5.任意输入两个字符串,并存放在a,b两个数组中,然后把短串存入a数组,长串存入b数组。

string.h>

chara[10],b[10],ch;

intc,d,k;

scanf("

%s"

a);

b);

a=%s\nb=%s\n"

a,b);

c=strlen(a);

d=strlen(b);

if(c>

d)

=c;

ch=a[k];

a[k]=b[k];

b[k]=ch;

6.调试下面程序,使之具有如下功能:

删除字符串s中的空格.

chars[]="

ChongqingJiaotongUniversity"

;

inti,j=0;

s[i]!

='

\0'

i++)//讲议(p54)有误

if(s[i]!

'

s[j++]=s[i];

s[j]='

puts(s);

7.输出整型数组中的素数和素数之和。

intisprime(intn)

inti,flag=1;

for(i=2;

if(n%i==0)flag=0;

returnflag;

ints[]={3,5,7,9,11,13,15,17,19},i;

intsum=0;

sizeof(s)/sizeof(int);

if(isprime(s[i]))

s[i]);

sum=sum+s[i];

\n%d\n"

 

8.下面程序的功能:

输入10个字符串,找出每个字符串的最大字符,并依次存入一维数组中,然后输出该一维数组.请填空完成程序.

charstr[5][80],str1[11];

inti,j,k;

5;

gets(str[i]);

;

//k=i;

str1[k]=str[i][0];

str[i][j]!

if(str1[k]<

str[i][j])

;

//str1[k]=str[i][j];

;

//str1[i]='

puts(str1);

9.在主函数中读入一字符串,再读入一字符串,然后调用函数delete在字符串中查找并删除该字符,最后输出该字符串.请填空完善程序.

voiddlt(charp[],charch)

inti=0,j;

while()//p[i]!

if(p[i]==ch)

for(j=i;

=;

j++)//(int)strlen(p)

p[j]=p[j+1];

//讲议中j误为i

else

i++;

charp[80],ch;

inti=0;

Inputacharacter:

//为正常运行本程序应先输入单个字符

ch=getchar();

Inputastring:

p);

dlt(p,ch);

puts(p);

}

注:

函数可以用6题的方法实现:

inti=0,j=0;

while(p[i])

if(p[i]!

=ch)

p[j++]=p[i];

i++;

p[j]='

10.编写程序将键盘输入的20个整数按从小到大进行排序,并输出排序前、后的数据。

要求:

数据输入、输出和排序分别用函数完成;

在主函数中分别调用数据输入函数、数据输出函数和排序函数。

voidsort(intp[],intn)//排序

inti,k,j,t;

n-1;

if(p[k]>

p[j])k=j;

t=p[i];

p[i]=p[k];

p[k]=t;

voidinput(intp[],intn)//数据输入

p[i]=rand()%100;

voidoutput(intp[],intn)//数据输出

p[i]);

inta[10];

input(a,10);

output(a,10);

sort(a,10);

11.输入5*5的数组,编写程序实现:

求出对角线上各元素的和;

求出对角线上行、列下标均为偶数的各元素的积;

找出对角线上其最大的元素和它在数组中的位置。

inti,j,q,s=0;

inta[5][5];

a[i][j]=rand()%100;

%3d"

i++)s+=a[i][i];

s=%d\n"

s);

//输出对角线各元素之和

s=1;

i+=2)s*=a[i][i];

//输出对角线上偶数下标元素之积

s=a[0][0];

q=0;

for(i=1;

if(s<

a[i][i])

s=a[i][i];

q=i;

%d,%d:

max=%d\n"

q,q,s);

12.已知A是一个3*4矩阵,B是一个4*5矩阵,编写程序,从键盘输入矩阵A、B的值,求C=A*B,并输出矩阵C。

inta[3][4],b[4][5],c[3][5]={0};

3;

i++)//初始化A矩阵

4;

a[i][j]=rand()%10;

i++)//初始化B矩阵

b[i][j]=rand()%10;

b[i][j]);

for(k=0;

c[i][j]+=a[i][k]*b[k][j];

i++)//输出C矩阵

%5d"

c[i][j]);

}

13.设某班有20个学生,每个学生选修了三门课,编写程序,输入20个学生三门课的成绩,计算每个学生的平均成绩,最后输出每个学生三门课的成绩及平均成绩.

doubles[20][4];

inti,j,ss;

doubleav;

srand((unsigned)time(NULL));

20;

av=0;

s[i][j]=((ss=rand()%100)>

40?

ss:

ss+40);

//随机数作为成绩

av+=s[i][j];

s[i][3]=av/3;

%6.2lf"

s[i][j]);

14.编写程序找出一个二维数组的鞍点,即该位置上的元素在该行上最大,在该列小最小.一个二维数组也可以没有鞍点.并用下面的两组数据进行测试.

98020540

90-60961

210-310189

90-601961

45541567

voidf(inta[][4],intn)//找鞍点函数

inti,j,k,max,flg,m=0;

max=a[i][0],k=0;

j++)//找某行的最大值

if(max<

a[i][j])

{

max=a[i][j];

k=j;

}

flg=1;

//鞍点标致

j++)//测试max是否是k列的最小值

if(max>

a[j][k])

flg=0;

//不是标致置0

break;

if(flg)

i,k,a[i][k]);

//输出i行k列的鞍点

m++;

if(m==0)

NoA_point\n"

inti,j;

inta[3][4],b[4][4];

b[i][j]=rand()%100;

f(a,3);

f(b,4);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1