1. 程式人生 > >輸入password登錄到主界面,錄入學生編號,排序後輸出

輸入password登錄到主界面,錄入學生編號,排序後輸出

交換 data 代碼 操作 ets 結果 bsp 6.0 include

n 題目:輸入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;
}
}

}

輸入password登錄到主界面,錄入學生編號,排序後輸出