c语言的开方函数c语言的开方函数是:sqrt()函数 。
1、功能:计算一个非负实数的平方根 。
2、函数原型:在VC6.0中的math.h头文件的函数原型为double sqrt(double) 。
3、说明:sqrt系Square Root Calculations(平方根计算),通过这种运算可以考验CPU的浮点能力 。
4、头文件:math
double sqrt(double x)
参数解释:
x 为要计算平方根的值 。
如果 x0,将会导致 domain error 错误,并把全局变量 errno 的值为设置为 EDOM 。
返回 x 平方根 。
注意,使用 GCC 编译时请加入-lm 。
例:
扩展资料:
sqrt()函数的注意事项:
1、sqrt()函数 , 里面的形参是double型的,所以调用的时候,要强制转换成double型 。
2、sqrt()函数都最后返回值是double型 , 而n是int型,所以要强制转换n=(int)sqrt((double)x) 。
3、到底要不要进行强制转换,需要看这个函数的形参和返回值是什么类型,如果没有进行强制转换,有的编译器会警告,有的会报错,有的就直接通过 。
参考资料:
百度百科--平方根计算
请教两个C语言问题?你要注意变量定义的位置,if语句后面定义变量是什么鬼?估计没有一个教科书教你这么干
而且判断变量是否等于一个值用== , 这应该是教科书非常强调的
用C语言编一个程序,建立一个简单的银行帐户管理系统#include stdio.h #include string.h struct information { char account[20]; char IDcardNum; char workUint; char homeAddress; float money; char cardNum; long int password; }; void openAccount(); { cardNum; user[cardNum].cardNum = cardNum; printf("请输入您的姓名:"); gets(user[cardNum].account); printf("请输入您的身份证号:"); gets(user[cardNum].IDcardNum); printf("请输入您的工作单位:"); gets(user[cardNum].workUnit); print("请输入您的家庭住址:"); gets(user[cardNum].homeAddress); printf("请输入您的密码:"); gets(user[cardNum].password); printf("请输入您要存入的金额:"); scanf("%d",user[cardNum].money); //写入文件out.txt中 , 写入后,光标移至下一行 read();//读取文件 write(); //写入文件cardNum; } void deposit(); {int money; printf("请输入您的卡号:"); scanf("%d",cardNum); printf("请输入您要存入的金额:"); scanf("%f",money); user[cardNum].money = user[cardNum].moneymoney; printf("您现在账户中的余额是¥%f",user[cardNum].money); } void withdraw(); { int money; printf("请输入您的卡号:"); scanf("%d",cardNum); printf("请输入您要存入的金额:"); scanf("%f",money); user[cardNum].money = user[cardNum].money - money; printf("您现在账户中的余额是¥%f",user[cardNum].money);} void changeInformation(); { printf("请输入您的卡号:"); scanf("%d",cardNum); user[cardNum].cardNum = cardNum; printf("请输入您的姓名:"); gets(user[cardNum].account); printf("请输入您的身份证号:"); gets(user[cardNum].IDcardNum); printf("请输入您的工作单位:"); gets(user[cardNum].workUnit); print("请输入您的家庭住址:"); gets(user[cardNum].homeAddress); printf("请输入您的密码:"); gets(user[cardNum].password); printf("请输入您要存入的金额:"); scanf("%d",user[cardNum].money); //写入文件out.txt中,写入后,光标移至下一行 read();//读取文件 write(); //写入文件 } void reportLoss(); { } void closeAccount(); { } void read(); { } void write(); { }int main() { int i; unsigned long int cardNum = 00001; information user[cardNum]; printf("请您选择要进行的操作:\n"); printf("------------------------------------------------------\n"); printf("1、开户/办卡 2、存款 3、取款 4、修改信息 5、挂失 6、销户\n"); printf("------------------------------------------------------\n"); scanf("%d",i); if(i1 || i6) printf("ERROR!\n"); else { switch(i) { case 1 : openAccount(); break; case 2 : deposit(); break; case 3 : withdraw(); break; case 4 : changeInformation(); break; case 5 : reportLoss(); break; case 6 : closeAccount(); break; } } return 0; } 没有写完,楼主可以参考一下!
银行开户 c语言 我做了个银行开户系统,可是不会用文件保存,就是每次执行都必须初始输入开户信息,文件I/O函数 。
fopen打开本地文件
fseek定位到文件某个位置(可用来修改已经存在的用户信息等)
fwrite写入
fclose关闭
带f的IO函数是标准IO,下面资料是linux特有的 。用法差不多 。
网上有很多例子,可以参考资料,希望对你有帮助
用c语言编写ATM的程序,实现开户、存款、取款、查询余额、转账的业务逻辑 。#include stdio.h
#include stdlib.h
#include conio.h
#include string.h
void regist();
void login();
void quite();
void inputpassword(char mima[]);
void service();
struct bank
{
char name[20];
char password[7];
int account;
double money;
}kehu;
int find;
int a[10];
struct bank one;
FILE *fp;
void main()
{
int i;
int t=1;
for(i=0;i100;i)
{
printf("\t\t\t\t\t\t欢迎使用青软ATM系统\n");
printf("\t\t\t\t\t\t正在进入主界面,请稍等");
int j;
for(j=1;jt;j)
{
printf(".");
【c语言开户函数 c语言的开头怎么写】}
t;
if(t==10)
{
t=1;
}
printf("\n\t\t\t\t\t\t%d%%",i);
system("cls");
}
while(1)
{
printf("\t\t\t\t\t\t服务类型: \n");
printf("\t\t\t\t\t\t[a]: 用户注册\n");
printf("\t\t\t\t\t\t[b]: 用户登录\n");
printf("\t\t\t\t\t\t[c]: 退出系统\n");
printf("\t\t\t\t\t\t请选择服务: ");
fflush(stdin);
char xz;
scanf("%c",xz);
if(xz=='a'||xz=='A')
{
regist();
}else if (xz=='b'||xz=='B')
{
login();
} else if(xz=='c'||xz=='C')
{
quite();
} else
{
printf("输入有误 , 请重新输入");
}
getch();
system("cls");
}
}
void inputpassword(char mima[])
{
int i=0;
char ch;
while(1)
{
ch=getch();
if(ch!='\r')
{
if(ch!='\b'){
mima[i]=ch;
i;
printf("*");
}else{
if(i0){
i--;
printf("\b \b");
}
}
}else{
break;
}
}
mima[i]='\0';
printf("\n");
}
void regist()
{
fp=fopen("atm.txt","ab ");
if(fp==NULL)
{
printf("\n\t\t\t文件打开失败!");
return;
}
system("cls");
printf("\t\t\t现在执行的是注册函数的使用\n");
printf("\t\t请输入用户名: ");
fflush(stdin);
gets(kehu.name);
char password1[7];
while(1)
{
while(1)
{
printf("\n\n\t\t请输入密码:");
fflush(stdin);
inputpassword(kehu.password);
int n=strlen(kehu.password);
if(n==6)
{
break;
}else
{
printf("\n\t\t密码必须为6位!");
}
}
printf("\n\t\t请输入正确密码!: ");
fflush(stdin);
inputpassword(password1);
if(strcmp(kehu.password,password1)==0)
{
break;
}else{
printf("\n\n\t\t两次密码必须相同!");
}
}
rewind(fp);
struct bank k;
if(fread(k,sizeof(struct bank),1,fp)==1)
{
fseek(fp,-sizeof(k),2);
fread(k,sizeof(k),1,fp);
kehu.account=k.account 1;
}else{
kehu.account=20170001;
}
kehu.money=0;
fseek(fp,0,2);
fwrite(kehu,sizeof(struct bank),1,fp);
fclose(fp);
printf("\n\n\t\t开户成功! ");
printf("\n\t\t您的账号为%d!",kehu.account);
printf("\n\t\t现在请您重新登录!");
}
void searchmoney()
{
system("cls");
printf("您现在使用的是查询余额功能: \n");
printf("\n\n\t\t您的余额是%0.2lf",one.money);
}
void savemoney()
{
system("cls");
double inmoney;
printf("请您选择您要存款的金额\n");
scanf("%lf",inmoney);
int q;
int r=1;
for(q=0;q100;q)
{
int w;
for(w=1;wr;w)
{
printf(".");
}
r;
if(r==10)
{
r=1;
}
printf("\n\t\t\t\t\t\t正在存款%d%%",q);
system("cls");
}
one.money=one.money inmoney;
fseek(fp,-sizeof(one),1);
fwrite(one,sizeof(one),1,fp);
printf("\n\n\t\t\t\t\t\t您已存款成功!");
}
void withdrawalmoney()
{
system("cls");
double outputsomemoney;
printf("请您选择您要取款的金额\n");
scanf("%lf",outputsomemoney);
if(one.moneyoutputsomemoney){
printf("您的余额已不足,请您注意!");
}else {
int q;
int r=1;
for(q=0;q100;q)
{
int w;
for(w=1;wr;w)
{
printf(".");
}
r;
if(r==10)
{
r=1;
}
printf("\n\t\t\t\t\t\t正在取款%d%%",q);
system("cls");
}
one.money=one.money-outputsomemoney;
fseek(fp,-sizeof(one),1);
fwrite(one,sizeof(one),1,fp);
printf("\n\n\t\t\t\t\t\t您已取款成功!请点清钞票!");
printf("\n\n\t\t\t\t\t\t您现在的余额为%lf",one.money);
}
}
void transfermoney()
{
system("cls");
int duifang;
int qian;
fflush(stdin);
printf("\n\n\n\t\t您现在使用的是转账功能");
printf("\n\t\t\t请输入您要转账的账户:");
scanf("%d",duifang);
int n=ftell(fp);
rewind(fp);
int flag=0;
struct bank temp;
while(fread(temp,sizeof(temp),1,fp)==1)
{
if(temp.account==duifang)
{
flag=1;
break;
}
}
if(flag==1)
{
printf("请输入转账金额:");
scanf("%d",qian);
if(one.money=qian)
{
int q;
int r=1;
for(q=0;q100;q)
{
int w;
for(w=1;wr;w)
{
printf(".");
}
r;
if(r==10)
{
r=1;
}
printf("\n\t\t\t\t\t\t正在转账,请稍后!%d%%",q);
system("cls");
}
temp.money=temp.money qian;
fseek(fp,-sizeof(temp),1);
fwrite(temp,sizeof(temp),1,fp);
one.money=one.money-qian;
fseek(fp,n-sizeof(one),0);
fwrite(one,sizeof(one),1,fp);
printf("\n\t\t\t\t转账成功!");
}else{
printf("\n\t\t\t\t您的余额已不足!");
}
}
}
void xiugai(){
system("cls");
printf("\n\n\t\t 现在进行的是修改密码功能\n");
char oldpassword[7];
char newpassword[7];
char newpassword1[7];
int i;
for(i=0;i3;i){
printf("\n\t\t\t 请输入旧密码:\n");
inputpassword(oldpassword);
if(strcmp(oldpassword,one.password)==0){
printf("\n\t\t\t 输入成功!\n");
break;
}else{
printf("\n\t\t\t 密码输入有误,请重新输入!\n");
}
}
if(i3){
while(1){
printf("\n\t\t\t 请输入您的新密码:\n");
inputpassword(newpassword);
printf("\n\t\t\t 请输入您的确认密码:\n ");
inputpassword(newpassword1);
if(strcmp(newpassword,newpassword1)==0){
strcpy(one.password,newpassword);
fseek(fp,-sizeof(one),1);
fwrite(one,sizeof(one),1,fp);
printf("\n\t\t\t 密码修改成功!");
break;
}else{
printf("\n\t\t\t 两次密码输入不一致!");
}
}
}else{
printf("\n\t\t\t 密码输入错误!");
}
}
int zhuxiaozhanghao()
{
system("cls");
int zhuxiaoxitong;
char sf;
printf("你要注销的账号是%d",one.account);
printf("你是否要对此账号进行注销?\n\n\t\t请您选择:注销(Y)or不注销(N):");
fflush(stdin);
scanf("%c",sf);
if(sf=='y'||sf=='Y')
{
printf("正在为您注销!\n",one.account);
zhuxiaoxitong=1;
}else{
printf("不注销系统!\n",one.account);
}
return zhuxiaoxitong;
}
void service()
{
while(1){
system("cls");
printf("\n\n\n\t\t\t\t\t\t现在是服务系统,本系统有以下服务");
printf("\n\t\t\t\t\t\t[a] 查询余额\n");
printf("\n\t\t\t\t\t\t[b] 存款服务\n");
printf("\n\t\t\t\t\t\t[c] 转账服务\n");
printf("\n\t\t\t\t\t\t[d] 取款服务\n");
printf("\n\t\t\t\t\t\t[e] 修改密码\n");
printf("\n\t\t\t\t\t\t[f] 注销\n");
printf("\n\t\t\t\t\t\t[g] 退出系统\n");
char e;
printf("\n\t\t\t\t\t\t您要选择的服务是:");
fflush(stdin);
scanf("%c",e);
switch(e)
{case'A':
case'a': searchmoney() ;break;
case'B':
case'b': savemoney() ;break;
case'C':
case'c': transfermoney() ;break;
case'D':
case'd': withdrawalmoney() ;break;
case'E':
case'e': xiugai() ;break;
case'F':
case'f': {int zhuxiaoxitong=zhuxiaozhanghao();{if(zhuxiaoxitong==1) return;}break;}
case'G':
case'g': quite();break;
}
printf("\n\n\n\t\t\t\t按任意键继续......\n");
getch();
}
}
void login()
{
fp=fopen("atm.txt","rb ");
if(fp==NULL)
{
printf("\n\n\n\t\t\t\t文件打开失败!");
return;
}
system("cls");
printf("\n\t\t\t\t\t\t现在执行的是登录函数的使用\n");
int zhanghao;
printf("\n\t\t\t\t\t\t请输入账号:");
scanf("%d",zhanghao);
int flag=0;
while(fread(one,sizeof(one),1,fp)==1)
{
if(zhanghao==one.account){
flag=1;
break;
}
}
char password2[7];
if(flag==1){
int h;
for(h=0;h3;h){
printf("\n\t\t\t\t\t\t请输入密码:");
fflush(stdin);
inputpassword(password2);
if(strcmp(password2,one.password)==0)
{
printf("\n\t\t\t\t\t\t登陆成功!");
service();
break;
}else{
printf("密码不正确!");
}
}
if(h==3){
printf("\n\t\t\t您的密码三次输入有误,返回");
}
}else{
printf("无此账号!");
}
fclose(fp);
}
void quite()
{
system("cls");
printf("\t\t\t现在执行的是退出函数的使用\n");
exit(0);
}
用C语言写一个类似于ATM机的程序 , 有开户(姓名,密码),存款,取款,查询余额,转账的功能 , package com.efounder.pub.util;
import java.util.ArrayList;
import java.util.Vector;
/**
* 字符串处理工具类
* @author xiewanzhi
*/
public class StringFunction {
public static String convertFromStringArrayToStringBySymbol(String[] stringArray, char symbol) {
StringBuffer sb = new StringBuffer();
for (int i = 0; istringArray.length; i) {
sb.append(stringArray[i]);
sb.append(symbol);
}
return sb.toString();
}
public static String[] convertFromStringToStringArrayBySymbol(String string, String symbol) {
Vector stringVector = convertFromStringToStringVectorBySymbol(string, symbol);
String[] stringArray = new String[stringVector.size()];
for (int i = 0; istringVector.size(); i)
stringArray[i] = (String) (stringVector.elementAt(i));
return stringArray;
}
public static String[] convertFromStringToStringArrayBySymbolNO(String string, String symbol) {
Vector stringVector = convertFromStringToStringVectorBySymbolNO(string, symbol);
String[] stringArray = new String[stringVector.size()];
for (int i = 0; istringVector.size(); i)
stringArray[i] = (String) (stringVector.elementAt(i));
return stringArray;
}
public static Vector convertFromStringToStringVectorBySymbol(String string, String symbol) {
Vector stringVector = new Vector();
String[] array = string.split(symbol);
for (int i = 0; iarray.length; i) {
stringVector.addElement(array[i]);
}
return stringVector;
}
public static Vector convertFromStringToStringVectorBySymbolNO(String string, String symbol) {
Vector stringVector = new Vector();
String[] array = string.split(symbol);
for (int i = 0; iarray.length; i) {
stringVector.addElement(array[i]);
}
return stringVector;
}
public static String convertFromStringVectorToStringBySymbol(Vector stringVector, char symbol) {
StringBuffer sb = new StringBuffer();
for (int i = 0; istringVector.size(); i) {
sb.append(stringVector.elementAt(i));
sb.append(symbol);
}
return sb.toString();
}
public static String fillString(String psStr, char psC, int psLen) {
if (psStr.length()psLen) {
return psStr.substring(0, psLen);
} else {
char[] vcTemp = new char[psLen];
for (int i = 0; ipsLen; i) {
vcTemp[i] = psC;
}
String vsTemp = new String(vcTemp);
String vsResult = psStr.concat(vsTemp);
return vsResult.substring(0, psLen);
}
}
public static String formatValue(double value, int sep, char ch, int round) {
return "";
}
public static String GB2Uni(String original) {
if (original != null) {
try {
return new String(original.getBytes("GBK"), "ISO8859_1");
} catch (Exception e) {
e.printStackTrace();
return null;
}
} else
return null;
}
public static String Uni2GB(String original) {
if (original != null) {
try {
return new String(original.getBytes("ISO8859_1"), "GBK");
} catch (Exception e) {
e.printStackTrace();
return null;
}
} else
return null;
}
public static String generateID(String pre, int value, int num) {
char chs[] = new char[num];
for (int i = 0; inum; i) {
chs[num - i - 1] = (char) (48value % 10);
value = https://www.04ip.com/post/value / 10;
}
return pre.trim()new String(chs);
}
public static String getTempStr() {
return String.valueOf(System.currentTimeMillis());
}
public static boolean isIncludeString(String psStr, String psS) {
int viPos = psStr.indexOf(psS);
return viPos = 0;
}
public static String replaceString(String psStr, String psS, String psD) {
int viPos = psStr.indexOf(psS);
if (viPos0)
return psStr;
int viLength = psS.length();
StringBuffer vsValue = https://www.04ip.com/post/new StringBuffer();
while (viPos = 0) {
vsValue.append(psStr.substring(0, viPos));
vsValue.append(psD);
psStr = psStr.substring(viPosviLength);
viPos = psStr.indexOf(psS);
}
vsValue.append(psStr);
return vsValue.toString();
}
public static String[] splitStringByToken(String vsStr, String symbol) {
String vsString[] = { "", "" };
int viPos1;
viPos1 = vsStr.indexOf(symbol);
if (viPos10) {
vsString[0] = vsStr;
vsString[1] = "";
return vsString;
}
vsString[0] = vsStr.substring(0, viPos1);
vsString[1] = vsStr.substring(viPos1symbol.length(), vsStr.length());
return vsString;
}
public static Vector convertFromStringToStringVectorByString(String string, String symbol) {
Vector stringVector = new Vector();
String vsStr = string.trim();
String vsTemp = null;
String[] st = null;
while ((!vsStr.equals(""))isIncludeString(vsStr, symbol)) {
st = splitStringByToken(vsStr, symbol);
vsTemp = st[0].trim();
if (!vsTemp.equals(""))
stringVector.addElement(vsTemp);
vsStr = st[1].trim();
}
if (!vsStr.equals(""))
stringVector.addElement(vsStr);
return stringVector;
}
public static String getTempStr(int length) {
String str = String.valueOf(System.currentTimeMillis());
return str.substring(str.length() - length);
}
public static Vector convertFromStringToStringVectorByStringWithNull(String string, String symbol) {
Vector stringVector = new Vector();
String vsStr = string.trim();
String vsTemp = null;
String[] st = null;
while ((!vsStr.equals(""))isIncludeString(vsStr, symbol)) {
st = splitStringByToken(vsStr, symbol);
vsTemp = st[0].trim();
stringVector.addElement(vsTemp);
vsStr = st[1].trim();
}
if (!vsStr.equals(""))
stringVector.addElement(vsStr);
return stringVector;
}
public static String DelZeroForBM(String Bm, int Js, String Struct) {
int i, Len, Length;
Len = Bm.length();
Length = GetStructLength(Struct, Js);
if (Len = Length) {
Bm = Bm.substring(0, Length);
}
return Bm;
}
public static String FillZeroForBM(String Bm, String Struct) {
int i, Len, Length;
Len = Bm.length();
Length = GetStructLength(Struct, 0);
for (i = 0; iLength - Len; i) {
Bm= "0";
}
return Bm;
}
public static int getJsByCodingStruct(String code, String struct) {
int codeLength = code.length();
int structLength = struct.length();
int tempLength = 0;
for (int js = 1; js = structLength; js) {
tempLength = GetStructLength(struct, js);
if (codeLength == tempLength)
return js;
}
return 0;
}
public static int GetStructLength(String Struct, int JS) {
int i, Length = 0;
String sub;
Integer ii;
if (JS == 0)
JS = Struct.trim().length();
for (i = 0; iJS; i) {
sub = Struct.substring(i, i1).trim();
ii = Integer.decode("0x"sub);
// Length= Integer. .parseInt(sub);
Length= ii.intValue();
}
return Length;
}
public static String GetSubBMfromBM(String BM, String Struct, int SJS) {
String Res = "";
int Len;
Len = GetStructLength(Struct, SJS);
if (BM.length() = Len)
Res = BM.substring(0, Len);
return Res;
}
public static String FillZeroFromBegin(int num, int leng) {
return FillTagFromBegin(String.valueOf(num), leng, "0");
}
public static String FillTagFromBegin(String num, int leng, String Tag) {
String Res = "", tempStr1 = "", tempStr2 = "";
tempStr1 = String.valueOf(num);
for (int i = 0; i(leng - tempStr1.length()); i) {
tempStr2= Tag;
}
Res = tempStr2tempStr1;
return Res;
}
public static String ClearBMZero(String BM, String BMStruct) {
return ClearBMTag(BM, BMStruct, "0");
}
public static String ClearBMTag(String BM, String BMStruct, String Tag) {
int JSLen = BMStruct.length();
String bm = "", ZERO, Tmp;
int Len;
for (int i = 1; i = JSLen; i) {
Tmp = BMStruct.substring(i - 1, i);
Len = Integer.parseInt(Tmp);
ZERO = RepeatChar(Tag, Len);
if (!BM.startsWith(ZERO)) {
bm= BM.substring(0, Len);
BM = BM.substring(Len);
} else
break;
}
return bm;
}
public static String RepeatChar(String c, int len) {
String Res = "";
for (int i = 0; ilen; i) {
Res= c;
}
return Res;
}
/**
* key1=value1;key2=value2;key3=value3
*
* @param inputString String
* @param hashMap Map
*/
public static void String2HashMap(String inputString, java.util.Map hashMap) {
String[] keyValues = StringFunction.convertFromStringToStringArrayBySymbolNO(inputString, ";");
String[] keyValue;
String key, value;
for (int i = 0; ikeyValues.length; i) {
if (!"".equals(keyValues[i])) {
keyValue = https://www.04ip.com/post/StringFunction.convertFromStringToStringArrayBySymbolNO(keyValues[i],"=");
if (keyValue.length2)
continue;
key = keyValue[0];
valuehttps://www.04ip.com/post/= "";
for (int k = 1; kkeyValue.length; k) {
value= https://www.04ip.com/post/keyValue[k];
}
hashMap.put(key, value);
}
}
}
/**
*
* @param hashMap
*Map
* @return String
*/
public static String HashMap2String(java.util.Map hashMap) {
Object[] keys = hashMap.keySet().toArray();
String key, value, keyValuehttps://www.04ip.com/post/= "";
for (int i = 0; ikeys.length; i) {
key = (String) keys[i];
value = https://www.04ip.com/post/(String) hashMap.get(key);
keyValue= https://www.04ip.com/post/key"="value";";
}
if (keyValue.length()0) {
keyValue = https://www.04ip.com/post/keyValue.substring(0, keyValue.length() - 1);
}
return keyValue;
}
/**
*
* @param value
*String
* @param mark
*String
* @return String[]
*/
public static String[] split(String value, String mark) {
int index = value.indexOf(mark);
java.util.List list = new ArrayList();
while (index = 0) {
list.add(value.substring(0, index));
value = https://www.04ip.com/post/value.substring(indexmark.length());
index = value.indexOf(mark);
}
list.add(value);
String[] rtn = new String[list.size()];
System.arraycopy(list.toArray(), 0, rtn, 0, rtn.length);
return rtn;
}
public static void main(String[] args) {
String valuehttps://www.04ip.com/post/= "a;;;; ";
String[] rtn = split(value, ";;");
System.out.println(rtn);
}
}
c语言开户函数的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于c语言的开头怎么写、c语言开户函数的信息别忘了在本站进行查找喔 。
推荐阅读
- js中对象转换字符串,js 字符转对象
- ios音乐软件增强器怎么用,ios音乐免费软件
- 射击游戏推荐多模式手机,射击游戏推荐多模式手机软件
- python爬虫图片保存命名,python爬虫爬取图片并保存到本地
- linux帮助命令是什么 linux帮助命令
- 如何获取filejs,如何获取B站
- word怎么把网址链接,word怎么把网址链接打印出来
- 卖女装无人直播,想直播卖女装怎么做
- java删除代码 java删除的代码