谁获得了最高奖金

来源:互联网 发布:c 数组删除指定位置 编辑:程序博客网 时间:2024/06/03 12:59
/*  * 程序的版权和版本声明部分:  * Copyright (c) 2014,郑州大学SIAS国际学院    * 作    者:  王  杰* 完成日期:2014 年 1 月 15 日  *  * 对任务及求解方法的描述部分:* 输入描述: 略或见注释、总结* 问题描述: 略或见注释、总结* 程序输出: 略或见注释、总结* 问题分析: 略或见注释、总结* 算法设计: 略或见注释、总结*/#include<stdio.h>#include<string.h>      //有点疑问,在编译器里不加string头文件也可以通过,但是在OJ上提交就编译错误,加上就通过......int main(){    int n,m;    char name[23];    char name1[23];    int qim,banj,lunw;    char ganb,xibu;    int jiangj,sum,zuid;    int t;    scanf("%d",&n);    //printf("%d\n",n);   //出错的时候的找错方法,就是把变量每个状态对应的值printf    while(n--){        sum=zuid=0;        scanf("%d",&m);        //printf("%d\n",m);        while(m--){     //每输入一个人的就求出结果,然后保存到数组里,直到m个人的全部计算完            //scanf("%s",&name[m][]);            //gets(name);            //getchar();            scanf("%s %d %d %c %c %d",name,&qim,&banj,&ganb,&xibu,&lunw);   //这里的格式控制符之间要有一个空格......            //这里还有一个小不解,输入一个字符串对于数组,加&与不加都一样......            //printf("%d %d %c % c %d\n",qim,banj,ganb,xibu,lunw);            jiangj=0;            if(qim>80 && lunw>=1){                jiangj+=8000;            }            if(qim>85 && banj>80){                jiangj+=4000;            }            if(qim>90){                jiangj+=2000;            }            if(qim>85 && xibu=='Y'){                jiangj+=1000;            }            if(banj>80 && ganb=='Y'){                jiangj+=850;            }            if(jiangj>zuid){    //要注意变量每个时刻的值,特别是要常用一个变量的时候                //t=m;    //t的作用是路标,记住当前奖金最大的人的名字所在的数组位置(行)                strcpy(name1,name);     //这个函数还不是太了解,导致浪费了很多时间            }            sum+=jiangj;            //printf("%d %d\n",jiangj,sum);  //出错的时候的找错方法,就是把变量每个状态对应的值printf            zuid=zuid>=jiangj?zuid:jiangj;            //printf("%d %d\n",jiangj,zuid);        }        //printf("%s\n",name[t]);        printf("%s\n",name1);        printf("%d\n",zuid);        printf("%d\n",sum);    }    return 0;}


运行结果:


strcpy函数:

#include <iostream>using namespace std;int main(){int n;scanf("%d",&n);while(n--){char name[21],name1[21];scanf("%s",name);//&name 也可以,怎么回事?strcpy(name1,name);printf("%s\n",name1);}return 0;}

运行结果:


总结:详见注释。加强库函数的学习

0 0