2012-12-10

 1.5名学生,每名学生有语文、数学和外语3门课的考试成绩。编程统计各学生的总分和平均分以及所有学生各科的平均分。要求成绩在程序中初始化,结果以表格的形式输出。

#include <stdio.h>
#define M 5   //五名学生
#define N 3   //三门课程
void readscore(int score[M][N]);     //输入函数
void sumscore(int score[M][N],int sum[]);    //每个学生成绩和
void average(int score[M][N],int ave[]);     //每个人平均分
int main()
{
    int score[M][N]={0},i,j,sum[M]={0},sum2=0;
    double ave[M]={0},ave1[N]={0};
    readscore(score);
    sumscore(score,sum);
    average(score,ave);
    printf("\n  \t语文  \t数学  \t英语  \t总分  \t平均分\n");
    for(i=0;i<M;i++)
    {
        for(j=0;j<N;j++)
        {
            printf("\t%2d",score[i][j]);
        }
        printf("\t%2d",sum[i]);
        printf("\t%.2f",ave[i]);
        printf("\n");
    }
    printf("\n平均分");                //各科成绩平均分
    for(i=0;i<N;i++)
    {
        sum2=0;
        for(j=0;j<M;j++)
        {
            sum2+=score[i][j];
        }
        ave1[i]=(double)sum2/M;
        printf("\t%.2f",ave[i]);
    }
    printf("\n");
    return 0;
}
void readscore(int score[M][N])     //输入函数
{
    int i,j;
    printf("请输入学生成绩\n");
    for(i=0;i<M;i++)
    {
        printf("请输入第%d个学生成绩\n",i+1);
        for(j=0;j<N;j++)
        {
            scanf("%d",&score[i][j]);
        }
    }
}
void sumscore(int score[M][N],int sum[])    //每个学生成绩和
{
    int i,j,sum1;
    for(i=0;i<M;i++)
    {
        sum1=0;
        for(j=0;j<N;j++)
        {
            sum1+=score[i][j];
        }
        sum[i]=sum1;
    }
}
void average(int score[M][N],double ave[])     //每个人平均分
{
    int i,j,sum;
    for(i=0;i<M;i++)
    {
        sum=0;
        for(j=0;j<N;j++)
        {
            sum+=score[i][j];
        }
        ave[i]=(double)sum/N;
    }
}

总结:注意变量名和地址名不能相同     注意输出格式的控制    行列别搞混

2.求任意方阵每行、每列、两对角线上元素之和。

#include <stdio.h>
#define N 100
#define M 100
int main()
{
    int arr[N][M],i,j,n,m,sum1=0,sum2=0;
    printf("请输入行列\n");
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
    {
        printf("请输入第%d行数字\n",i+1);
        for(j=0;j<m;j++)
        {
            scanf("%d",&arr[i][j]);
        }
    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            if(i==j)
            {
                sum1+=arr[i][j];
            }
            if(i+j==n-1)
            {
                sum2+=arr[i][j];
            }
        }
    }
    printf("对角线之和分别为%d   %d\n",sum1,sum2);
    return 0;
}

总结:找规律对角线的坐标i和j相等   或者  相加=n-1,   不要忘记给sum赋初值

知识点总结:

1.    二维数组      数组名【下标】【下标】,注意:下标值应在已定义的数组大小的范围内

2.   可以省略数组第一维的长度,不能省略第二维的长度

3.   在一维数组的输入与输出时,用一层循环来实现,在二维数组的输入与输出时,用两层循环来实现,即用外层循环来控制行数,用内层循环来控制列数

4.    二维数组虽然称作二维,但在计算机中存储时是一维的

时间: 2024-08-08 01:28:02

2012-12-10的相关文章

2012 12月

微博:@晓东日语 N1 能力考真题[2012.12][真题] 問題1 _____の言葉の読み方として最もよいものを.1.2.3.4から一つ選びなさ い. 従来の枠を超えて新しい分野に進出する企業が増えている. 1) かべ 2) わく 3) みぞ 4) ふち 2.この情報誌は国内の主な観光名所をほぼ網羅している 1) ぼうろう 2) もうろう 3) もうら 4) ぼうら このような賞を受けることは.私にとって大変名誉なことです 1) めいゆう 2) めいゆ 3) めいよう 4) めいよ 新商品の開

Ubuntu 12.10 安装vim出错

在Ubuntu 12.10中安装vim时出现了如下提示: 正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装.如果您用的是 unstable 发行版,这也许是因为系统无法达到您要求的状态造成的.该版本中可能会有一些您需要的软件包尚未被创建或是它们已被从新到(Incoming)目录移出.下列信息可能会对解决问题有所帮助:下列软件包有未满足的依赖关系: vim : 依赖: vim-common (= 2:7.3.429-2ubuntu2.1

【读书笔记】2016.12.10 《构建高性能Web站点》

本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 1.1 等待的真相 1.2 瓶颈在哪里 1.3 增加带宽 1.4 减少网页中的HTTP请求 1.5 加快服务器脚本计算速度 1.6 使用动态内容缓存 1.7 使用数据缓存 1.8 将动态内容静态化 1.9 更换Web服务器软件 1.10 页面组件分离 1.11 合理部署服务器 1.12 使用负载均衡 1.1

解决Ubuntu 12.10中ZIP文件名乱码的方法

转摘源地址:http://blog.csdn.net/jiangxinyu/article/details/8206395 安装(12.04及以上): 代码: sudo apt-get install unar 假设需要解压的ZIP包是foo.zip 代码: lsar foo.zip #列出所有文件 如果列出的文件名已经正确 代码: unar foo.zip #解压所有文件 如果列出的文件名还不正确 代码: lsar -e GB18030 foo.zip #指定使用GB18030编码列出所有文件

[转]Running KVM and Openvswitch on Ubuntu 12.10

Running KVM and Openvswitch on Ubuntu 12.10 I've got an aging VMWare ESXi 4.0 server that needs to be replaced with something a little more modern and flexing. Obviously at home I don't need all the cool features that licensed VMWare comes with, but

Ubuntu 13.04/12.10安装Oracle 11gR2图文教程(转)

Ubuntu 13.04/12.10安装Oracle 11gR2图文教程 原文标题:How to Install Oracle 11G R2 Enterprise Edition Database Ubuntu 12.10 / 12.04 注:原文出自:http://www.techienote.com/tag/oracle-database-11g-r2-on-ubuntu-12-04 Following is the how to for installing Oracle Database

Gerrit审核服务器搭建简易教程(Ubuntu 12.10)

原文出处:http://www.linuxidc.com/Linux/2013-02/79999.htm 1.安装Ubuntu12.xx(本人使用的是12.10,其他版本未测试) 2.配置java环境 下载jdk-6u34-linux-x64.bin(百度google),终端中执行安装(如没有权限,则执行 chmod a+x jdk-6u34-linux-x64.bin) $: ./jdk-6u34-linux-x64.bin 安装会自动执行.安装完后,配置相关环境变量 $: vim ~/.ba

ubuntu 12.10 sourcelist软件更新源列表(zz)

    ubuntu 12.10正式版已经发布了,国内各大开源软件源也陆续更新了资源.今天分享一下ubuntu 12.10 软件更新源列表. 首先,备份一下ubuntu 12.04 原来的源地址列表文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.old 然后进行修改sudo gedit /etc/apt/sources.list 可以在里面添加资源地址,我是直接覆盖掉原来的. 下面是网上找到的一些较好的源,有大型网站的,也有教育网的,可

Ubuntu 12.10 server 安装 Jenkins(搭建)

1.查看Java 是否安装 java -version 2.安装Jenkins wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt-get update su

在Ubuntu 12.10上安装VirtualBox

首先,根据以下官方指引进行安装: https://www.virtualbox.org/wiki/Linux_Downloads 因此,根据你的操作系统的版本号在/etc/apt/sources.list添加以下记录: deb http://download.virtualbox.org/virtualbox/debian trusty contrib deb http://download.virtualbox.org/virtualbox/debian saucy contrib deb h