脑袋困掉惹 2021-05-15 09:14 采纳率: 100%
浏览 301
已采纳

有一道c++的编程题 有大神会嘛

【题目】编写程序,将4×4矩阵包括主对角线在内的右上三角区域内的数组元素做如 下判断和变换:如果该数是素数则用大于该数的最小素数替换;否则保持原数不变,同时 统计包括主对角线在内的右上三角区域内的元素中素数的个数 程序的输出结果为: 变换前的数组a 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 变换后的数组a 1 3 5 4 5 6 11 8 9 10 13 12 13 14 15 16 素数个数:4

  • 写回答

4条回答 默认 最新

  • qfl_sdu 2021-05-15 11:21
    关注

    代码如下,如有帮助,请采纳一下,谢谢。

    #include <stdio.h>
    #include <string>
    //判断是否是素数
    bool isSushu(int n)
    {
    	if(n <2) return false;
    	for (int i = 2; i < n; i++)
    	{
    		if (n %i == 0)
    		{
    			return false;
    		}
    	}
    	return true;
    }
    
    //求大于n的最小素数
    int sushu(int n)
    {
    	int d = n+1;
    	while(true)
    	{
    		int i = 2;
    		for (; i < d; i++)
    		{
    			if (d %i == 0)
    			{
    				d++;
    				break;
    			}
    		}
    		if (i == d)
    		{
    			return d;
    		}
    	}
    }
    
    
    int main()
    {
    	int a[4][4] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
    	for (int i = 0; i < 4;i++)
    	{
    		for(int j = i; j < 4; j++)
    		{
    			if (isSushu(a[i][j]))
    			{
    				a[i][j] = sushu(a[i][j]);
    			}
    		}
    	}
    
    	for (int i =0; i < 4;i++)
    	{
    		for (int j = 0; j < 4;j++)
    		{
    			printf("%d ",a[i][j]);
    		}
    		printf("\n");
    	}
    	
    	getchar();
    	getchar();
    	return 0;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿