算法分析与设计.docxVIP

  • 11
  • 0
  • 约9.23千字
  • 约 16页
  • 2023-11-10 发布于上海
  • 举报
编程统计身高(单位为厘米) 编程统计身高(单位为厘米)。统计分 150——154;155——159;160——164;165——169; 170——174;175——179 及低于是 150、高于是 179 共八档次进行。考虑关系式身高/5-29 与 数组小标的对应关系 #includestdio.h int main( ) { int i,sg,a[8]; for(i=0;i=7;i=i+1) a[i]=0; printf(input height data until input -1\n); scanf(%d,sg); while (sg!=-1) { if (sg179) a[7]=a[7]+1; else if (sg150) a[0]=a[0]+1; else a[sg/5-29]=a[sg/5-29]+1; scanf(%d,sg); } for (i=0;i=7;i=i+1) printf(%d field the number of people: %d\n,i+1,a[i]); return 0; } 练习: 编程打印形如下规律的n*n 方阵。例如下图:使左对角线和右对角线上的元素为0,它们上方的元素为 1,左方的元素为 2,下方元素为 3,右方元素为 4,下图是一个符合条件的阶矩阵。 二维趣味矩阵的应用 0 1 1 1 0 2 0 1 0 4 2 2 0 4 4 2 0 3 0 4 0 0 3 3 3 0 主对角线元素 i=j; 副对角线元素: 下标下界为 1 时 i+j=n+1, 下标下界为 0 时 i+j=n-1; 主上三角◥元素: i =j; 主下三角◣元素: i =j; 次上三角◤元素:下标下界为 1 时 i +j=n+1, 下标下界为 0 时 i+j=n-1; 次下三角◢元素:下标下界为 1 时 i +j=n+1, 下标下界为 0 时 i+j=n-1; #includestdio.h #includestdio.h int main( ) {int i,j,a[100][100],n; scanf(%d,n); for(i=1;i=n;i=i+1) for(j=1;j=n;j=j+1) {if (i==j || i+j==n+1) a [i][j]=0; if (i+jn+1 ij) a [i][j]=1; if (i+jn+1 ij) a [i][j]=2; if (i+jn+1 ij) a [i][j]=3; if (i+jn+1 ij) a [i][j]=4;} for(i=1;i=n;i=i+1) { printf(\n); for( j=1;j=n;j=j+1) printf(%4d,a[i][j]); printf(\n);} return 0;} 练习:开灯问题:有从 练习: 开灯问题:有从1 到n 依次编号的n 个同学和n 盏灯。1 号同学将所有的灯都关掉;2 号同学将编号为 2 的倍数的灯都打开;3 号同学则将编号为 3 的倍数的灯作相反处理(该号灯如打开的,则关掉;如关闭的,则打开);以后的同学都将自己编号的倍数的灯,作相反处理。问经 n 个同学操作后,哪些灯是打开的? #includestdio.h int main( ) { int n,a[1000],i,k; printf(input a number:\n); scanf(%d,n); for( i=1;i=n;i++) a[i]=0; for( i=2;i=n;i++) { k=1; while ( i*k=n) { a[i*k]=1-a[i*k]; k=k+1;} } for( i=1;i=n;i++) printf( %4d\n,a[i]); return 0; } 非数值问题的处理 练习:警察局抓了 a,b,c,d 四名偷窃嫌疑犯,其中只有一人是小偷。审问中的描述如下: a 说:“我不是小偷。” b 说:“c 是小偷。” c 说:“小偷肯定是 d。” d 说:“c 在冤枉人。” 现在已经知道四个人中三人说的是真话,一人说的是假话,问到底谁是小偷? 提示:将以上信息数字化,用变量 x 存放小偷的编号,则 x 的取值范围从 1 取到 4,就假设了他们中的某人是小偷的所有情况。四个人所说的话就可以分别写成: a 说的话:x1 b 说的话:x=3 c 说的话:x=4 d 说的话:x4 或 not(x=4) #include stdio.h int main() { int x; for(x=1;x=4;x++) { if((x!=1)+(x==3)+(x==4)+(x!=4)==3) printf(%c is a thief. \n,x+64); } return 0; } 运行结果: c is a

文档评论(0)

1亿VIP精品文档

相关文档