首页 > 编程语言 >C语言程序设计 练习题参考答案 第四章 (2) 二维数组

C语言程序设计 练习题参考答案 第四章 (2) 二维数组

时间:2023-11-08 11:08:05浏览次数:43  
标签:练习题 sub temp max 交换 C语言 绝对值 && 参考答案

/*  4.16  5*5矩阵中每行的绝对值最大值,与同行对角线交换*/
#include "stdio.h"
#include "math.h"
void main()
{
   int a[5][5]={{1,2,3,4,-5},{3,5,-2,4,2},{4,1,2,3,-2},
                {1,3,-2,4,6},{2,2,0,7,4}} ;
   int i,k,max,sub,temp;
   /* i 循环变量,控制行, k 循环变量,控制列,max 当前最大绝对值,sub 当前最大绝对值元素的下标
    temp 临时用于交换的变量 */    printf("交换之前,输出\n");  /*交换之前,输出*/
   for(i=0;i<=4;i++)
   {
      for(k=0;k<=4;k++)
            printf("%4d",a[i][k]);
      printf("\n");
   }
   /*交换*/
   for(i=0;i<=4;i++)
   {
      /*假设第一个元素最大*/
      max=fabs(a[i][0]);  sub=0;
      /*寻找绝对值最大的元素记下下标*/
      for(k=1;k<=4;k++)
      {
       if(fabs(a[i][k])>max)
         {
           max=fabs(a[i][k]);  sub=k;
         }
      }
      /*交换*/
      temp=a[i][i];  a[i][i]=a[i][sub];  a[i][sub]=temp;
   }
   /*交换之后,输出*/
   printf("交换之后,输出\n");
   for(i=0;i<=4;i++)
   {
      for(k=0;k<=4;k++)
           printf("%4d",a[i][k]);
      printf("\n");
   }}
/*  4.17 在一个一维数组中存放任意4个数,如:5,1,8,6,生成如下矩阵
 5 5 5 5 5 5 5
 5 1 1 1 1 1 5
 5 1 8 8 8 1 5
 5 1 8 6 8 1 5
 5 1 8 8 8 1 5
 5 1 1 1 1 1 5
 5 5 5 5 5 5 5
*/
#include "stdio.h"
#include "conio.h"
void main()
{
    int FourNumbers[4], array[7][7], i , row, column;
    printf("请输入4个整数\n");
    scanf("%d%d%d%d",&FourNumbers[0],&FourNumbers[1],&FourNumbers[2],&FourNumbers[3]);
    for(i=0;i<=3;i++)
    {
        for(row=i;row<=6-i;row++)
        {
           for(column=i;column<=6-i;column++)
               array[row][column]=FourNumbers[i];
        }
    }
    /* 输出矩阵 */
    for(row=0;row<=6;row++)
    {
        for(column=0;column<=6;column++)
            printf("%4d",array[row][column]);
        printf("\n");
    }
    getch();
}
/* 习题4.19 对一行电文加密,每个字母转换为字母表中循环右移的第三个字母, a-d, b-e, ......z-c */#include "stdio.h"
void main()
{    int c;
    while((c=getchar())!='\n')
    {
        if( (c>='a' && c<='z') || (c>='A' && c<='Z') )
        {
          c=c+3;
          if ((c>'Z' && c<='Z'+3) || c>'z')
            c=c-26;        }
        putchar(c);    }
}

标签:练习题,sub,temp,max,交换,C语言,绝对值,&&,参考答案
From: https://blog.51cto.com/emanlee/8246496

相关文章

  • C语言程序设计 练习题参考答案 第四章 (3) 字符数组
     /*  例4.19 电文加密,每个字母转换为字母表中循环右移的第三个字母,解法一 */#include"stdio.h"voidmain(){chars[256];inti=0;printf("请输入一行字符,之后按回车键\n");gets(s);while(s[i]!=0){if(s[i]>=65&&s[i]<=87)/*A-W*/......
  • C语言程序设计 练习题参考答案 第五章 (1) 函数定义调用
    /*5.6编写函数,输出所有水仙花数*/#include"stdio.h"intisdaffodil(intn);/*isdaffodil函数原型声明*/voidmain(){inti;for(i=100;i<=999;i++)if(isdaffodil(i))printf("%5d",i);}intisdaffodil(intn)/*is......
  • C语言程序设计 练习题参考答案 第五章 (2) 递归函数
    /*5.10编写函数,求Fibonacci数列的第n项*/#include"stdio.h"intfibonacci(intn);voidmain(){intn;printf("求Fibonacci数列的第n项,请输入n\n");scanf("%d",&n);/*VC6中n要小于?*/printf("Fibonacci数列的第%d项为%d",n,......
  • C语言程序设计 课程实施细则
    C语言程序设计-课程实施细则课程学时:36+20教材:《C语言程序设计教程》  西安交通大学出版社  张毅坤等编著实验指导书:《C语言程序设计教程学习指南与实验指导》西安交通大学出版社  张毅坤等编著金花校区东门口书店有售。 第1章  概述            ......
  • C语言程序设计 练习题参考答案 第三章 (3) 循环结构
    /*3.9求派的值*/#include"stdio.h"voidmain(){intn;doublesum=0;for(n=1;n<=10000;n++){sum=sum+1.0/(4*n-3)-1.0/(4*n-1);}printf("pi的值为%lf\n",4*sum);}/*3.9求派的值*/#include<stdio.......
  • C语言程序设计 练习题参考答案 第六章 (1) 结构体 综合练习
    /*6.910个学生,每个学生3门课程成绩,求平均分及前五名*/#include"stdio.h"#include"conio.h"#defineN6structstudent/*定义结构体数据类型*/{intnum;charname[10];intscore[3];/*不能使用float*/floataverage;};voidsort(structstudentstu......
  • C语言程序设计 要求掌握的例题和习题
    以下的例题和习题要求掌握。 第1章  概述              2学时 第2章基本数据类型、运算符及表达式        2学时习题:2.7, 2.8, 2.11, 2.12, 2.13, 2.14, 2.15第3章 基本结构程序设计                       8学时例题: ......
  • C语言程序设计 随机函数的使用-随机点名做习题
    /*---------------------------------------随机点名做习题Author:emanleeDate:2008-04-24---------------------------------------*/#include"stdio.h"#include"conio.h"#include"time.h"voidmain(){intcount=4......
  • C语言程序设计 选择排序简介
    选择排序选择排序是通过每一趟排序过程中从待排序记录中选择出关键字最小(大)的记录,将其依次放在数据表的最前或最后端的方法来实现整个数据表的有序排列。本节将介绍选择排序方法中最简单且最常用的简单选择排序。选择排序基本思想 第一趟排序在所有待排序的n个记录中选出关键字最......
  • C语言程序设计 冒泡排序简介
    冒泡排序基本思想将n个记录看作按纵向排列,每趟排序时自下至上对每对相邻记录进行比较,若次序不符合要求(逆序)就交换。每趟排序结束时都能使排序范围内关键字最小的记录象一个气泡一样升到表上端的对应位置,整个排序过程共进行n-1趟,依次将关键字最小、次小、第三小…的各个记录“冒到......