C语言程序设计作业整理Ⅱ浙大软院C语言Word文档下载推荐.docx
《C语言程序设计作业整理Ⅱ浙大软院C语言Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言程序设计作业整理Ⅱ浙大软院C语言Word文档下载推荐.docx(74页珍藏版)》请在冰点文库上搜索。
i++)
a[i]);
x);
/*---------*/
for(i=0;
i<
n;
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;
n+1;
printf("
%d"
a[i]);
putchar('
\n'
);
return0;
}
7.1.2
输入一个正整数n(1<
=10),再输入n个整数,输出平均值(保留2位小数)。
输入输出示例:
括号内为说明
输入
2(repeat=2)
3(n=3)
12-6
5(n=5)
122540
输出
average=-1.00
average=4.60
inti,n,sum;
doubleaver;
sum=0;
i++)
sum=sum+a[i];
aver=1.0*sum/n;
average=%.2f\n"
aver);
7.1.3
=10),再输入n个整数,存入数组a中,先将数组a中的这n个数逆序存放,再按顺序输出数组中的n个元素。
4(n=4)
10812
12540
21810
04521
inti,n,temp;
=(n-1)/2;
temp=a[i];
a[i]=a[n-1-i];
a[n-1-i]=temp;
\n"
7.1.4
=10),再输入n个整数,输出最大值及其对应的最小下标,下标从0开始。
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)
inti,index,n;
intri,repeat;
index=0;
for(i=1;
if(a[i]>
a[index])
index=i;
max=%d,index=%d\n"
a[index],index);
7.1.5
=10),再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。
82514
1567
54321
Afterswap:
12548
1567
14325
inti,index,n,t;
if(a[i]<
index=i;
t=a[index];
a[index]=a[0];
a[0]=t;
if(a[i]>
index=i;
a[index]=a[n-1];
a[n-1]=t;
"
7.1.6
=10),再输入n个整数,将它们从大到小排序后输出。
5176
123
Aftersorted:
7651
321
54321
inti,index,k,n,temp;
for(k=0;
k<
n-1;
k++){
index=k;
for(i=k+1;
index=i;
temp=a[index];
a[index]=a[k];
a[k]=temp;
7.1.7
=10),再输入n个整数,将它们存入数组a中,再输入一个整数x,然后在数组a中查找与x相同的元素,如果找到,输出x在数组a中对应元素的最小下标,如果没有找到,输出相应信息。
2(repeat=2)
6(n=6)
135795
5(x=5)
4(n=4)
1357
2(x=2)
5:
a[2]
2:
notfound
intflag,i,n,x;
flag=0;
if(a[i]==x){
flag=1;
break;
if(flag!
=0)
printf("
%d:
a[%d]\n"
x,i);
else
notfound\n"
x);
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
inti,j,m,n,sum;
inta[6][6];
%d%d"
&
m,&
m;
for(j=0;
j<
j++)
a[i][j]);
m;
for(j=0;
j<
j++)
sum=sum+a[i][j];
printf("
7.2.2
读入1个正整数n(1≤n≤6),再读入n阶方阵a,计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。
副对角线为从矩阵的右上角至左下角的连线。
1(repeat=1)
2341
5611
7181
1111
sum=35(2+3+4+5+6+7+8=35)
#include"
stdio.h"
inti,j,n,sum;
j++){
if((j==n-1)||(j==n-1-i)||(i==n-1))
sum=sum;
sum=sum+a[i][j];
printf("
sum=%d\n"
sum);
7.2.3
10),输出九九乘法表的前n×
n项。
提示:
将乘数、被乘数和乘积放入一个二维数组中,再输出该数组。
输出:
*123
11
224
3369
inti,j,n;
inta[10][10];
/*---------*
=n;
if(i==0)
a[i][j]=j;
elseif(j==0)
a[i][j]=i;
else
a[i][j]=i*j;
=n;
i++){
if(i==0&
&
j==0)
%-4c"
'
*'
elseif(i==0||j<
=i)printf("
%-4d"
a[i][j]);
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
math.h"
intflag,i,j,n;
if(i>
=j&
a[i][j]==0)
=0)
YES\n"
NO\n"
7.25
输入日期(年、月、日),输出它是该年的第几天。
要求定义与调用函数day_of_year(year,month,day),计算并返回year(年)、month(月)和day(日)对应的是该年的第几天,函数形参year、month和day的类型是int,函数类型也是int。
198131(1981年3月1日)
200031(2000年3月1日)
daysofyear:
60(1981年3月1日是该年的第60天)
61(2000年3月1日是该年的第61天)
intday,day_year,month,year;
intday_of_year(intyear,intmonth,intday);
%d%d%d"
year,&
month,&
day);
day_year=day_of_year(year,month,day);
%d\n"
day_year);
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;
month;
k++)
day=day+tab[leap][k];
returnday;
7.26
输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,假设方阵a最多有1个鞍点,如果找到a的鞍点,就输出其下标,否则,输出"
鞍点的元素值在该行上最大,在该列上最小。
1741
4836
1612
0789
2(n=2)
17
41
a[2][1]=6
NO
intflag,i,j,k,row,col,n;
/*---------*/
flag=0;
col=0;
row=i;
if(a[i][j]>
a[i][col])
col=j;
if(a[row][col]>
a[k][col]){
row=k;
}
if(row==i){
}
a[%d][%d]=%d\n"
row,col,a[row][col]);
7.3.1
输入一个以回车结束的字符串(少于80个字符),将它的内容逆序输出。
如"
ABCD"
的逆序为"
DCBA"
Welcometoyou!
!
uoyotemocleW
inti,j,k,temp;
charstr[80];
i=0;
while((str[i]=getchar())!
='
)
i++;
str[i]=0;
k=i-1;
k;
temp=str[i];
str[i]=str[k];
str[k]=temp;
k--;
str[i]!
=0;
putchar(str[i]);
7.3.2
输入一个字符,再输入一个以回车结束的字符串(少于80个字符),在字符串中查找该字符,如果找到,输出该字符在字符串中所对应的最大下标(下标从0开始);
否则输出"
NotFound"
m(字符'
m'
programming(字符串"
programming"
a(字符'
a'
1234(字符串"
1234"
index=7('
在"
中对应的最大下标是7)
NotFound("
中没有'
#defineMAXLEN80
charcc,ch;
charstr[MAXLEN];
intcount,flag,i,index;
getchar();
cc=getchar();
while((ch