C语言第一类

更新时间:2023-03-10 22:43:01 阅读量: 教育文库 文档下载

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

第六周

1.编写一程序P717.C实现以下功能

输入10个整型数存入一维数组,输出值和下标都为奇数(数组第1个元素的下标为0)的元素及其个数,要求先输出个数。编程可用素材:printf(\10 integers: \、printf(\?\\n\?、printf(\?]=?\\n\?。

Input 10 integers: 2 45 34 56 78 12 41 55 86 37 count=3 a[1]=45 a[7]=55 a[9]=37

#include

int main (void) { }

2.编写一程序P725.C实现以下功能

利用数组,求斐波拉契数列的前n(约定3≤n≤20)项并输出到屏幕上(数和数之间用水平制表符'\\t'隔开),斐波拉契公式为:f(1)=1, f(2)=1, f(n) = f(n-1) + f(n-2) (n≥3)。编程可用素材:printf(\a data(3--20): \。

return 0;

printf(\for (i=0; i<10; i++) { }

count = 0;

for (i=0; i<10; i++) { }

printf(\for (i=0; i<10; i++) { }

if (i%2==1 && a[i]%2==1) { }

printf(\if (i%2==1 && a[i]%2==1) { }

count = count + 1; scanf(\int count, i, a[10];

input a data(3--20): 11

1 1 2 3 5 8 13 21 34 55 89

#include

int main (void) { }

3.编写一程序P742.C实现以下功能

现有两个一维数组(各含5个整型元素)设为A、B,从键盘分别输入数据给这两个数组。计算A数组正序位置与B数组逆序对应位置积的和。编程可用素材:printf(\A: \、printf(\B: \、printf(\?\\n\?。

Input A: 1 2 3 4 5Input B: 5 4 3 2 1sum=55 #include

int main (void) {

int aa[5], bb[5], i, j, sum = 0; return 0; printf(\

printf(\scanf(\for (i=0; i < nn; i++) { }

if (i <= 1) { } else { }

if (i < nn - 1) { }

printf(\

ff[i] = ff[i - 1] + ff[i - 2]; printf(\printf(\

double ff[20] = {1, 1}; int i ,nn;

} 4.编

P718.C

f(0)=0,f(1)=1,f(2)=2, f(n+1)=2f(n)+f(n-1)f(n-2) (n>=2), 编写程序求f(n)的值(n由键盘输入,13>=n>=2)。编程可用素材:printf(\n (13>=n>=2): \、printf(\?)=?\\n\?。 Input n (13>=n>=2): 10f(10)=1819456 #include int main (void) { }

5.编写一程序P831.C实现以下功能

某班有40位同学参加考试,成绩(整数)从键盘输入,求全班最高分、最低分以及平均分,并统计该班同学的考试及格率。编程可用素材:printf(\请输入40位同学的成绩:\、printf(\最高分:?最低分:?平均分:?及格率:?。 请

40

99 81 71 81 77 94 100 67 66 44 75 49 47 45 65 74 73 74 63

return 0;

double ff[14] = {0, 1, 2}; int nn, i;

printf(\scanf (\for (i = 3; i <= nn; i++) { }

printf(\

ff[i] = 2 * ff[i - 1] + ff[i - 2] * ff[i - 3]; return 0;

printf(\for (i = 0; i < 5; i++) { }

printf(\for (j = 0; j < 5; j++) { }

for (i = 0, j = 4; i < 5, j >= 0; i++, j--) { }

printf(\

sum = sum + aa[i] * bb[j]; scanf(\scanf(\

69 72 77 65 79 84 73 46 62 68 42 75 62 65 66 62 69 44 62 84 77

最高分:100 最低分:42 平均分:68.7 及格率:83% #include

int main (void) { }

6.编写一程序P239.C实现以下功能

先从键盘读入若干个整数(读到-1或读满16个数均结束读入),然后倒序输出这些数。编程可用素材:

return 0;

printf(\请输入40位同学的成绩:\for (i=0; i<40; i++) { }

max = a[0]; min = a[0];

for (i=0; i<40; i++) { }

pjf = sum / 40.0;

jgl = count / 40.0 * 100;

printf(\最高分:%d\\n最低分:%d\\n平均分:%.1f\\n及格率:%.0f%%\\n\max, min, pjf, jgl);

if (a[i] > max) { }

if (a[i] < min) { }

if (a[i] >= 60) { }

sum = sum + a[i];

count++; min = a[i]; max = a[i]; scanf(\

int a[40], max, min, i, count = 0; double pjf, sum = 0, jgl;

printf(\请输入若干个数: \、printf(\这些数倒序为: \。 请输入若干个数: 1 2 3 4 5 6 7 8 9 20 11 12 -1 13

这些数倒序为: 12 11 20 9 8 7 6 5 4 3 2 1 #include

int main (void) { }

7.编写一程序P420.C实现以下功能

①程序运行时先显示Input:,再从键盘上读入一组数(小数部分最多1位),数与数之间只使用空格或回车作分隔。数可正可负,最多100个,但若读入的数为-567时,则表示输入结束且-567不算在该组数内。 ②对这一组数按从大到小的顺序进行排序。 ③将排序后的这一组数输出到屏幕上。

编程可用素材:printf(\\、printf(\\、printf(\\?。 Input: 100.2 120.1 89 72.5 -19 200.3 500.7 210 235 6 24.3 -567

Result: 500.7 235.0 210.0 200.3 120.1 100.2 89.0 72.5 24.3 6.0 -19.0 #include

#define SIZE 100

int main (void) {

return 0;

int aa[16], i, count = 0;

printf(\请输入若干个数: \for (i = 0 ; i < 16; i++) { }

printf(\这些数倒序为: \for (i = count - 1; i >= 0; i--) { }

printf(\

printf(\ scanf(\if (aa[i] == -1) { } count++;

break;

}

float aa[SIZE], temp; int i, j, count = 0;

printf(\for (i=0; i

for (i=0; i

printf(\for (i=0; i

printf(\return 0;

printf(\for (j=i+1; j

if (aa[i] < aa[j]) { }

temp = aa[j]; aa[j] = aa[i]; aa[i] = temp;

scanf(\if (temp != -567) { } else { }

break; aa[i] = temp; count++;

8.编写一程序P262.C实现以下功能

先从键盘读入整数m和n(约定(2<=m<=20、2<=n<=20)),再从键盘读入m行(每行n个,即一个m×n矩阵)整数,然后从键盘读入一个列序号,按示例格式显示该列的内容。编程可用素材:printf(\请输入 m 和 n: \、printf(\请输入 %d 行, 每行 %d 列整数:\\n\?、printf(\请输入要显示列的列号: \、printf(\该列的内容为: \。 请输入 m 和 n: 5 6

请输入 5 行, 每行 6 列整数: 31 42 36 74 2358 88 1447 32 57 37 43 47 97 51 257 7 445 459 33 65 44 3 425 43 68 3425 82 789 123 2134 请输入要显示列的列号: 2

该列的内容为: 36 57 257 44 82 #include

int main (void) { }

9.编写一程序P271.C实现以下功能

return 0;

printf(\请输入 m 和 n: \scanf (\

printf(\请输入 %d 行, 每行 %d 列整数:\\n\for (i=0; i

printf(\请输入要显示列的列号: \scanf(\

printf(\该列的内容为: \for (i=0; i

printf(\

for (j=0; j

if (j == bb) { }

printf(\

for (j=0; j

scanf(\

int aa[20][20], nn, mm, i, j, bb;

先从键盘读入整数m和n(约定(2<=m<=20、2<=n<=20)),再从键盘读入m行(每行n个,即一个m×n矩阵)整数,然后从键盘读入一个列序号,按示例格式显示该列上各元素之和。编程可用素材:printf(\请输入 m 和 n: \、printf(\请输入 %d 行, 每行 %d 列整数:\\n\?、printf(\请输入要计算和之列的列号: \、printf(\该列上各元素之和为: ?。 请输入 m 和 n: 5 6

请输入 5 行, 每行 6 列整数: 31 42 36 74 2358 88 1447 32 57 37 43 47 97 51 257 7 445 459 33 65 44 3 425 43 68 3425 82 789 123 2134 请输入要计算和之列的列号: 2 #include

int main (void) {

return 0;

printf(\请输入 m 和 n: \scanf (\

printf(\请输入 %d 行, 每行 %d 列整数:\\n\for (i=0; i

printf(\请输入要显示列的列号: \scanf(\for (i=0; i

printf(\该列上各元素之和为: %d\\n\

for (j=0; j

if (j == bb) { }

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

for (j=0; j

scanf(\

int aa[20][20], nn, mm, i, j, bb, sum = 0;

}

10.编写一程序P732.C实现以下功能

输入

3

3

列的矩阵,输出所有元素的累加和。编程可用素材:

printf(\input the 3x3 Matrix:\\n\、printf(\?\\n\?。 Please input the 3x3 Matrix: 9 20 13 16 51 79 32 8 6sum=234 #include

int main (void) { }

第七周

1.编写一程序P137.C实现以下功能

通过键盘输入两个姓名(约定均为汉字且最多4个汉字),判断并输出二者是否同姓。编程可用素材:printf(\请输入姓名1: \、printf(\请输入姓名2: \、printf(\“?”与“?”同姓。\\n\?、printf(\“?”与“?”不同姓。\\n\?。 请输入姓名1: 张李秀吉

请输入姓名2: 张三“张李秀吉”与“张三”同姓 #include

int main (void) {

printf(\请输入姓名1: \gets(aa);

printf(\请输入姓名2: \gets(bb);

if (aa[0] == bb[0]) char aa[9], bb[9]; return 0;

int aa[3][3], i, j, sum = 0;

printf(\for (i = 0; i < 3 ; i++) { }

printf(\

for (j = 0; j < 3 ; j++) { }

scanf(\sum = sum + aa[i][j];

}

{ } else { } return 0;

printf(\“%s”与“%s”不同姓。\\n\printf(\“%s”与“%s”同姓。\\n\

2.编写一程序P216.C实现以下功能

求任意的一个m×m矩阵的最大数及其所在的行列数,m(2<=m<=20)及矩阵元素从键盘输入(只考虑int型)。编程可用素材:printf(\input m: \、printf(\input array:\\n\、printf(\?,i=?,j=?\\n\?。 Please input m: 5 Please input array:

1 45 67 235 464 35 6 89 32342 8 347 9346 47 95 746 46 785 436 19434 634

3235 567 24 8465 25max=32342,i=1,j=3 #include

int main (void) {

printf(\scanf(\

printf(\for (i = 0; i < mm; i++) { }

max = aa[0][0]; {

for (j = 0; j < mm; j++) {

if (aa[i][j] > max)

{

for (i = 0; i < mm; i++) for (j = 0; j < mm; j++) { }

scanf(\

int aa[20][20], i, j, mm, bb, nn, max;

}

}

}

}

max = aa[i][j]; nn = i; bb = j;

printf(\return 0;

3.编写一程序P217.C实现以下功能

求任意的一个m×m矩阵的对角线上元素之和,m(2<=m<=20)及矩阵元素从键盘输入(只考虑int型,且不需考虑求和的结果可能超出int型能表示的范围)。编程可用素材:printf(\input m: \、printf(\input array:\\n\、printf(\?\\n\?。Please input m: 5 Please input array:

1 45 67 235 464 35 6 89 32342 8 347 9346 47 95 746 46 785 436 19434 634 3235 567 24 8465 25sum=56339 #include

int main (void) {

printf(\scanf(\

printf(\for (i = 0; i < mm; i++) { }

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

for (j = 0; j < mm; j++) {

if (i == j || i + j == mm - 1) { }

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

for (j = 0; j < mm; j++) { }

scanf(\

int aa[20][20], i, j, mm, sum = 0;

}

}

}

printf(\return 0;

4.编写一程序P218.C实现以下功能

求任意的一个m×m矩阵的周边元素之和,m(2<=m<=20)及矩阵元素从键盘输入(只考虑int型,且不需考虑求和的结果可能超出int型能表示的范围)。编程可用素材:printf(\input m: \、printf(\input array:\\n\、printf(\?\\n\?。Please input m: Please input array:

1 45 67 235 464 35 6 89 32342 8 347 9346 47 95 746 46 785 436 19434 634 3235 567 24 8465 25sum=14944 #include

int main (void) { int aa[20][20], i, j, mm, sum = 0;

printf(\ scanf(\

printf(\ for (i = 0; i < mm; i++) { for (j = 0; j < mm; j++) { scanf(\

}

}

for (i = 0; i < mm; i++) { for (j = 0; j < mm; j++) { if (i == 0 || j == 0 || j == mm - 1 || i == mm - 1) { sum = sum + aa[i][j];

}

}

}

printf(\

5 }

return 0;

5.编写一程序P748.C实现以下功能

从键盘上输入矩阵的阶数n(n<=14), 矩阵中元素的值等于其位置的行数和列数之和的n倍(行列的值从0开始计数),如n=3时,矩阵为 0 3 6 3 6 9 6 9 12

先输出该矩阵(显示时每个数宽度为4、右对齐),然后计算输出sum1和sum2的值:sum1为矩阵中所有不靠边元素之和、sum2为矩阵的一条对角线元素之和。编程可用素材:printf(\n: printf(\?\\nsum2=?\\n\?。 Enter n: 3

0 3 6 3 6 9

6 9 12sum1=6sum2=18 #include

int main (void) { int aa[14][14], i, j, nn, sum1 = 0, sum2 = 0;

printf(\ scanf(\

for (i = 0 ; i < nn; i++) { for (j = 0 ; j < nn; j++) { aa[i][j] = nn * (i + j); printf(\

}

printf(\

}

for (i = 0 ; i < nn; i++) { for (j = 0 ; j < nn; j++) { if (i != 0 && j != 0 && j != nn - 1 && i != nn - 1) { sum1 = sum1 + aa[i][j];

}

if (i == j) { sum2 = sum2 + aa[i][j];

}

\、 }

}

}

printf(\return 0;

6.编写一程序P743.C实现以下功能

从键盘输入一行可带空格的字符串(约定:字符数≤127字节),按逆序输出该字符串。注意,程序中不能使用库函数strrev或使用同名的变量、函数、单词。编程可用素材:printf(\a string: \、printf(\result is: \。

Input a string: abc xyzThe result is: zyx cba #include #include

int main (void) { }

7.编写一程序P750.C实现以下功能

输入字符串s(约定:字符数≤100字节),将字符串s中所有字符‘*’删除,并将修改后的字符串显示出来。编程可用素材:printf(\input a string: \、printf(\result is: \。 Please input a string: *dgjk* %&* *df78dg 88** The result is: dgjk %& df78dg 88 #include

int main (void) {

char aa[101]; int i, j;

return 0;

printf(\gets(aa); len = strlen(aa); bb[len] = '\\0';

for (i =0, j = len - 1; i < len; i++, j--) { }

printf(\puts(bb);

bb[j] = aa[i];

char aa[128], bb[128]; int len, i, j;

}

printf(\gets(aa);

printf(\

for (i = 0, j = 0; aa[i] != '\\0'; i++) { }

aa[j] = '\\0'; puts(aa); return 0;

if (aa[i] != '*') { }

aa[j] = aa[i]; j++;

8.编写一程序P234.C实现以下功能

求任意的一个m×m矩阵的第0行和最后一行所有数之和,m(2<=m<=20)及矩阵元素从键盘输入(只考虑int型)。编程可用素材:printf(\input m: \、printf(\input array:\\n\、printf(\= ?\\n\?。 Please input m: 5 Please input array:

1 45 67 235 464 35 6 89 32342 8 347 9346 47 95 746 46 785 436 19434 634

3235 567 24 8465 32225Sum = 45328 #include

int main (void) {

int aa[20][20], i, j, mm, sum = 0;

printf(\scanf(\

printf(\for (i = 0; i < mm; i++) { }

for (i = 0; i < mm; i++)

for (j = 0; j < mm; j++) { }

scanf(\

}

{ }

for (j = 0; j < mm; j++) { }

if (i == 0 || i == mm - 1) { }

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

printf(\return 0;

9.编写一程序P235.C实现以下功能

求任意的一个m×m矩阵的第0列和最后一列所有数之和,m(2<=m<=20)及矩阵元素从键盘输入(只考虑int型)。编程可用素材:printf(\input m: \、printf(\input array:\\n\、printf(\= ?\\n\?。 Please input m: 5 Please input array:

1 45 67 235 464 35 6 89 32342 8 347 9346 47 95 746 46 785 436 19434 634

3235 567 24 8465 32225Sum = 37741 #include

int main (void) {

int aa[20][20], i, j, mm, sum = 0;

printf(\scanf(\

printf(\for (i = 0; i < mm; i++) { }

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

for (j = 0; j < mm; j++) {

for (j = 0; j < mm; j++) { }

scanf(\

}

}

}

if (j == 0 || j == mm - 1) { }

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

printf(\return 0;

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

Top