C语言程序设计作业整理Ⅱ浙大软院C语言.docx

上传人:b****2 文档编号:2273415 上传时间:2023-05-03 格式:DOCX 页数:74 大小:36.06KB
下载 相关 举报
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第1页
第1页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第2页
第2页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第3页
第3页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第4页
第4页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第5页
第5页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第6页
第6页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第7页
第7页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第8页
第8页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第9页
第9页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第10页
第10页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第11页
第11页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第12页
第12页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第13页
第13页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第14页
第14页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第15页
第15页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第16页
第16页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第17页
第17页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第18页
第18页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第19页
第19页 / 共74页
C语言程序设计作业整理Ⅱ浙大软院C语言.docx_第20页
第20页 / 共74页
亲,该文档总共74页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计作业整理Ⅱ浙大软院C语言.docx

《C语言程序设计作业整理Ⅱ浙大软院C语言.docx》由会员分享,可在线阅读,更多相关《C语言程序设计作业整理Ⅱ浙大软院C语言.docx(74页珍藏版)》请在冰点文库上搜索。

C语言程序设计作业整理Ⅱ浙大软院C语言.docx

C语言程序设计作业整理Ⅱ浙大软院C语言

7.1.1

输入一个正整数n(0

输入:

4(repeat=4)

5(数据的个数n=5)

12457(5个有序整数)

3(待插入整数x=3)

4(数据的个数n=4)

1257(4个有序整数)

-10(待插入整数x=-10)

3(数据的个数n=3)

124(3个有序整数)

100(待插入整数x=100)

5(数据的个数n=5)

12457(5个有序整数)

4(待插入整数x=4)

输出:

123457

-101257

124100

124457

#include

intmain(void)

{

inti,j,n,x;

intrepeat,ri;

inta[10];

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

scanf("%d",&x);

/*---------*/

for(i=0;i

if(x>a[i])

continue;

j=n-1;

while(j>=i){

a[j+1]=a[j];

j--;

}

a[i]=x;

break;

}

if(i==n)

a[n]=x;

for(i=0;i

printf("%d",a[i]);

putchar('\n');

}

return0;

}

7.1.2

输入一个正整数n(1

输入输出示例:

括号内为说明

输入

2(repeat=2)

3(n=3)

12-6

5(n=5)

122540

输出

average=-1.00

average=4.60

#include

intmain(void)

{

inti,n,sum;

intrepeat,ri;

inta[10];

doubleaver;

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

/*---------*/

sum=0;

for(i=0;i

sum=sum+a[i];

aver=1.0*sum/n;

printf("average=%.2f\n",aver);

}

return0;

}

7.1.3

输入一个正整数n(1

输入输出示例:

括号内为说明

输入

2(repeat=2)

4(n=4)

10812

5(n=5)

12540

输出

21810

04521

#include

intmain(void)

{

inti,n,temp;

intrepeat,ri;

inta[10];

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

/*---------*/

for(i=0;i<=(n-1)/2;i++){

temp=a[i];

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

a[n-1-i]=temp;

}

for(i=0;i

printf("%d",a[i]);

printf("\n");

}

}

7.1.4

输入一个正整数n(1

输入输出示例:

括号内为说明

输入

3(repeat=3)

3(n=3)

164

4(n=4)

10819

5(n=5)

12045

输出

max=6,index=1(最大值6的下标是1)

max=10,index=0(最大值10的下标是0)

max=5,index=4(最大值5的下标是4)

#include

intmain(void)

{

inti,index,n;

intri,repeat;

inta[10];

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

/*---------*/

index=0;

for(i=1;i

if(a[i]>a[index])

index=i;

printf("max=%d,index=%d\n",a[index],index);

}

return0;

}

7.1.5

输入一个正整数n(1

输入输出示例:

括号内为说明

输入

3(repeat=3)

5(n=5)

82514

4(n=4)

1567

5(n=5)

54321

输出

Afterswap:

12548

Afterswap:

1567

Afterswap:

14325

#include

intmain(void)

{

inti,index,n,t;

intrepeat,ri;

inta[10];

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

/*---------*/

index=0;

for(i=1;i

if(a[i]

index=i;

t=a[index];

a[index]=a[0];

a[0]=t;

index=0;

for(i=1;i

if(a[i]>a[index])

index=i;

t=a[index];

a[index]=a[n-1];

a[n-1]=t;

printf("Afterswap:

");

for(i=0;i

printf("%d",a[i]);

printf("\n");

}

return0;

}

7.1.6

输入一个正整数n(1

输入输出示例:

括号内为说明

输入

3(repeat=3)

4(n=4)

5176

3(n=3)

123

5(n=5)

54321

输出

Aftersorted:

7651

Aftersorted:

321

Aftersorted:

54321

#include

intmain(void)

{

inti,index,k,n,temp;

intrepeat,ri;

inta[10];

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

/*---------*/

for(k=0;k

index=k;

for(i=k+1;i

if(a[i]>a[index])

index=i;

temp=a[index];

a[index]=a[k];

a[k]=temp;

}

printf("Aftersorted:

");

for(i=0;i

printf("%d",a[i]);

printf("\n");

}

return0;

}

7.1.7

输入一个正整数n(1

输入输出示例:

括号内为说明

输入:

2(repeat=2)

6(n=6)

135795

5(x=5)

4(n=4)

1357

2(x=2)

输出:

5:

a[2]

2:

notfound

#include

intmain(void)

{

intflag,i,n,x;

intrepeat,ri;

inta[10];

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

scanf("%d",&x);

/*---------*/

flag=0;

for(i=0;i

if(a[i]==x){

flag=1;

break;

}

if(flag!

=0)

printf("%d:

a[%d]\n",x,i);

else

printf("%d:

notfound\n",x);

}

return0;

}

7.2.1

输入2个正整数m和n(1<=m<=6,1<=n<=6),然后输入矩阵a(m行n列)中的元素,分别求出各行元素之和,并输出。

输出使用语句:

printf("sumofrow%dis%d\n",i,sum);

输入输出示例:

括号内为说明

输入:

32(m=3,n=2)

63

1-8

312

输出:

sumofrow0is9

sumofrow1is-7

sumofrow2is15

#include

intmain(void)

{

inti,j,m,n,sum;

inta[6][6];

scanf("%d%d",&m,&n);

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

/*---------*/

for(i=0;i

sum=0;

for(j=0;j

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

printf("sumofrow%dis%d\n",i,sum);

}

return0;

}

7.2.2

读入1个正整数n(1≤n≤6),再读入n阶方阵a,计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。

副对角线为从矩阵的右上角至左下角的连线。

输入输出示例:

括号内为说明

输入:

1(repeat=1)

4(n=4)

2341

5611

7181

1111

sum=35(2+3+4+5+6+7+8=35)

#include"stdio.h"

intmain(void)

{

inti,j,n,sum;

intrepeat,ri;

inta[6][6];

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

/*---------*/

sum=0;

for(i=0;i

for(j=0;j

if((j==n-1)||(j==n-1-i)||(i==n-1))

sum=sum;

else

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

}

printf("sum=%d\n",sum);

}

return0;

}

7.2.3

输入一个正整数n(0

提示:

将乘数、被乘数和乘积放入一个二维数组中,再输出该数组。

输入输出示例:

括号内为说明

输入:

1(repeat=1)

3(n=3)

输出:

*123

11

224

3369

#include"stdio.h"

intmain(void)

{

inti,j,n;

inta[10][10];

intrepeat,ri;

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

/*---------*

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

for(i=0;i<=n;i++){

if(i==0)

a[i][j]=j;

elseif(j==0)

a[i][j]=i;

else

a[i][j]=i*j;

}

for(i=0;i<=n;i++){

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

if(i==0&&j==0)

printf("%-4c",'*');

elseif(i==0||j<=i)printf("%-4d",a[i][j]);

printf("\n");

}

}

return0;

}

7.2.4

输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。

上三角矩阵指主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。

输入输出示例:

括号内为说明

输入:

2(repeat=2)

3(n=3)

123

045

006

2(n=2)

10

-82

输出:

YES

NO

#include"stdio.h"

#include"math.h"

intmain(void)

{

intflag,i,j,n;

inta[6][6];

intrepeat,ri;

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

/*---------*/

flag=0;

for(i=0;i

for(j=0;j

if(i>=j&&a[i][j]==0)

flag=1;

if(flag!

=0)

printf("YES\n");

else

printf("NO\n");

}

return0;

}

7.25

输入日期(年、月、日),输出它是该年的第几天。

要求定义与调用函数day_of_year(year,month,day),计算并返回year(年)、month(月)和day(日)对应的是该年的第几天,函数形参year、month和day的类型是int,函数类型也是int。

输入输出示例:

括号内为说明

输入:

2(repeat=2)

198131(1981年3月1日)

200031(2000年3月1日)

输出:

daysofyear:

60(1981年3月1日是该年的第60天)

daysofyear:

61(2000年3月1日是该年的第61天)

#include"stdio.h"

intmain(void)

{

intday,day_year,month,year;

intrepeat,ri;

intday_of_year(intyear,intmonth,intday);

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d%d%d",&year,&month,&day);

/*---------*/

day_year=day_of_year(year,month,day);

printf("daysofyear:

%d\n",day_year);

}

return0;

}

/*---------*/

intday_of_year(intyear,intmonth,intday)

{

intk,leap;

inttab[2][13]={

{0,31,28,31,30,31,30,31,31,30,31,30,31},

{0,31,29,31,30,31,30,31,31,30,31,30,31}

};

leap=(year%4==0&&year%100!

=0||year%400==0);

for(k=1;k

day=day+tab[leap][k];

returnday;

}

7.26

输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,假设方阵a最多有1个鞍点,如果找到a的鞍点,就输出其下标,否则,输出"NO"。

鞍点的元素值在该行上最大,在该列上最小。

输入输出示例:

括号内为说明

输入:

2(repeat=2)

4(n=4)

1741

4836

1612

0789

2(n=2)

17

41

输出:

a[2][1]=6

NO

#include"stdio.h"

intmain(void)

{

intflag,i,j,k,row,col,n;

inta[6][6];

intrepeat,ri;

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++){

scanf("%d",&n);

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

/*---------*/

flag=0;

col=0;

for(i=0;i

row=i;

for(j=0;j

if(a[i][j]>a[i][col])

col=j;

for(k=0;k

if(a[row][col]>a[k][col]){

row=k;

break;

}

if(row==i){

flag=1;

break;

}

}

if(flag!

=0)

printf("a[%d][%d]=%d\n",row,col,a[row][col]);

else

printf("NO\n");

}

}

7.3.1

输入一个以回车结束的字符串(少于80个字符),将它的内容逆序输出。

如"ABCD"的逆序为"DCBA"。

输入输出示例:

括号内为说明

输入:

Welcometoyou!

输出:

!

uoyotemocleW

#include

intmain(void)

{

inti,j,k,temp;

charstr[80];

i=0;

while((str[i]=getchar())!

='\n')

i++;

str[i]=0;

/*---------*/

k=i-1;

for(i=0;i

temp=str[i];

str[i]=str[k];

str[k]=temp;

k--;

}

for(i=0;str[i]!

=0;i++)

putchar(str[i]);

return0;

}

7.3.2

输入一个字符,再输入一个以回车结束的字符串(少于80个字符),在字符串中查找该字符,如果找到,输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"NotFound"。

输入输出示例:

括号内为说明

输入:

2(repeat=2)

m(字符'm')

programming(字符串"programming")

a(字符'a')

1234(字符串"1234")

输出:

index=7('m'在"programming"中对应的最大下标是7)

NotFound("1234"中没有'a')

#include"stdio.h"

#defineMAXLEN80

intmain(void)

{

charcc,ch;

charstr[MAXLEN];

intcount,flag,i,index;

intrepeat,ri;

scanf("%d",&repeat);

getchar();

for(ri=1;ri<=repeat;ri++){

cc=getchar();

getchar();

i=0;

while((ch

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2