首页 > 编程语言 >程序设计进阶模拟试题

程序设计进阶模拟试题

时间:2023-05-21 23:05:55浏览次数:35  
标签:进阶 ++ int printf fun 程序设计 4d include 试题

题目描述

程序定义了NxN的二维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:使数组右上三角元素中的值乘以m 。
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 5
int fun ( int a[][N], int m )
/不得改动此注释文字及位置,begein/
{

}
/不得改动此注释文字及位置,end/
NONO( )
{
FILE *rf, *wf ;
int i, j, n, a[5][5] ;

rf = fopen(“bc02.in”, “r”) ;
wf = fopen(“bc02.out”, “w”) ;
for(i = 0 ; i < 5 ; i++)
for(j = 0 ; j < 5 ; j++)
fscanf(rf, “%d “, &a[i][j]) ;
fscanf(rf, “%d”, &n) ;
fun(a, n) ;
for ( i = 0; i < 5; i++ ) {
for ( j = 0; j < 5; j++ )
fprintf(wf, “%4d”, a[i][j] );
fprintf(wf, “\n”);
}
fclose(rf) ;
fclose(wf) ;
}
main ( )
{ int a[N][N], m, i, j;
printf(”***** The array *****\n”);
for ( i =0; i<N; i++ )
{ for ( j =0; j<N; j++ )
{ a[i][j] = rand()%20; printf( “%4d”, a[i][j] ); }
printf(“\n”);
}
do m = rand()%10 ; while ( m>=3 );
printf(“m = %4d\n”,m);
fun ( a ,m );
printf (“THE RESULT\n”);
for ( i =0; i<N; i++ )
{ for ( j =0; j<N; j++ ) printf( “%4d”, a[i][j] );
printf(“\n”);
}
NONO ( );
}

题解

参考下面的代码,该函数将循环遍历数组的右上三角形并对其中的每个元素乘以m,这样就能够得到实现要求。

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define  N  5

int fun(int a[][N], int m) {
  int i, j;
  for (i = 0; i < N; i++) {
    for (j = i + 1; j < N; j++) {
      a[i][j] *= m;
    }
  }
  return 0;
}

int main() {
  int a[N][N], m, i, j;
  printf("***** The array *****\n");
  for (i = 0; i < N; i++) {
    for (j = 0; j < N; j++) {
      a[i][j] = rand() % 20;
      printf("%4d", a[i][j]);
    }
    printf("\n");
  }
  do m = rand() % 10; while (m >= 3);
  printf("m = %4d\n", m);
  fun(a, m);
  printf("THE  RESULT\n");
  for (i = 0; i < N; i++) {
    for (j = 0; j < N; j++) {
      printf("%4d", a[i][j]);
    }
    printf("\n");
  }
  return 0;
}


这个程序的功能是创建一个NxN的二维整数数组,将其填充随机值,在主函数中调用函数fun来将数组的右上三角元素乘以给定的m,然后打印结果数组。在函数fun中,我们使用了一个双重循环,其中i循环表示行数,j循环表示列数。我们只遍历右上三角形,例如当i为0时,j的初始值应该为1,以避免重复计算。在循环中,我们只针对右上三角元素,也就是i小于j的元素进行处理,乘以给定的m。

最后,我们使用两个for循环在主函数中打印原始的和修改后的两个数组。我们在每行中打印数组元素,这样可以使输出更容易阅读。

标签:进阶,++,int,printf,fun,程序设计,4d,include,试题
From: https://blog.51cto.com/u_16060410/6320519

相关文章

  • NOIP2018普及组试题题解
    1.标题统计原题:https://www.luogu.com.cn/problem/P5015#include<bits/stdc++.h>#definelllonglongusingnamespacestd;strings;intans=0;intmain(){ getline(cin,s);intlen=s.length(); for(inti=0;i<len;i++){ if(s[i]>='0'&&......
  • 经典面试题
    TC经典面试题1.赛马问题WY经典面试题2.:烧香问题砝码称重问题有36匹马,6个跑道,在没有计时器的情况下,至少需要赛马多少次,才能比出前三名?答案:至少需要比较8次。解题思路:先把36匹马平均分成6组,假设为A,B,C,D,E,F,让每组的马赛跑一次,假设各组的名次分别为A1>A2>A3>A4>A5>A6,其他组也是如此,决......
  • Vue进阶(九十八):Vue.set() 和 this.$set()
    (文章目录)一、应用场景有时候我们会看到如下代码:在我们使用vue进行开发的过程中,可能会遇到这样一种情况:当创建vue实例后,再次给对象赋值时,发现数据并不会自动更新到视图上去;当我们去阅读vue文档的时候,会发现有这么一句话:如果在实例创建之后添加新的属性到实例上,它不会触发视图......
  • react面试题汇总1
    请介绍一下React的生命周期函数及其调用顺序。答:React的生命周期函数分为三个阶段:挂载、更新和卸载。以下是各个生命周期函数的名称及调用顺序:挂载阶段constructor():组件构造函数,在最开始时调用。staticgetDerivedStateFromProps():从props中派生出state,返回新的state值,会在render......
  • Midjourney|文心一格prompt教程[进阶篇]:Midjourney Prompt 高级参数、各版本差异、官
    Midjourney|文心一格prompt教程[进阶篇]:MidjourneyPrompt高级参数、各版本差异、官方提供常见问题1.MidjourneyPrompt高级参数Quality图片质量是另一个我比较常用的属性,首先需要注意这个参数并不影响分辨率,并不改变分辨率,并不改变分辨率(重要的事情要说三遍)。它改变的更多......
  • C/C++程序设计课设题[2023-05-20]
    C/C++程序设计课设题[2023-05-20]ATM仿真系统-薛景背单词-叶水仙-理科实验班电信优惠套餐推荐系统的设计与实现-朱立华-通信工程多媒体文件管理及检索系统-刘林峰-广播电视工程公交路线自动化选择系统实现-张勤-测控技术与仪器基于朋友圈的商品推荐-汪云云-自动化基于数据......
  • 程序设计进阶模拟试题
    题目描述请编写函数tun。西数的功能是。统计各年龄段的人数。1个年秘通过调用淹机函数获得,并放在主面救的ke数组中,要求函数赶1至虫9乡年龄段的人敷放在d01户中,把0至9岁年龄段的人数放1d门1中,把2.至沙岁年龄段社人数放在d[2]中,其余依此类推,把100岁(含100)以上年龄的人数都放在d[10]......
  • vue面试题汇总1
    Vue中什么是组件?答:在Vue中,组件是可重用的代码块,可以包含HTML、CSS和JavaScript,并具有自己的状态和生命周期。可以使用组件来构建UI界面并管理应用程序的状态。简要描述Vue的数据绑定方式。答:Vue使用双向数据绑定(two-waydatabinding)方式将模型数据和视图绑定在一起。当视图中的数......
  • Vue进阶(九十七):对象动态添加属性和值
    (文章目录)一、背景Vue规定不允许直接修改props或者data属性,必须使用Vue.set方法。Vue.set方法用来修改对象属性。如果要增加属性所属对象是响应式的,该方法可以确保属性被创建后也是响应式的,同时触发视图更新。二、基础知识注:修改的对象必须为响应式对象,且操作响应式对象的属......
  • y总算法基础课+算法提高课+算法进阶课超全模板
    y总超全算法模板y总模板自取喜欢的可以点个赞支持一下^-^模板展示......