(1) 编写程序:将大于m且紧靠m的k个素数存入数组中,m和k从键盘上输入。例如,若输入17、5,则应输出:19、23、29、31、37。
(2) 编写程序:设置使4×4的二维数组的边界元素设为0;
(3) 编写程序:实现B=A+A′,即把矩阵A加上A的转置,存放在矩阵B中。
(4)设置使4×4的二维数组左下三角元素中的值乘以n,n从键盘上输入。
一、
#include "stdio.h"
#include <stdlib.h>
int prime(int n){//素数判断
int i;
if(n>2 && !(n&1) || n<2)
return 0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return 0;
return 1;
}
int main(int argc,char *argv[]){
int m,k,*pk,i;
printf("Please enter m & k(int 0<m,k)...\n");
if(scanf("%d%d",&m,&k)!=2 || m<1 || k<1){
printf("Input error, exit...\n");
return 0;
}
if((pk=(int *)malloc(sizeof(int)*k))==NULL){
printf("Application memory failure, exit...\n");
return 0;
}
for(m++,i=0;i<k;m++)
if(prime(m))
printf("%d ",pk[i++]=m);
free(pk);
printf("\n");
return 0;
}
代码格式和运行样例图片:
二、
#include "stdio.h"
int main(int argc,char *argv[]){
int a[4][4],i,j;
for(i=0;i<4;i++){
for(j=0;j<4;j++)
printf("%3d",a[i][j] = i==0 || j==0 || i==3 || j==3 ? 0 : i*4+j+1);
printf("\n");
}
return 0;
}
代码格式和运行样例图片:
三、
#include "stdio.h"
#define N 5
int main(int argc,char *argv[]){
int A[N][N],B[N][N],i,j,k;
for(i=0;i<N;i++)
for(j=0;j<N;A[i][j++]=i*N+j+1);
for(i=0;i<N;i++){
for(j=0;j<N;printf("%3d",B[i][j++]=A[i][j]+A[j][i]));
printf("\n");
}
return 0;
}
代码格式和运行样例图片:
四、
#include "stdio.h"
int main(int argc,char *argv[]){
int a[4][4],i,j,n;
printf("Enter n(int)...\n");
scanf("%d",&n);
printf("The original matrix:\n");
for(i=0;i<4;i++){
for(j=0;j<4;printf("%3d",a[i][j++]=i*4+j+1));
printf("\n");
}
printf("\nAfter processing:\n");
for(i=0;i<4;i++){
for(j=0;j<4;printf("%3d",a[i][j++]))
if(j<=i)
a[i][j]*=n;
printf("\n");
}
return 0;
}
代码格式和运行样例图片: