C语言第一类.docx
- 文档编号:8744393
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:22
- 大小:19.52KB
C语言第一类.docx
《C语言第一类.docx》由会员分享,可在线阅读,更多相关《C语言第一类.docx(22页珍藏版)》请在冰豆网上搜索。
C语言第一类
第六周
1.编写一程序P717.C实现以下功能
输入10个整型数存入一维数组,输出值和下标都为奇数(数组第1个元素的下标为0)的元素及其个数,要求先输出个数。
编程可用素材:
printf("Input 10 integers:
")、printf("\ncount=…\n"…、printf("a[…]=…\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
intmain(void)
{
intcount,i,a[10];
printf("Input10integers:
");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
count=0;
for(i=0;i<10;i++)
{
if(i%2==1&&a[i]%2==1)
{
count=count+1;
}
}
printf("\ncount=%d\n",count);
for(i=0;i<10;i++)
{
if(i%2==1&&a[i]%2==1)
{
printf("a[%d]=%d\n",i,a[i]);
}
}
return0;
}
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("input a data(3--20):
")。
input a data(3--20):
11
1 1 2 3 5 8 13 21 34 55
89
#include
intmain(void)
{
doubleff[20]={1,1};
inti,nn;
printf("inputadata(3--20):
");
scanf("%d",&nn);
for(i=0;i { if(i<=1) { printf("%.0f",ff[i]); } else { ff[i]=ff[i-1]+ff[i-2]; printf("%.0f",ff[i]); } if(i { printf("\t"); } } printf("\n"); return0; } 3.编写一程序P742.C实现以下功能 现有两个一维数组(各含5个整型元素)设为A、B,从键盘分别输入数据给这两个数组。 计算A数组正序位置与B数组逆序对应位置积的和。 编程可用素材: printf("Input A: ")、printf("Input B: ")、printf("\nsum=…\n"…。 Input A: 1 2 3 4 5Input B: 5 4 3 2 1sum=55 #include intmain(void) { intaa[5],bb[5],i,j,sum=0; printf("InputA: "); for(i=0;i<5;i++) { scanf("%d",&aa[i]); } printf("InputB: "); for(j=0;j<5;j++) { scanf("%d",&bb[j]); } for(i=0,j=4;i<5,j>=0;i++,j--) { sum=sum+aa[i]*bb[j]; } printf("\nsum=%d\n",sum); return0; } 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("Input n (13>=n>=2): ")、printf("\nf(…)=…\n"…。 Input n (13>=n>=2): 10f(10)=1819456 #include intmain(void) { doubleff[14]={0,1,2}; intnn,i; printf("Inputn(13>=n>=2): "); scanf("%d",&nn); for(i=3;i<=nn;i++) { ff[i]=2*ff[i-1]+ff[i-2]*ff[i-3]; } printf("\nf(%d)=%.0f\n",nn,ff[nn]); return0; } 5.编写一程序P831.C实现以下功能 某班有40位同学参加考试,成绩(整数)从键盘输入,求全班最高分、最低分以及平均分,并统计该班同学的考试及格率。 编程可用素材: printf("请输入40位同学的成绩: ")、printf("\n最高分: …最低分: …平均分: …及格率: …。 请输入40位同学的成绩: 99 81 71 81 77 94 100 67 66 44 75 49 47 45 65 74 73 74 63 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 intmain(void) { inta[40],max,min,i,count=0; doublepjf,sum=0,jgl; printf("请输入40位同学的成绩: "); for(i=0;i<40;i++) { scanf("%d",&a[i]); } max=a[0]; min=a[0]; for(i=0;i<40;i++) { if(a[i]>max) { max=a[i]; } if(a[i] { min=a[i]; } if(a[i]>=60) { count++; } sum=sum+a[i]; } pjf=sum/40.0; jgl=count/40.0*100; printf("\n最高分: %d\n最低分: %d\n平均分: %.1f\n及格率: %.0f%%\n",max,min,pjf,jgl); return0; } 6.编写一程序P239.C实现以下功能 先从键盘读入若干个整数(读到-1或读满16个数均结束读入),然后倒序输出这些数。 编程可用素材: printf("请输入若干个数: ")、printf("\n这些数倒序为: ")。 请输入若干个数: 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 intmain(void) { intaa[16],i,count=0; printf("请输入若干个数: "); for(i=0;i<16;i++) { scanf("%d",&aa[i]); if(aa[i]==-1) { break; } count++; } printf("\n这些数倒序为: "); for(i=count-1;i>=0;i--) { printf("%d",aa[i]); } printf("\n"); return0; } 7.编写一程序P420.C实现以下功能 ①程序运行时先显示Input: ,再从键盘上读入一组数(小数部分最多1位),数与数之间只使用空格或回车作分隔。 数可正可负,最多100个,但若读入的数为-567时,则表示输入结束且-567不算在该组数内。 ②对这一组数按从大到小的顺序进行排序。 ③将排序后的这一组数输出到屏幕上。 编程可用素材: printf("Input: ")、printf("\nResult: ")、printf("%.1f "…。 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 #defineSIZE100 intmain(void) { floataa[SIZE],temp; inti,j,count=0; printf("Input: "); for(i=0;i { scanf("%f",&temp); if(temp! =-567) { aa[i]=temp; count++; } else { break; } } for(i=0;i { for(j=i+1;j { if(aa[i] { temp=aa[j]; aa[j]=aa[i]; aa[i]=temp; } } } printf("\nResult: "); for(i=0;i { printf("%.1f",aa[i]); } printf("\n"); return0; } 8.编写一程序P262.C实现以下功能 先从键盘读入整数m和n(约定(2<=m<=20、2<=n<=20)),再从键盘读入m行(每行n个,即一个m×n矩阵)整数,然后从键盘读入一个列序号,按示例格式显示该列的内容。 编程可用素材: printf("请输入 m 和 n: ")、printf("请输入 %d 行, 每行 %d 列整数: \n"…、printf("请输入要显示列的列号: ")、printf("\n该列的内容为: ")。 请输入 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 intmain(void) { intaa[20][20],nn,mm,i,j,bb; printf("请输入m和n: "); scanf("%d%d",&mm,&nn); printf("请输入%d行,每行%d列整数: \n",mm,nn); for(i=0;i { for(j=0;j { scanf("%d",&aa[i][j]); } } printf("请输入要显示列的列号: "); scanf("%d",&bb); printf("\n该列的内容为: "); for(i=0;i { for(j=0;j { if(j==bb) { printf("%d",aa[i][j]); } } } printf("\n"); return0; } 9.编写一程序P271.C实现以下功能 先从键盘读入整数m和n(约定(2<=m<=20、2<=n<=20)),再从键盘读入m行(每行n个,即一个m×n矩阵)整数,然后从键盘读入一个列序号,按示例格式显示该列上各元素之和。 编程可用素材: printf("请输入 m 和 n: ")、printf("请输入 %d 行, 每行 %d 列整数: \n"…、printf("请输入要计算和之列的列号: ")、printf("\n该列上各元素之和为: …。 请输入 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 intmain(void) { intaa[20][20],nn,mm,i,j,bb,sum=0; printf("请输入m和n: "); scanf("%d%d",&mm,&nn); printf("请输入%d行,每行%d列整数: \n",mm,nn); for(i=0;i { for(j=0;j { scanf("%d",&aa[i][j]); } } printf("请输入要显示列的列号: "); scanf("%d",&bb); for(i=0;i { for(j=0;j { if(j==bb) { sum=sum+aa[i][j]; } } } printf("\n该列上各元素之和为: %d\n",sum); return0; } 10.编写一程序P732.C实现以下功能 输入3行3列的矩阵,输出所有元素的累加和。 编程可用素材: printf("Please input the 3x3 Matrix: \n")、printf("\nsum=…\n"…。 Please input the 3x3 Matrix: 9 20 13 16 51 79 32 8 6sum=234 #include intmain(void) { intaa[3][3],i,j,sum=0; printf("Pleaseinputthe3x3Matrix: \n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { scanf("%d",&aa[i][j]); sum=sum+aa[i][j]; } } printf("\nsum=%d\n",sum); return0; } 第七周 1.编写一程序P137.C实现以下功能 通过键盘输入两个姓名(约定均为汉字且最多4个汉字),判断并输出二者是否同姓。 编程可用素材: printf("请输入姓名1: ")、printf("请输入姓名2: ")、printf("\n“…”与“…”同姓。 \n"…、printf("\n“…”与“…”不同姓。 \n"…。 请输入姓名1: 张李秀吉 请输入姓名2: 张三“张李秀吉”与“张三”同姓 #include intmain(void) { charaa[9],bb[9]; printf("请输入姓名1: "); gets(aa); printf("请输入姓名2: "); gets(bb); if(aa[0]==bb[0]) { printf("\n“%s”与“%s”同姓。 \n",aa,bb); } else { printf("\n“%s”与“%s”不同姓。 \n",aa,bb); } return0; } 2.编写一程序P216.C实现以下功能 求任意的一个m×m矩阵的最大数及其所在的行列数,m(2<=m<=20)及矩阵元素从键盘输入(只考虑int型)。 编程可用素材: printf("Please input m: ")、printf("\nPlease input array: \n")、printf("\nmax=…,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 intmain(void) { intaa[20][20],i,j,mm,bb,nn,max; printf("Pleaseinputm: "); scanf("%d",&mm); printf("\nPleaseinputarray: \n"); for(i=0;i { for(j=0;j { scanf("%d",&aa[i][j]); } } max=aa[0][0]; for(i=0;i { for(j=0;j { if(aa[i][j]>max) { max=aa[i][j]; nn=i; bb=j; } } } printf("\nmax=%d,i=%d,j=%d\n",max,nn,bb); return0; } 3.编写一程序P217.C实现以下功能 求任意的一个m×m矩阵的对角线上元素之和,m(2<=m<=20)及矩阵元素从键盘输入(只考虑int型,且不需考虑求和的结果可能超出int型能表示的范围)。 编程可用素材: printf("Please input m: ")、printf("Please input array: \n")、printf("\nsum=…\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 intmain(void) { intaa[20][20],i,j,mm,sum=0; printf("Pleaseinputm: "); scanf("%d",&mm); printf("\nPleaseinputarray: \n"); for(i=0;i { for(j=0;j { scanf("%d",&aa[i][j]); } } for(i=0;i { for(j=0;j { if(i==j||i+j==mm-1) { sum=sum+aa[i][j]; } } } printf("\nsum=%d\n",sum); return0; } 4.编写一程序P218.C实现以下功能 求任意的一个m×m矩阵的周边元素之和,m(2<=m<=20)及矩阵元素从键盘输入(只考虑int型,且不需考虑求和的结果可能超出int型能表示的范围)。 编程可用素材: printf("Please input m: ")、printf("Please input array: \n")、printf("\nsum=…\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=14944 #include intmain(void) { intaa[20][20],i,j,mm,sum=0; printf("Pleaseinputm: "); scanf("%d",&mm); printf("\nPleaseinputarray: \n"); for(i=0;i { for(j=0;j { scanf("%d",&aa[i][j]); } } for(i=0;i { for(j=0;j { if(i==0||j==0||j==mm-1||i==mm-1) { sum=sum+aa[i][j]; } } } printf("\nsum=%d\n",sum); return0; } 5.编写一程序P748.C实现以下功能 从键盘上输入矩阵的阶数n(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 一类
![提示](https://static.bdocx.com/images/bang_tan.gif)