浙江大学城市学院程序设计II上机答案文档格式.docx
《浙江大学城市学院程序设计II上机答案文档格式.docx》由会员分享,可在线阅读,更多相关《浙江大学城市学院程序设计II上机答案文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
m,&
n);
for(i=0;
i&
m;
i++)
for(j=0;
j&
n;
j++)
%d"
&
a[i][j]);
i++){
sum=0;
sum=sum+a[i][j];
printf("
}
/*---------*/
return0;
输入两个正整数m和n(m≥1,n≤6),
然后输入该m行n列二维数组a中的元素,
将该二维数组a中的每个元素向右移一列,
最后一列换到第一列,移动后的数组存到另一二维数组b中,按矩阵形式输出b。
23(m=2,n=3)
456
123
Newarray:
645
312
inta[6][6],b[6][6],i,j,m,n;
b[i][0]=a[i][n-1];
n-1;
b[i][j+1]=a[i][j];
Newarray:
\n"
);
for(i=0;
i++){
for(j=0;
%4d"
b[i][j]);
输入一个正整数repeat(0&
repeat&
10),做repeat次下列运算:
读入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)
inti,j,n,sum;
intrepeat,ri;
repeat);
for(ri=1;
ri&
=repeat;
ri++){
if(i+j!
=n-1)
sum=%d\n"
sum);
输入一个正整数n(0&
n&
10),输出九九乘法表的前n×
n项。
提示:
将乘数、被乘数和乘积放入一个二维数组中,再输出该数组。
3(n=3)
输出:
*123
11
224
3369
inti,j,n;
inta[10][10];
=n;
a[i][j]=i*j;
a[i][0]=i;
a[0][j]=j;
if(i==0&
&
j==0)printf("
%-4c"
#39;
*&
elseif(i==0||j&
=i)printf("
%-4d"
a[i][j]);
/*
程序填空,不要改变与输入输出有关的语句。
输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,
如果a是上三角矩阵,输出"
YES"
否则,输出"
NO"
。
上三角矩阵指主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。
2(repeat=2)
045
006
2(n=2)
10
-82
YES
NO
intflag,i,j,n;
flag=1;
i;
if(a[i][j]!
=0)
flag=0;
if(flag!
=0)printf("
YES\n"
elseprintf("
NO\n"
输入日期(年、月、日),输出它是该年的第几天。
要求定义与调用函数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);
Daysofyear:
%d\n"
day_year);
intday_of_year(intyear,intmonth,intday)
inti,days=0;
intmon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if(year%400==0||year%4==0&
year%100!
days++;
for(i=0;
i&
month-1;
i++)
days=days+mon[i];
days=days+day;
returndays;
下面是一个特殊的5阶方阵。
输入1个正整数n(n≤6),输出如此形式的n阶的方阵(顺时针方向旋进)。
12345
160006
150007
140008
131211109
5(n=5)
inta[10][10],i,j,n,k=0;
i&
n;
for(j=0;
j&
a[i][j]=0;
k++;
a[0][j]=k;
for(i=1;
a[i][n-1]=k;
for(j=n-2;
=0;
j--)
a[n-1][j]=k;
for(i=n-2;
0;
i--)
a[i][0]=k;
%5d"
输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,
假设方阵a最多有1个鞍点,如果找到a的鞍点,
就输出其下标,否则,输出"
鞍点的元素值在该行上最大,在该列上最小。
1741
4836
1612
0789
17
41
a[2][1]=6
#include"
stdio.h"
intflag,i,j,k,row,col,n;
row=col=0;
for(row=0;
row&
row++){
for(col=0;
col&
col++){
flag=1;
j++){
if(a[row][j]&
a[row][col]){
flag=0;
break;
if(a[i][col]&
if(flag==1)
if(flag==1){
=0)
a[%d][%d]=%d\n"
row,col,a[row][col]);
else
7.3
输入一个以回车结束的字符串(少于80个字符),将它的内容逆序输出。
如"
ABCD"
的逆序为"
DCBA"
Welcometoyou!
!
uoyotemocleW
inti,k,temp;
charstr[80];
i=0;
while((str[i]=getchar())!
=&
\n&
)
i++;
str[i]=0;
k=i-1;
i=0;
while(i&
k)
temp=str[i];
str[i]=str[k];
str[k]=temp;
k--;
str[i]!
=0;
putchar(str[i]);
输入一个以回车结束的字符串(少于80个字符),把字符串中的所有数字字符(&
0&
~&
9&
)转换为整数,去掉其他字符。
例如,字符串“3a56bc”转换为整数后是356。
输入输出示例:
free82jeep5
825
inti,s;
str[i]=&
\0&
;
s=0;
str[i]!
=&
if(str[i]&
&
str[i]&
s=s*10+(str[i]-&
%d\n"
s);
输入一个正整数repeat(0&
10),做repeat次下列运算:
输入一个字符,再输入一个以回车结束的字符串(少于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=getchar())!
){
str[i++]=ch;
while(str[i]!
if(cc==str[i])
index=i;
index=%d\n"
index);
NotFound\n"
输入一个以回车结束的字符串(少于80个字符),
统计并输出其中大写辅音字母的个数。
大写辅音字母:
除&
A&
E&
I&
O&
U&
以外的大写字母。
HELLO
group
count=3("
HELLO"
中有3个大写辅音字母)
count=0("
group"
中没有大写辅音字母)
charch;
intcount,i;
str[i++]=ch;
count=0;
if(str[i]!
str[i]&
Z&
count++;
count=%d\n"
count);
输入一个以回车结束的字符串(少于80个字符),将其中的大写字母用下面列出的对应大写字母替换,其余字符不变,输出替换后的字符串。
原字母对应字母
AZ
BY
CX
DW
……
XC
YB
ZA
AflagofUSA
1+2=3
Afterreplaced:
ZflagofFHZ
string.h&