第14、15周作业

---恢复内容开始---

#include<stdio.h>
int main()

{
    int n,i,a[10],b=0;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    for(i=0;i<n;i++){
        if(a[0]<a[i]){
            a[0]=a[i];
            b=i;
            }
    }
    printf("%d %d",a[0],b);
    return 0;
 } 
  • 设计思路:
  • 第一步:构建函数基本框架。
  • 第二步:定义变量n,i,b。对b赋0的初值。定义最大下标为9的整形数组。
  • 第三步:输入n,确定输入数组的数据的个数。
  • 第四步:将数据输入数组。
  • 第五步:将a[0]与数组中的其他数进行一一比较,将最大值移到a[0],并使用b记录下标。
  • 第六步:输出a[0]和b。
  • 流程图:
  • 遇到的问题:开始时遇到输入的一组数中有两个及以上最大值时,输出了那个较大的下标。
  • 解决方法:逐步调试,发现只要将a[0]<=a[i]改成a[0]<a[i]就行了。
  • #include<stdio.h>
    int main()
    {
        int a[10],i,n,b,c,d,e;
        scanf("%d",&n);
        for(i=0;i<n;i++){
            scanf("%d",&a[i]);
            }
            b=a[0];
            c=a[n-1];
        for(i=0;i<n;i++){
            if(b>=a[i]){
                b=a[i];
                d=i;
            }
        }
         a[d]=a[0];
         a[0]=b;
        for(i=0;i<n;i++){
            if(c<=a[i]){
                c=a[i];
                e=i;
            }
        }
        a[e]=a[n-1];
        a[n-1]=c;
        for(i=0;i<n;i++){
            printf("%d ",a[i]);
        }
        return 0;
    }
  • 第一步:构建函数基本框架。
  • 第二步:定义数组a[10],变量i,n,b,c,d,e。
  • 第三步:将数据输入数组,将a[0],a[n-1]分别赋值给b,c。
  • 第三步:将最小值移动到b,并记录下下标,将a[0]的值与最小值互换。
  • 第四步:将最大值移动到c,并记录下下标,在新顺序里,将a[n-1]的值与最大值互换。
  • 第五步:输出数组a[i].
  • 流程图:
  • 遇到的问题:输入例题,输出的格式与例题的答案不对。
  • 解决方法:将最小值与a[0]值的互换,放在找出最小值和下标之后。也就是a[d]=a[0];a[0]=b;  放在第二个for循环之后。
  • #include<stdio.h>
    int main()
    {
        int a[10],k,n,i,b,c;
        scanf("%d %d",&n,&k);
        for(i=0;i<n;i++){
            scanf("%d",&a[i]);
        }
        for(i=1;i<=k;i++){
            for(b=0;b<n-i;b++){
                if(a[b]>a[b+1]){
                    c=a[b];
                    a[b]=a[b+1];
                    a[b+1]=c;
                }
            }
        }
        for(i=0;i<n-1;i++){
            printf("%d ",a[i]);
        }
        if(i==n-1){
            printf("%d",a[i]);
        }
        return 0;
    }
  • 第一步:构建函数基本框架。
  • 第二步:定义数组a[10],和变量k,n,i,b,c;
  • 第三步:输入n和k。
  • 第四步:将数据存入数组a。
  • 第五步:用起泡法两两比较互换,将原本外层循环的n改为k。
  • 第六步:输出按照格式输出数组,数组最后一个数不要加空格。
  • 流程图:
  • 遇到的问题:扫描的次数k不知道放到哪里,多次调试之后,才知道k应该放在外层循环。
  • #include<stdio.h>
    int main()
    {
        int a[12],i,b=2;
        a[0]=a[1]=1;
        for(i=2;i<12;i++){
            a[i]=a[i-1]+a[i-2];
        }
        for(i=0;i<12;i++){
            printf("%6d",a[i]);
            if(i==b){
                b=b+3;
                printf("\n");
            }
        }
        return 0;
    }
  • 第一步:构建函数基本框架。
  • 第二步:定义数组a[12]、i、b。并且b=2,a[0]=a[1]=1;
  • 第三步:计算下一个数据a[i]=a[i-1]+a[i-2]。
  • 第四步:顺序输出数组a。
  • 流程图:
  • 遇到的错误:输出的数据无法形成矩阵。
  • 解决方法:输出时加一个判断当i=2、5、8、11……输出\n符号。
  • git地址:https://git.coding.net/Myboss/Homework.git
  • 个人总结(涉及的知识点):1:数组的定义:数组定义时必须是整数表达式,不能是变量。2:数组的下标是从零开始的。3:赋初值时需要对数据加大括号,不能只输入一个数据就对整个数组赋初值。4.二维数组的定义第一个中括号是行数,第二个中括号是列数。5.当确定数据个数时,可以省略行或列。6.使用数据时不能超出数组的范围。7.二维数组的输入和输出是使用双层循环。8.对数组有选择排序法,和冒泡排序法。
  • 代码行数 时间 博客字数 时间 涉及知识点
    151 4h 300字左右 4h ————————
  • 截图:
时间: 2024-11-13 10:28:13

第14、15周作业的相关文章

第14.15周作业

要求一:已完成 要求二: 题目7-1 输出数组元素 1.实验代码 #include<stdio.h> int main() { const int N=10; int i,a[N],b[N],n; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } for(i=1;i<n;i++) { b[i]=a[i]-a[i-1]; } for(i=1;i<n;i++) {

第14/15周作业---郭志康

7-3 求整数序列中出现次数最多的数 #include<stdio.h> int main() { int N,i,j,count=0; scanf("%d",&N); int num[N]; for(i=0;i<N;i++) { scanf("%d",&num[i]);//给数组一一赋值 } int sum=0,index=0;//引进sum的目的:为了防止下一趟循环的count值与这本次累加 //所以每次都需要将count归零,

第 14 15周作业

要求一: 7-3 将数组中的数逆序存放 一 实验代码: #include <stdio.h> int main() { int i, n, swap, array[10]; scanf("%d", &n); for (i = 0; i < n; i++) scanf("%d", &array[i]); for (i = 0; i < n/2; i++) { swap = array[i]; array[i] = array[n

14、15周作业

要求二 题目7-4 fibonacci 1.实验代码 #include <stdio.h> int main(void) { int i; int fib[12]; fib[0]=1; for(i=1;i<12;i++) fib[i]=fib[i-1]+fib[i-2]; for(i=0;i<12;i++){ printf("%6d",fib[i]); if((i+1)%3==0) printf("\n"); } return 0; } 2.

第14、15周作业。

2.(1)第一步:利用循环计算平均值.     第二步:将每个数与平均值比较并将小于平均值的输出.   (2) 需要定义的a[i]的值没有放到正确位置,经过反复实验解决. 二. 1. #include<stdio.h> #define m 4 #define n 4 int main() { int a[m][n]={0},i,j,sum=0; for(i=0;i<4;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]);

第14,15周作业

要求二 题目7-1数组中偶数的和 #include <stdio.h> int main() { int a[10]; int i,s=0; for(i=0;i<10;i++) { scanf("%d",&a[i]); if (a[i]%2==0) { s=a[i]+s; } } printf("s=%d",s); return 0; } 2.设计思路 (1)题目算法 第一步:定义数组a[10],循环变量i,总和s. 第二步:定义变量初始值

第14丶15周作业

一.题目: 1. 求矩阵各行元素之和: 代码: #include<stdio.h> int main() { int m,n,i,j; scanf("%d %d",&m,&n); int a[m][n],b[i]; for ( i = 0; i < m;i++ ) { for ( j = 0; j < n;j++ ) { scanf("%d", &a[i][j]); } } for ( i = 0; i < m;

软件工程第三周作业:微软必应词典案例分析

0x01 :微软必应词典案例分析 0x0104 :微软必应词典功能性BUG说明       0x010404 : BUG – 1 – 模块功能未实现 运行环境或平台 iOS 9.0.1 必应词典软件版本 版本3.5,版权所有@2014 Microsoft 软件测试BUG特征 [优先级1]应用程序模块功能未实现,包含整个模块不能正常运行 重现步骤 1. 打开必应词典软件进入设置中,选择跨软件查词设置,设置为打开和一直运行 2. 按照使用说明所说随意打开某一App(这里选择提醒事项) 3. 按使用说

python基础周作业

python基础周作业 1.执行python脚本的两种方法 脚本前面直接指定解释器 在脚本开始前声明解释器 2.简述位,字节的关系 每一个字节占用八个比特位 3, 简述ascii.unicode.utf- ‐8.gbk的关系 utf--‐8 <-- unicode <-- gbk <-- ascii 按此方向兼容 4..请写出"李杰"分别用utf- ‐8和gbk编码所占的位数 "李杰" 占用utf -8 占6字节 , gbk 占用4字节 5.pyt