现代城市学院程序设计II上机答案

更新时间:2023-12-01 07:51:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

现代城市学院程序设计II上机答案

7.1

/*程序填空,不要改变与输入输出有关的语句。 输入2个正整数 m 和 n (1<=m<=6, 1<=n<=6),

然后输入矩阵 a(m 行 n 列)中的元素,分别求出各行元素之和,并输出。 输出使用语句:printf(\输入输出示例:括号内为说明 输入: 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 */

#include int main(void) {

int i, j, m, n, sum; int a[6][6];

scanf(\ for(i = 0; i < m; i++) for(j = 0; j < n; j++)

scanf(\ for(i = 0; i < m; i++){ sum=0;

for(j = 0; j < n; j++) sum=sum+a[i][j]; printf(\ }

/*---------*/ return 0; }

/*程序填空,不要改变与输入输出有关的语句。 输入两个正整数 m 和 n (m≥1,n≤6),

然后输入该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 int main(void) {

int a[6][6], b[6][6], i, j, m, n;

scanf(\

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

scanf(\ for(i = 0; i < m; i++) b[i][0]=a[i][n-1]; for(i = 0; i < m; i++) for(j = 0; j < n-1; j++) b[i][j+1]=a[i][j];

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

printf(\ for( i = 0; i < m; i++) { for( j = 0; j < n; j++)

printf(\ printf(\ }

return 0; }

/*程序填空,不要改变与输入输出有关的语句。

输入一个正整数 repeat (0

计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。 副对角线为从矩阵的右上角至左下角的连线。 输入输出示例:括号内为说明 输入:

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 int main(void) {

int i, j, n, sum; int repeat, ri; int a[6][6];

scanf(\

for(ri = 1; ri <= repeat; ri++){ scanf(\ for(i = 0; i < n; i++) for(j = 0; j < n; j++)

scanf(\ sum=0; for(i = 0; i < n-1; i++) for(j = 0; j < n-1; j++) if(i+j!=n-1) sum=sum+a[i][j]; /*---------*/

printf(\ }

return 0; }

/*程序填空,不要改变与输入输出有关的语句。

输入一个正整数 repeat (0

提示:将乘数、被乘数和乘积放入一个二维数组中,再输出该数组。 输入输出示例:括号内为说明 输入:

1 (repeat=1) 3 (n=3) 输出:

* 1 2 3 1 1 2 2 4 3 3 6 9 */

#include int main(void) {

int i, j, n;

int a[10][10]; int repeat, ri;

scanf(\

for(ri = 1; ri <= repeat; ri++){ scanf(\/*---------*/ for(i = 0; i <= n; i++) for(j = 0; j <= n; j++) a[i][j]=i*j; for(i = 0; i <= n; i++) a[i][0]=i; for(j = 0; j <= n; j++) a[0][j]=j; for(i = 0; i <= n; i++){ for(j = 0; j <= n; j++)

if(i == 0 && j == 0) printf(\ else if(i == 0 || j <= i) printf(\ printf(\ } }

return 0; } /*

程序填空,不要改变与输入输出有关的语句。

输入一个正整数 repeat (0

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

输入输出示例:括号内为说明 输入:

2 (repeat=2) 3 (n=3) 1 2 3 0 4 5 0 0 6 2 (n=2) 1 0 -8 2 输出: YES

NO */

#include int main(void) {

int flag, i, j, n; int a[6][6]; int repeat, ri;

scanf(\

for(ri = 1; ri <= repeat; ri++){ scanf(\ for(i = 0; i < n; i++) for(j = 0; j < n; j++)

scanf(\/*---------*/ flag=1; for(i = 0; i < n; i++) for(j = 0; j < i; j++) if(a[i][j]!=0) flag=0;

if(flag != 0) printf(\ else printf(\ }

return 0; } /*

程序填空,不要改变与输入输出有关的语句。

输入一个正整数 repeat (0

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 int main(void)

2 (repeat=2)

m (字符'm') programming (字符串\a (字符'a') 1234 (字符串\输出:

index = 7 ('m'在\中对应的最大下标是7) Not Found (\中没有'a') */

#include #define MAXLEN 80 int main(void) {

char cc, ch;

char str[MAXLEN]; int count, flag, i, index; int repeat, ri;

scanf(\ getchar();

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

i = 0;

while((ch = getchar()) != '\\n'){ str[i++] = ch; }

str[i] = 0; flag=0; i=0; while(str[i]!=0) { if(cc==str[i]) { flag=1; index=i; } i++; } /*---------*/

if(flag != 0)

printf(\ else

printf(\ }

return 0; }

/*程序填空,不要改变与输入输出有关的语句。

输入一个正整数 repeat (0

统计并输出其中大写辅音字母的个数。大写辅音字母:除'A', 'E', 'I', 'O', 'U'以外的大写字母。 输入输出示例:括号内为说明 输入: 2 (repeat=2)

HELLO group 输出:

count = 3 (\中有3个大写辅音字母) count = 0 (\中没有大写辅音字母) */

#include #define MAXLEN 80 int main(void) {

char ch;

char str[MAXLEN]; int count, i; int repeat, ri;

scanf(\ getchar();

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

while((ch = getchar()) != '\\n'){ str[i++]=ch; }

str[i] = 0; count=0; i=0; while(str[i]!=0) { if(str[i]!='A'&&str[i]!='E'&&str[i]!='I'&&str[i]!='O'&&str[i]!='U'&&str[i]>='A'&&str[i]<='Z') count++; i++; }

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

printf(\ }

return 0; }

/*程序填空,不要改变与输入输出有关的语句。

输入一个正整数 repeat (0

输入一个以回车结束的字符串(少于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 #include #define MAXLEN 80 int main(void) {

char ch;

char str[MAXLEN]; int i;

int repeat, ri;

scanf(\ getchar();

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

while((ch = getchar()) != '\\n'){ str[i] = ch; i++;

}

str[i] = 0; for(i = 0; str[i] != 0; i++) if(str[i]>='A'&&str[i]<='Z'){ str[i]='A'+'Z'-str[i]; }

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

printf(\ for(i = 0; str[i] != 0; i++) putchar(str[i]); putchar('\\n'); }

return 0; }

/*程序填空,不要改变与输入输出有关的语句。

输入一个以回车结束的字符串(少于80个字符),输出其中所出现过的大写英文字母;若无大写英文字母则输出“Not Found”。 输入输出示例(括号内为说明) 输入

2 (repeat=2)

FONTNAME and FILENAME fontname and filrname 输出

FONTAMEIL Not Found */

#include int main(void) { char str[80],newstr[80]; int i, j, k, ri, repeat; scanf(\ getchar(); for(ri=1; ri<=repeat; ri++) { i=0; while((str[i]=getchar( ))!='\\n') i++; str[i]='\\0'; k=0; for(i=0;str[i]!='\\0';i++){ if(str[i]>='A'&&str[i]<='Z')

{ for(j=0;j

/*程序填空,不要改变与输入输出有关的语句。

输入一个以回车结束的字符串(少于80个字符),去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。 输入输出示例(括号内为说明) 输入

ad2f3adjfeainzzzv 输出

23adefijnvz */

#include int main(void) { char str[80], ch; int i=0, j, k; while((str[i] = getchar( )) != '\\n') i++; str[i] = '\\0'; for(i=0;str[i]!='\\0';i++){ ch=str[i]; for(j=i+1;str[j]!='\\0';j++){ if(ch>str[j])

本文来源:https://www.bwwdw.com/article/joft.html

Top