1. excel:如何根據條件生成學號高分急求!!!
第一行標題,A學校名稱,B年級
,C班級,D姓名,E學號
為了自動生成編號,需要建立輔助的對照表:
在G:H列建立輔助列:G列學校名,H列編號(1-2位數字)
在J:K列建立輔助列:J列年級,K列編號(2位數字)
在M:N列建立輔助列:M列班級,N列編號(2位數字)
****這是為了說明問題,也可以在不同的工作表中分別建立三個索引表
E2公式如下
=VLOOKUP(B2,J:K,2,0)&"07"&TEXT(VLOOKUP(A2,G:H,2,0),"00")&"?"&VLOOKUP(C2,M:N,2,0)&TEXT(ROW(1:1),"00")
下拉填充
****題目中說「第一二位:由年級而定」「第七位:年級」是不是搞錯了,我先用問號代替了。
這個表可以做的更規范,ABC列都可以用下拉條來選擇。
圖太大就不傳了,如果需要給你EXCEL文件
2. 程序每次運行輸出隨機的學號和姓名 運用c語言
這種類數據多採用學號作為關鍵字,那麼可以採用隨機數函數rand();來產生一個隨機信號。
rand()%M+N;(M為學生數目,N為最小學號數),即可產生一個隨機學號,根據學號檢索姓名就可以了。
rand的調用要初始化,調用之前先執行srand();這兩個函數的頭文件為#include<stdlib.h>
#include<stdio.h>
#include<stdlib.h>
voidmain()
{
intb;
srand(34);//34為種子數,可以為任意值
b=rand()%M+N;
}
3. java讀取文件內容並計算後格式輸出!
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class TestFile {
private static File file = new File("student");
/**
* 從文件student讀入學生成績,文件格式為
*
* 000 XXX 100 100 100
*
*/
public static void read() throws Exception {
List<Student> stus = new ArrayList<Student>();
// 讀文件操作
BufferedReader fr = new BufferedReader(new FileReader(file));
String line = null;
// 讀取每一行,如果結束了,line會為空
while ((line = fr.readLine()) != null && line.trim().length() > 0) {
// 每一行創建一個Student對象,並存入數組中
stus.add(new Student(line));
}
fr.close();
// 排序這個List
Collections.sort(stus);
// 依次列印每個學生
for (Student stu : stus) {
System.out.println(stu);
}
}
/**
*
* 贈送的方法
*
* 隨機生成文件,length代表要生成幾個學生
*
* lenth必須小於1000,未做判斷
*
* @param length
*/
public static void randomFile(int length) throws IOException {
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file);
StringBuffer sb = new StringBuffer();
Random rd = new Random();
for (int i = 0; i < length; i++) {
// 清空StringBuffer
sb.delete(0, sb.length());
if (i < 10) {
sb.append("00");
} else if (i < 100) {
sb.append("0");
}
sb.append(i + " ");
sb.append("name" + i + " ");
sb.append(rd.nextInt(100) + " ");
sb.append(rd.nextInt(100) + " ");
sb.append(rd.nextInt(100) + "\r\n");
fw.write(sb.toString());
}
fw.close();
}
public static void main(String[] args) throws Exception {
read();
}
/**
* 定義一個學生類,簡單定義一個成員為String數組,依次代表
*
* 學號 姓名 課程1 課程2 課程3
*
* 實現Comparable介面,是為了排序所用
*
*/
private static class Student implements Comparable<Student> {
private String[] str;
public Student(String line) {
// 這里應該進行錯誤判斷
// 比如成績是否是整型等
str = line.trim().split(" ");
}
// 獲取學生平均成績
public double getAve() {
double c1 = Double.parseDouble(str[2]);
double c2 = Double.parseDouble(str[3]);
double c3 = Double.parseDouble(str[4]);
return (c1 + c2 + c3) / 3;
}
// 實現該方法,如果小於返回-1,大於返回1,相等返回0
public int compareTo(Student o) {
if (this.getAve() > o.getAve()) {
return 1;
} else if (this.getAve() < o.getAve()) {
return -1;
} else {
return 0;
}
}
// 重寫toString方法,用於列印
public String toString() {
return str[0] + "\t" + str[1] + "\t" + this.getAve();
}
}
}
4. C語言,使用rand()函數,編寫程序,隨機輸出同學們的姓名和學號,在線等。。。。。
#include<stdio.h>
#include<stdlib.h>
intmain()
{
FILE*fp;
charname[15];
charnum[15];
charch;
intn=0,m;
unsignedintbb;
fp=fopen("student.txt","r");
while(!feof(fp))
{
ch=fgetc(fp);
if(ch==' ')n++;
}//統計人數
fclose(fp);
bb=time(0);
srand(bb);
m=rand()%n+1;
n=0;
fp=NULL;
fp=fopen("student.txt","r");
while(!feof(fp)&&n<m)
{
n++;
fscanf(fp,"%s%s",name,&num);
}
printf("隨機抽取:%s%s ",name,num);
fclose(fp);
system("pause");
}