你這個搞的好復雜看看這個吧
成都創(chuàng)新互聯(lián)主營唐縣網站建設的網絡公司,主營網站建設方案,成都app開發(fā),唐縣h5微信小程序開發(fā)搭建,唐縣網站營銷推廣歡迎唐縣等地區(qū)企業(yè)咨詢
#include stdio.h
#includestring.h
void main()
{
char str[100];
int len,i;
printf("please input a string:");
gets(str);
len=strlen(str);
for(i=0;i=len/2;i++)
{
if(str[i]!=str[len-1-i])
{
printf("%s 不是回文\n",str);
break;
}
}
if(ilen/2)
printf("%s 是回文\n",str);
}
首先,你得明白程序的組成、程序和編譯器的關系
編寫程序,就相當于寫一篇作文。不過,最終讀者是計算機。但是它不識別我們人類的語言,包括我們編寫的程序 --- 其實也是一堆按照特定規(guī)則編排的字符
這就需要有一個翻譯,將我們的“作文”翻譯成計算機能夠理解的機器代碼(CPU指令集)。編譯器就是做了這個“翻譯”的工作,當然生成最終可運行的文件還需要鏈接器等工具,這些暫時不需要知道。
關鍵字是在開發(fā)編譯器時所共同遵守的約定,程序作者不允許使用這些關鍵字作為自定義的變量或者函數(shù)的名稱,這些單詞已經有他們的意義。
比如,
if表示“如果”,是一種判斷結構,return表示返回,這些都有對應的既定用途。
關鍵字一個明顯的特點就是,你的變量名不能使用這些關鍵字,比如你不能定義一個變量如下
int auto;
這樣編譯器在“翻譯”你的代碼的時候會報錯,你原意是想定義一個整形數(shù)值,名字叫做auto。但是編譯器讀不懂。
另外,你可以查看下,C語言的32個關鍵字的具體含義,這樣也有助于你理解他們的作用。
merge()是C++標準庫的函數(shù),主要實現(xiàn)函數(shù)的排序和合并,不僅僅是合并,具體要求參照標準庫。
#include"stdafx.h"
#includeiostream
#includealgorithm
#includearray
#includelist
usingnamespacestd;
boolcomp(constinti,constintj){
returnij;
}
intmain(void){
/*自定義謂詞*/
std::arrayint,4ai1={1,3,4,5};
std::listintlsti1;
for(constautoi:ai1)
lsti1.push_front(i);//從大到小
std::arrayint,4ai2={2,6,7,8};
std::listintlsti2;
for(constautoi:ai2)
lsti2.push_front(i);
lsti1.merge(lsti2,comp);
std::cout"merge():";
for(constautoi:lsti1)
std::couti"";
std::coutstd::endl;
/*默認謂詞*/
std::arrayint,4ai1d={1,3,4,5};
std::listintlsti1d;
for(constautoi:ai1d)
lsti1d.push_back(i);//從小到大
std::arrayint,4ai2d={2,6,7,8};
std::listintlsti2d;
for(constautoi:ai2d)
lsti2d.push_back(i);
lsti1d.merge(lsti2d);
std::cout"merge():";
for(constautoi:lsti1d)
std::couti"";
std::coutstd::endl;
return0;
}
擴展資料
Merge算法的兩種接口,把兩個有序的數(shù)組合并到另一個數(shù)組中:
void Merge(int *A, int f, int m, int e){
int temp[e-f+1];
int i,first=f,last=m+1;
for(i=0;i(e-first+1)f=mlast=e;i++){
if(A[f]=A[last]) {
temp[i]=A[f];
f++;
}
else {
temp[i]=A[last];
last++;
}
}
while(fmlast=e){
temp[i]=A[last];
i++;
last++;
}
while(f=mlaste){
temp[i]=A[f];
i++;
f++;
}
for(i=0;first=e;i++,first++){
A[first]=temp[i];
}
}
參考資料來源:百度百科—c語言
1、配置ODBC數(shù)據(jù)源。
2、使用SQL函數(shù)進行連接。
對于1、配置數(shù)據(jù)源,配置完以后就可以編程操作數(shù)據(jù)庫了。
對于2、使用SQL函數(shù)進行連接,參考代碼如下:
#includewindows.h
#includesql.h
#includesqlext.h
void main()
{
HENV henv; //環(huán)境句柄
HDBC hdbc; //數(shù)據(jù)源句柄
HSTMT hstmt; //執(zhí)行語句句柄
unsigned char datasource[]="數(shù)據(jù)源名稱"; //即a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLrHIWuWRsPWTvujD4P1Nb0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1mYP1R1n1cknW6sPWbzrj03Pf" target="_blank" class="baidu-highlight"ODBC/a源中設置的源名稱
unsigned char user[]= "用戶名"; //數(shù)據(jù)庫的帳戶名
unsigned char pwd[]= "密碼"; //數(shù)據(jù)庫的密碼
unsigned char search[]="select xm from stu where xh=0";
SQLRETURN retcode; //記錄各SQL函數(shù)的返回情況
// 分配環(huán)境句柄
retcode= SQLAllocEnv(henv); // 等介于 SQLAllocHandle(SQL_HANDLE_ENV, SQL_a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLrHIWuWRsPWTvujD4P1Nb0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1mYP1R1n1cknW6sPWbzrj03Pf" target="_blank" class="baidu-highlight"NULL/a_HANDLE, henv);
// 設置ODBC環(huán)境版本號為3.0
retcode= SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
// 分配連接句柄
retcode= SQLAllocConnect(henv,hdbc); // 等介于 SQLAllocHandle(SQL_HANDLE_DBC, henv, hdbc);
//設置連接屬性,登錄超時為*rgbValue秒(可以沒有)
// SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)(rgbValue), 0);
//直接連接數(shù)據(jù)源
// 如果是windows身份驗證,第二、三參數(shù)可以是a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLrHIWuWRsPWTvujD4P1Nb0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1mYP1R1n1cknW6sPWbzrj03Pf" target="_blank" class="baidu-highlight"NULL/a,也可以是任何字串
//SQL_NTS 即 "a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLrHIWuWRsPWTvujD4P1Nb0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1mYP1R1n1cknW6sPWbzrj03Pf" target="_blank" class="baidu-highlight"Null/a-Terminated String"
retcode= SQLConnect(hdbc,datasource, SQL_NTS, user, SQL_NTS , pwd, SQL_NTS );
//分配語句句柄
retcode= SQLAllocStmt(hdbc,hstmt); // 等介于 SQLAllocHandle(SQL_HANDLE_STMT, hdbc, hstmt);
//直接執(zhí)行查詢語句
retcode=SQLExecDirect(hstmt,search,SQL_NTS);
//將數(shù)據(jù)緩沖區(qū)綁定數(shù)據(jù)庫中的相應字段(i是查詢結果集列號,queryData是綁定緩沖區(qū),BUFF_LENGTH是緩沖區(qū)長度)
SQLBindCol(hstmt, i, SQL_C_CHAR, queryData[i-1], BUFF_LENGTH, 0);
//遍歷結果集到相應緩沖區(qū) queryData
SQLFetch(hstmt);
/*
*對遍歷結果的相關操作,如顯示等
*/
//注意釋放順序,否則會造成未知錯誤!
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
}
代碼看上去很復雜,其實都可以直接復制。其中需要改的是數(shù)據(jù)源名稱、數(shù)據(jù)庫用戶名、數(shù)據(jù)庫密碼和SQL語句。
然后就是SQLFetch后得到結果集后,如何使用的問題了。
在下面的注釋部分 填寫你的處理代碼即可。
/*
*對遍歷結果的相關操作,如顯示等
*/