二维字符串数组的输入、输出方式 以及冒泡法排序

1、以下代码中包含二维字符串数组的输入及输出方式  以及冒泡法

// test009.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "stdio.h"
#include "string.h"
int main(int argc, char* argv[])
{

	int i=0;
	int j=0;
	int count=3;      /*拟录取人数*/
	char name[3][30];   /*考生姓名,定义二维的字符串数组,字符串个数为3,长度为30*/
	char name1[30];
	double sum[3];
	double temp1=0.0;
    double temp2=0.0;
	double temp3=0.0;
	double chu[3];         /*考生初试成绩*/
	double chu1=0.0;
	double fu[3];          /*考生复试成绩*/
	double fu1=0.0;
	printf("2015年上海大学机械工程研究生拟录取名单成绩排名(按0.4:0.6)\n\n");
	printf("请输入考生名字、初试成绩、复试成绩(用空格键隔开):\n");
	for(i=0;i<3;i++)
	{
		scanf("%s %lf %lf",&name[i],&chu[i],&fu[i]);//二维字符串数组的输入方式
		getchar();
		sum[i]=0.4*chu[i]+0.6*fu[i];
	}
	printf("\t名次\t姓名\t初试成绩\t复试成绩\t总成绩\n");
	for(i=0;i<=count-1;i++)            //冒泡排序法
	{
		for(j=i;j<=count-2;j++)
			if(sum[i]<=sum[j+1])
			{
			  temp1=sum[i];            //数值替换
			  sum[i]=sum[j+1];
              sum[j+1]=temp1;

                strcpy(name1,name[i]);         //字符串的传递方法
                strcpy(name[i],name[j+1]);
                strcpy(name[j+1],name1);

              temp2=chu[i];
			  chu[i]=chu[j+1];
              chu[j+1]=temp2;
			  
			  temp3=fu[i];
			  fu[i]=fu[j+1];
              fu[j+1]=temp3;
			  
			}
			printf("\n\t%d\t%s  \t%.0lf  \t\t%.0lf\t\t%.2lf",i+1,&name[i],chu[i],fu[i],sum[i]);//二维字符串的输出方式
	}
	printf("\n");
	
	return 0;
	
}


你可能感兴趣的:(C/C++)