问答题

【函数2.1说明】
有1、2、3、4四个数字,输出由这些数字组成的互不相同且无重、复数字的三位数。
【函数2.1】
main()
int i,j,k;
printf("\n");
for( (1) ) /*以下为三重循环*/
for(j=1; j<5;j++)
for (k=1;k<5;k++)

if ( (2) ) /*确保i, j, k 三位互不相同*/
printf("%d,%d,%d\n",i,j,k);

【函数2.2说明】
计算并输出100之内的素数,每行输出10个,超过10个则换行。
【函数2.2】
#include <stdio.h>
#include "math.h"
#define N 101
main()
int i,j,line,a[N];
for(i=2;i<N;i++) (3) ;
for(i=2;i<sqrt(N);i++)
for(j=i+1;j<N;j++)

if(a[i]!=0&&a[j]!=0)
if(a[j]%a[i]==0)
(4) ;

printfC\n");
for(i=2,line=0;i<N;i++)

if(a[i]!=0)

prinff("%5d",a[i]);
(5) ;

if(line==10)

prinff("\n");
line=0;


【参考答案】

(1)i=1;i<5;i++
(2)i!=k&&i!=j&&j!=k
(3)a[i]=I
......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)
热门 试题

问答题
【说明】 著名的四色定理指出任何平面区域均可以用4种颜色着色,使相邻区域着不同的颜色。本程序对给定的区域图找出所有可能的不超过4种颜色的着色方案。 【函数】 # include <stdio.h> #define N 10 *要着色的N个区域* void output(int color[]) *输出一种着色方案 color[i]的值为区域i所着颜色* int i; for (i=0; i<N; i++) printf( %4d , color[i]); printf( n ); int back(int *ip, int color[j] *回溯* int c=4; while (c==4) if (*ip<=0) return 0: --(*ip); c= (1) ; color[*ip]=-1; return c; *检查区域i,考查c种颜色的可能性 * int colorOK(iht i, int c, int adj[][N], int color[]) int j; for(j=0; j<i; j++) if ( (2) ) return 0; return 1; *为区域i选一种可着的颜色* int select(int i, int c, int adj[][N], int color[]) *寻找各种着色方案 adj[i][j]=1表示区域i与区域j不相邻* int k; for (k=c; k<=4; k++) *4种颜色* if (colorOK( (3) )) return k; return 0; int coloring(int adj[][N]) int color[N], i, c, cnt; for (i=0; i<N; i++) color[i]=-1: i=c=0; cnt=0; while (1) [ if ((c= (4) )==0) c=back(&i, color); if (c==0) return cnt; else (5) ; i++; if(i==N) output(color); ++cnt; c=back(&i, color); else c=0; void main() int adj[N][N]= 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0 ; printf( 共有%d 组解. n , coloring(adj));