早教吧作业答案频道 -->其他-->
C语言问题:对一个4×4的二维数组左下三角的全部元素(包含对角线上的元素)作如下变换:⑴若该数C语言问题:对一个4×4的二维数组左下三角的全部元素(包含对角线上的元素)作如下
题目详情
C语言问题:对一个4×4的二维数组左下三角的全部元素(包含对角线上的元素)作如下变换: ⑴若该数
C语言问题:对一个4×4的二维数组左下三角的全部元素(包含对角线上的元素)作如下变换:
⑴若该数是素数则用它的后继素数替换;
⑵ 若该数不是素数,则用0替换该数。
将变换后的数组及其数组左下三角的元素中的素数个数打印出来。
C语言问题:对一个4×4的二维数组左下三角的全部元素(包含对角线上的元素)作如下变换:
⑴若该数是素数则用它的后继素数替换;
⑵ 若该数不是素数,则用0替换该数。
将变换后的数组及其数组左下三角的元素中的素数个数打印出来。
▼优质解答
答案和解析
#include
int sushu(int x){
int i;
if (x<=3) return 1;
for(i=2;i*i<=x;i++)
if(x%i==0) return 0;
return 1;
}
int nextsushu(int x)
{
int i;
for(i=x+1;i<=x*2;i++)
if (sushu(i)) return i;
return 1;
}
int main(){
int a[4][4];
int i,j,n=3,m=0;
//为了方便,在此给数组赋初值
for(i=0;i<4;i++)
for(j=0;j<4;j++)
a[i][j]=++n;
printf("开始时的数组\n");
for(i=0;i<4;i++) {
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
for(i=0;i<4;i++)
for(j=0;j<=i;j++){
if (sushu(a[i][j])){
a[i][j]=nextsushu(a[i][j]);
m++;
}
else
a[i][j]=0;
}
printf("变换后的数组\n");
for(i=0;i<4;i++) {
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
printf("共变换了%d个素数\n",m);
}
int sushu(int x){
int i;
if (x<=3) return 1;
for(i=2;i*i<=x;i++)
if(x%i==0) return 0;
return 1;
}
int nextsushu(int x)
{
int i;
for(i=x+1;i<=x*2;i++)
if (sushu(i)) return i;
return 1;
}
int main(){
int a[4][4];
int i,j,n=3,m=0;
//为了方便,在此给数组赋初值
for(i=0;i<4;i++)
for(j=0;j<4;j++)
a[i][j]=++n;
printf("开始时的数组\n");
for(i=0;i<4;i++) {
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
for(i=0;i<4;i++)
for(j=0;j<=i;j++){
if (sushu(a[i][j])){
a[i][j]=nextsushu(a[i][j]);
m++;
}
else
a[i][j]=0;
}
printf("变换后的数组\n");
for(i=0;i<4;i++) {
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
printf("共变换了%d个素数\n",m);
}
看了 C语言问题:对一个4×4的二...的网友还看了以下:
如图三角形ABC中,AD是角平分线,角C等于二分之一角BAC,AC等于2AB,求证,角B等于90度 2020-05-16 …
(2014•青岛二模)如图,在四棱锥E-ABCD中,底面ABCD为正方形,AE⊥平面CDE,已知A 2020-05-17 …
如果向量a=(1,0,1),b=(O,1,1)分别平行于平面c与d,且都与这两个平面的交线L垂直, 2020-06-27 …
边长为4的菱形ABCD中,∠A=60°,E为线段CD上的中点,以BE为折痕,将△ACE折起,使得二 2020-07-27 …
在正四棱锥P-ABCD中,PA=2,直线PA与平面ABCD所成的角为60度,点E为PC的终点.1. 2020-07-30 …
如图,在矩形ABCD中,AB=2,BC=1,沿着对角线BD将三角形BCD折起,使得面ABD和面AB 2020-08-02 …
已知直二面角C-AB-D为直二面角,三角形ABC是以C为直角顶点的等腰直角三角形,三角形ABD是正 2020-08-02 …
已知矩形ABCD,AB=2,BC=1,沿对角线BD将△ABC折起,使二面角C-BD-A为直二面角, 2020-08-02 …
在矩形ABCD中,沿对角线BD把BCD折起,使C移到C’,且二面角C’-AB-D为直二面角,求证A 2020-08-02 …
立体几何~`平面a与平面b垂直,其交线为直线CD,点A在平面a内,点B在平面b内,且AB=2,直线 2020-08-02 …