ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:18.97KB ,
资源ID:3768551      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3768551.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(浙江大学城市学院程序设计II上机答案.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

浙江大学城市学院程序设计II上机答案.docx

1、浙江大学城市学院程序设计II上机答案浙江大学城市学院程序设计II上机答案 7.1 /*程序填空,不要改变与输入输出有关的语句。 输入2个正整数 m 和 n (1<=m<=6, 1<=n<=6), 然后输入矩阵 a(m 行 n 列)中的元素,分别求出各行元素之和,并输出。 输出使用语句:printf(sum of row %d is %dn, i, sum); 输入输出示例:括号内为说明 输入: 3 2 (m=3,n=2) 6 3 1 -8 3 12 输出: sum of row 0 is 9 sum of row 1 is -7 sum of row 2 is 15 *

2、/ #include <stdio.h> int main(void) int i, j, m, n, sum; int a66; scanf(%d%d,&m,&n); for(i = 0; i < m; i+) for(j = 0; j < n; j+) scanf(%d, &aij); for(i = 0; i < m; i+) sum=0; for(j = 0; j < n; j+) sum=sum+aij; printf(sum of row %d is %dn, i, sum); /*-*/ return 0; /*程序填空

3、,不要改变与输入输出有关的语句。 输入两个正整数 m 和 n (m1,n6), 然后输入该m 行 n 列二维数组a中的元素, 将该二维数组a中的每个元素向右移一列, 最后一列换到第一列,移动后的数组存到另一二维数组b中,按矩阵形式输出b。 输入输出示例:括号内为说明 输入: 2 3 (m=2, n=3) 4 5 6 1 2 3 输出: New array: 6 4 5 3 1 2 */ #include <stdio.h> int main(void) int a66, b66, i, j, m, n; scanf(%d%d,&m,&n); for(i = 0; i

4、 < m; i+) for(j = 0; j < n; j+) scanf(%d,&aij); for(i = 0; i < m; i+) bi0=ain-1; for(i = 0; i < m; i+) for(j = 0; j < n-1; j+) bij+1=aij; /*-*/ printf(New array:n); for( i = 0; i < m; i+) for( j = 0; j < n; j+) printf(%4d,bij); printf(n); return 0; /*程序填空,不要改变与输入输出有关的语句。 输入一

5、个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 读入 1 个正整数 n(1n6), 再读入 n 阶方阵 a , 计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。 副对角线为从矩阵的右上角至左下角的连线。 输入输出示例:括号内为说明 输入: 1 (repeat=1) 4 (n=4) 2 3 4 1 5 6 1 1 7 1 8 1 1 1 1 1 输出: sum = 35 (2+3+4+5+6+7+8=35) */ #include <stdio.h> int main(void) int i, j, n, sum; int

6、repeat, ri; int a66; scanf(%d, &repeat); for(ri = 1; ri <= repeat; ri+) scanf(%d, &n); for(i = 0; i < n; i+) for(j = 0; j < n; j+) scanf(%d, &aij); sum=0; for(i = 0; i < n-1; i+) for(j = 0; j < n-1; j+) if(i+j!=n-1) sum=sum+aij; /*-*/ printf(sum = %dn, sum); return 0; /*程序

7、填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入一个正整数 n(0<n<10),输出九九乘法表的前nn项。 提示:将乘数、被乘数和乘积放入一个二维数组中,再输出该数组。 输入输出示例:括号内为说明 输入: 1 (repeat=1) 3 (n=3) 输出: * 1 2 3 1 1 2 2 4 3 3 6 9 */ #include <stdio.h> int main(void) int i, j, n; int a1010; int repeat, ri; scanf(%d,

8、&repeat); for(ri = 1; ri <= repeat; ri+) scanf(%d, &n); /*-*/ for(i = 0; i <= n; i+) for(j = 0; j <= n; j+) aij=i*j; for(i = 0; i <= n; i+) ai0=i; for(j = 0; j <= n; j+) a0j=j; for(i = 0; i <= n; i+) for(j = 0; j <= n; j+) if(i = 0 && j = 0) printf(%-4c, '*&#

9、39;); else if(i = 0 | j <= i) printf(%-4d, aij); printf(n); return 0; /* 程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入1 个正整数 n (1n6)和 n 阶方阵 a 中的元素, 如果 a 是上三角矩阵, 输出YES, 否则, 输出NO。 上三角矩阵指主对角线以下的元素都为0的矩阵, 主对角线为从矩阵的左上角至右下角的连线。 输入输出示例:括号内为说明 输入: 2 (repeat=2) 3 (n=3) 1 2 3 0

10、 4 5 0 0 6 2 (n=2) 1 0 -8 2 输出: YES NO */ #include <stdio.h> int main(void) int flag, i, j, n; int a66; int repeat, ri; scanf(%d, &repeat); for(ri = 1; ri <= repeat; ri+) scanf(%d, &n); for(i = 0; i < n; i+) for(j = 0; j < n; j+) scanf(%d, &aij); /*-*/ flag=1; for(i = 0; i

11、 < n; i+) for(j = 0; j < i; j+) if(aij!=0) flag=0; if(flag != 0) printf(YESn); else printf(NOn); return 0; /* 程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入日期(年、月、日),输出它是该年的第几天。 要求定义与调用函数 day_of_year(year, month, day),计算并返回year(年)、month(月)和day(日)对应的是该年的第几天,函数形参year、

12、month和day的类型是int,函数类型也是int。 输入输出示例:括号内为说明 输入: 2 (repeat=2) 1981 3 1 (1981年3月1日) 2000 3 1 (2000年3月1日) 输出: Days of year: 60 (1981年3月1日是该年的第60天) Days of year: 61 (2000年3月1日是该年的第61天) */ #include <stdio.h> int main(void) int day, day_year, month, year; int repeat, ri; int day_of_year(int year, int

13、month, int day); 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(Days of year: %dn, day_year); return 0; int day_of_year(int year, int month, int day) int i,days=0; int mon12=31,28,31,30,31,

14、30,31,31,30,31,30,31; if(year%400=0|year%4=0&&year%100!=0) days+; for(i=0;i<month-1;i+) days=days+moni; days=days+day; return days; /*程序填空,不要改变与输入输出有关的语句。 下面是一个特殊的5阶方阵。输入1个正整数n(n6),输出如此形式的n阶的方阵(顺时针方向旋进)。 1 2 3 4 5 16 0 0 0 6 15 0 0 0 7 14 0 0 0 8 13 12 11 10 9 输入输出示例:括号内为说明 输入: 5 (n=5) 输出

15、: 1 2 3 4 5 16 0 0 0 6 15 0 0 0 7 14 0 0 0 8 13 12 11 10 9 */ #include <stdio.h> int main(void) int a1010, i, j, n, k=0; scanf(%d, &n); for(i=0; i<n; i+) for(j=0; j<n; j+) aij=0; for(j=0; j<n; j+) k+; a0j=k; for(i=1; i<n; i+) k+; ain-1=k; for(j=n-2; j>=0; j-) k+; an-1j=k; fo

16、r(i=n-2; i>0; i-) k+; ai0=k; for(i=0; i<n; i+) for(j=0; j<n; j+) printf(%5d, aij); printf(n); return 0; /*程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入 1 个正整数 n(1n6)和 n 阶方阵 a 中的元素, 假设方阵 a 最多有1个鞍点,如果找到 a 的鞍点, 就输出其下标, 否则,输出NO。鞍点的元素值在该行上最大, 在该列上最小。 输入输出示例:括号内为说明 输入

17、: 2 (repeat=2) 4 (n=4) 1 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9 2 (n=2) 1 7 4 1 输出: a21 = 6 NO */ #include stdio.h int main(void) int flag, i, j, k, row, col, n; int a66; int repeat, ri; scanf(%d, &repeat); for(ri = 1; ri <= repeat; ri+) scanf(%d, &n); for(i = 0; i < n; i+) for(j = 0; j < n;

18、 j+) scanf(%d, &aij); row = col =0; for(row = 0; row < n; row+) for(col = 0; col < n; col+) flag = 1; for(j = 0; j < n; j+) if(arowj > arowcol) flag = 0; break; for(i = 0; i < n; i+) if(aicol < arowcol) flag = 0; break; if(flag = 1) break; if(flag = 1) break; /*-*/ if(flag != 0

19、) printf(a%d%d = %dn, row, col,arowcol); else printf(NOn); return 0; 7.3 /*程序填空,不要改变与输入输出有关的语句。 输入一个以回车结束的字符串(少于80个字符),将它的内容逆序输出。如ABCD 的逆序为DCBA。 输入输出示例:括号内为说明 输入: Welcome to you! 输出: !uoy ot emocleW */ #include <stdio.h> int main(void) int i, k, temp; char str80; i = 0; while(stri = getchar( )

20、 != 'n') i+; stri = 0; k=i-1; i=0; while(i<k) temp=stri; stri=strk; strk=temp; k-; i+; /*-*/ for(i = 0; stri != 0; i+) putchar(stri); return 0; /*程序填空,不要改变与输入输出有关的语句。 输入一个以回车结束的字符串(少于80个字符),把字符串中的所有数字字符('0' '9')转换为整数,去掉其他字符。例如,字符串“3a56bc”转换为整数后是356。输入输出示例:括号内为说明 输入: free82

21、jeep5 输出: 825 */ #include <stdio.h> int main(void) int i, s; char str80; i = 0; while(stri = getchar( ) != 'n') i+; stri = '0' s=0; for(i = 0;stri!='0' i+) if(stri <= '9' && stri >= '0') s = s * 10 + (stri-'0'); /*-*/ printf(%dn,s);

22、 return 0; /*程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入一个字符,再输入一个以回车结束的字符串(少于80个字符), 在字符串中查找该字符,如果找到, 输出该字符在字符串中所对应的最大下标 (下标从0开始);否则输出Not Found。 输入输出示例:括号内为说明 输入: 2 (repeat=2) m (字符'm') programming (字符串programming) a (字符'a') 1234 (字符串1234) 输出: index = 7 (

23、'm'在programming中对应的最大下标是7) Not Found (1234中没有'a') */ #include <stdio.h> #define MAXLEN 80 int main(void) char cc, ch; char strMAXLEN; int count, flag, i, index; int repeat, ri; scanf(%d, &repeat); getchar(); for(ri = 1; ri <= repeat; ri+) cc = getchar(); getchar(); i = 0

24、; while(ch = getchar() != 'n') stri+ = ch; stri = 0; flag=0; i=0; while(stri!=0) if(cc=stri) flag=1; index=i; i+; /*-*/ if(flag != 0) printf(index = %dn, index); else printf(Not Foundn); return 0; /*程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入一个以回车结束的字符串(少于80个字符

25、), 统计并输出其中大写辅音字母的个数。大写辅音字母:除'A', 'E', 'I', 'O', 'U'以外的大写字母。 输入输出示例:括号内为说明 输入: 2 (repeat=2) HELLO group 输出: count = 3 (HELLO中有3个大写辅音字母) count = 0 (group中没有大写辅音字母) */ #include <stdio.h> #define MAXLEN 80 int main(void) char ch; char strMAXLEN; int count, i

26、; int repeat, ri; scanf(%d, &repeat); getchar(); for(ri = 1; ri <= repeat; ri+) i = 0; while(ch = getchar() != 'n') stri+=ch; stri = 0; count=0; i=0; while(stri!=0) if(stri!='A'&&stri!='E'&&stri!='I'&&stri!='O'&&stri!=

27、9;U'&&stri>='A'&&stri<='Z') count+; i+; /*-*/ printf(count = %dn, count); return 0; /*程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入一个以回车结束的字符串(少于80个字符),将其中的大写字母用下面列出的对应大写字母替换,其余字符不变,输出替换后的字符串。 原字母 对应字母 A Z B Y C X D W X C Y B Z A 输入输出示例:括号内为说明 输入: 2 (repeat=2) A flag of USA 1+2=3 输出: After replaced: Z flag of FHZ After replaced: 1+2=3 */ #include <stdio.h> #include <string.h> #define MAXLEN 80

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

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