mthoutai

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

题目:输入password登录到主界面,录入学生编号,排序后输出

n 1.  语言和环境

A、实现语言

C语言

B、环境要求

VC++ 6.0

n 2.  要求

请编写一个C语言程序。将若干学生编号按字母顺序(由小到大)输出。

程序的功能要求例如以下:

    1)  输入password“admin”,正确则进入主界面,错误则直接推出(exit0));

2)从键盘输入5学生编号“BJS1001”,“BJS2001”。“BJS1011”, “SHS2001”和“SHS1001”。

3)对这5学生编号进行排序。

4)将排序后的学生编号输出到屏幕上。

程序执行參考界面图如图所看到的:

 

1

 

2

 

n 3.  算法说明

比較学生编号中的字符大小。能够使用冒泡排序法或插入排序法来实现。

 

n 4.  推荐实现步骤

1、编写main函数

1) 定义一个用于存放学生编号的数组:char  str[5][20]; 

2) 依据指定的学生编号个数(要求5个),利用循环控制将键盘输入的学生编号存放到数组中(每次1个学生编号。循环接受gets(str[i])str[i]是每一个字符串的首地址)。

3) 调用排序子函数 Sort(),採用冒泡排序法或插入排序法对这5个学生编号进行从小到大的排序。(和普通一维数组的排序方法类似,用strcmpstr[i],str[i+1]>0作为推断条件比較字符串的大小。用strcpy(str[i],str[i+1]))和一个暂时字符数组temp[20]实现字符串的交换)。

4)实现排序后的学生编号的输出。

2、编写Sort()子函数

要求有2个參数:

1个參数是:參加排序的学生编号数组,char  name[5][20]

2个參数是:学生编号数组中学生编号的个数。int n

功能:

1) 利用循环对多个学生编号进行大小的比較。

2) 比較学生编号大小时要调用系统函数:

strcmp(string1, string2);

3) 使用冒泡排序法或选择排序法。

 

n 5.  注意事项

A、请注意在代码中加入必要的凝视;

B、请注意代码的书写、命名符合规范。

n 6.  提交内容

   提交程序代码



#include <stdio.h>
#include<string.h>
void main ()
{   


char mima[10];
int x[100];
int k,a,b,c,t;
printf("password:");
gets(mima);
while(1)
{
k=strcmp(mima,"123");
      if(k==0)
{
 printf("登陆成功。请继续操作");
 printf("请输入学生个数");
 scanf("%d",&a);
 for(b=0;b<a;b++)
 {
 printf("请输入第%d个学生编号",b+1);
 scanf("%d",&x[b]);
 
 }
 for(b=0;b<a-1;b++)
 {  for(c=0;c<a-b-1;c++)
 if(x[c]>x[c+1])
 {
 t=x[c];
 x[c]=x[c+1];
 x[c+1]=t;
 }
 }
 printf("结果是\n");
 for(b=0;b<a;b++)  printf("%d\n",x[b]);break;
}
}

}

 

posted on 2017-06-05 21:28  mthoutai  阅读(598)  评论(0编辑  收藏  举报