锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
C[i][j]=c[i-1][j-1]+1,xi=yj
C[i][j]=max(C[i][j-1],C[i-1][j]),i,j>0,xi涓嶇瓑浜巠j
瀹炵幇浠g爜濡備笅錛?br />
#include<string.h>
int c[1002][1002]={0};
int main()
{
int N,m,n,i,j;
char x[1002],y[1002];
scanf("%d",&N);
while(N--)
{
scanf("%s",x);
scanf("%s",y);
m=strlen(x);
n=strlen(y);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
if(x[i-1]==y[j-1])
{
c[i][j]=c[i-1][j-1]+1;
}
else if(c[i-1][j]>=c[i][j-1])
{
c[i][j]=c[i-1][j];
}
else
{
c[i][j]=c[i][j-1];
}
}
printf("%d\n",c[m][n]);
}
return 0;
}
鍙傝冭嚜錛?span style="font-size: 12px;">http://yangchuanhuahpu.blog.163.com/blog/static/18631884020125272205862/
]]>
浠g爜嫻嬭瘯閫氳繃錛堟櫘閫氱増錛夛細(xì)
#include<string.h>
#define N 10000
int main()
{
char a[N];
int i,j,n,t,p,max,t1;
scanf("%d",&t1);
while(t1--)
{
max = 0;
scanf("%s",a);
n=strlen(a);
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
t=0;
while(a[i+t]==a[j+t]&&(j+t)<n)
t++;
if(t>max)
{
max=t;
p=i;
}
else if(t == max) //濡傛灉鏈夐暱搴︿竴鏍風(fēng)殑鏈闀塊噸澶嶅瓙涓詫紝閭d箞姣旇緝瀹冧滑鐨勫瓧鍏稿簭
{
if(a[i]<a[p])
{
max = t;
p = i;
}
}
}
}
for(i=p;i<p+max;i++)
printf("%c",a[i]);
printf("\n");
}
return 0;
}
絎簩縐嶆柟娉曟槸鐢ㄥ悗緙鏁扮粍瀹炵幇銆傝漿鑷細(xì)http://hi.baidu.com/qwertlooker/item/44f3fe52ad772cdbd58bacfd
char c[MAXN], *a[MAXN];
a[n] = &c[n];
c[n++] = ch;
c[n] = 0 //灝嗘暟緇刢涓殑鏈鍚庝竴涓厓绱犺涓虹┖瀛楃錛屼互緇堟鎵鏈夊瓧絎︿覆
if comlen(a[i], a[i+1]) > maxlen
maxlen = comlen(a[i], a[i+1])
maxi = i
printf("%.*s\n", maxlen, a[maxi])
瀹炵幇浠g爜濡備笅錛?br />
#include <stdlib.h>
#include <string.h>
#define MAXCHAR 10000 //鏈闀垮鐞?0000涓瓧絎?/span>
char c[MAXCHAR], *a[MAXCHAR];
int comlen( char *p, char *q ){ //璁$畻鏈闀塊噸澶嶅瓙涓茬殑闀垮害
int i = 0;
while( *p && (*p++ == *q++) )
++i;
return i;
}
int pstrcmp( const void *p1, const void *p2 ){
return strcmp( *(char* const *)p1, *(char* const*)p2 );
}
int main( ){
int t;
char ch;
int i, temp;
scanf("%d\n",&t);
while(t--)
{
int n=0;
int maxlen=0, maxi=0;
while( (ch=getchar())!='\n' ){
a[n]=&c[n];
c[n++]=ch;
}
c[n]='\0';
qsort( a, n, sizeof(char*), pstrcmp ); //蹇熸帓搴忓鍚庣紑鏁扮粍榪涜鎺掑簭錛屼互浣垮悗緙鐩稿悓鐨勫瓙涓查泦涓湪涓璧鳳紝
//浠ヤ究鎺ヤ笅鏉omlen鍑芥暟瀵硅繖浜涘瓙涓茶繘琛岃綆楀叾鏈闀塊噸澶嶅瓙涓?/span>
for(i=0; i<n-1; ++i ){
temp=comlen( a[i], a[i+1] );
if( temp>maxlen )
{
maxlen=temp;
maxi=i;
}
}
printf("%.*s\n",maxlen, a[maxi]); //杈撳嚭鏈闀塊噸澶嶅瓙涓?/span>
}
return 0;
}
絎笁縐嶆柟娉曚技涔庡彲浠ョ敤鍚庣紑鏍?wèi)瀹炵帋图屾晥鐜囧彲浠ユ彁楂樺埌O(n)錛屽叿浣撶殑鍚庣紑鏍?wèi)璁茶В鍙互鍙傜収杩櫧媷鏂囩珷锛?xì)
http://blog.csdn.net/v_july_v/article/details/6897097錛圥S:鏅哄晢鏈夐檺錛屽悗闈㈤儴鍒嗚瑙g悊瑙d笉浜?jiǎn)锛?jí)
]]>
鍒嗘瀽錛?/span>榪欓亾棰樼殑鍏抽敭鍦ㄤ簬錛氳瀹氭暟緇勪綅緗粠1寮濮嬬紪鍙鳳紝閭d箞浣嶇疆涓篿鐨勭粨鐐癸紝瀹冪殑宸﹀瀛愬湪鏁扮粍鐨勪綅緗槸2i錛屽彸瀛╁瓙鍦ㄦ暟緇勭殑浣嶇疆鏄?i+1
浠g爜錛?/span>
using namespace std;
class BiTreeNode
{
private:
BiTreeNode *leftChild; //宸﹀瓙鏍?wèi)鎸囬?/span>
BiTreeNode *rightChild; //鍙沖瓙鏍?wèi)鎸囬?/span>
public:
int data; //鏁版嵁鍩?br />
//鏋勯犲嚱鏁板拰鏋愭瀯鍑芥暟
BiTreeNode():leftChild(NULL), rightChild(NULL){}
BiTreeNode(int item, BiTreeNode *left = NULL,
BiTreeNode *right = NULL):
data(item), leftChild(left), rightChild(right){}
~BiTreeNode(){}
BiTreeNode * &Left(void) //娉ㄦ剰榪斿洖鍊肩被鍨嬩負(fù)鎸囬拡鐨勫紩鐢ㄧ被鍨?/span>
{return leftChild;}
BiTreeNode * &Right(void) //娉ㄦ剰榪斿洖鍊肩被鍨嬩負(fù)鎸囬拡鐨勫紩鐢ㄧ被鍨?/span>
{return rightChild;}
};
class BiTree
{
private:
BiTreeNode *root; //鏍圭粨鐐規(guī)寚閽?/span>
int i,len; //len鏄爲(wèi)緇撶偣鐨勬暟閲?/span>
void Destroy(BiTreeNode * &t);
void PreOrder(BiTreeNode * &t);
void CreateBiTree(BiTreeNode * &T,const int arrTree[],int pos);
public:
//鏋勯犲嚱鏁板拰鏋愭瀯鍑芥暟
BiTree(void):root(NULL),i(0){}; //鏋勯犲嚱鏁?/span>
~BiTree(void){}; //鏋愭瀯鍑芥暟
//鏋勯犱簩鍙夋爲(wèi)
void MakeTree(const int arrTree[],int num); //鏋勯犱簩鍙夋爲(wèi)錛屽埄鐢ㄥ厛搴忛亶鍘嗙粨鏋滃緩鏍?/span>
void Destroy(void); //閿姣佷簩鍙夋爲(wèi)
void PreOrder(); //鍓嶅簭閬嶅巻
};
//2銆佸畾涔夐攢姣佸嚱鏁?/span>
void BiTree ::Destroy(void) //閿姣佷簩鍙夋爲(wèi)錛屽叕鏈夊嚱鏁?/span>
{
Destroy(root);
}
void BiTree ::Destroy(BiTreeNode * &t)
//閿姣佷簩鍙夋爲(wèi)錛岀鏈夊嚱鏁頒緵鍏辨湁鍑芥暟璋冪敤
{
if(t != NULL && t->Left() != NULL)
Destroy(t->Left());
if(t != NULL && t->Right() != NULL)
Destroy(t->Right());
if(t != NULL)
{
delete t;
}
}
//3銆佸畾涔夊緩鏍?wèi)鍑芥?/span>
void BiTree::MakeTree(const int arrTree[],int num)
//鏋勯犱簩鍙夋爲(wèi)錛屽埄鐢ㄥ厛搴忛亶鍘嗙粨鏋滃緩鏍?wèi)锛屽叕鏈夊嚱鏁?/span>
{
i=0;
len = num;
CreateBiTree(root,arrTree,1);//鏁扮粍浣嶇疆浠?寮濮?/span>
}
void BiTree::CreateBiTree(BiTreeNode * &T, const int arrTree[],int pos) //閫掑綊寤烘爲(wèi)縐佹湁鍑芥暟
{
int ch;
ch=arrTree[pos];
if (ch == 0 || pos > len) T = NULL;
else
{
T=new BiTreeNode();
T->data = ch; // 鐢熸垚鏍圭粨鐐?/span>
i++;
if(i>len) return;
CreateBiTree(T->Left(), arrTree,2*pos); // 鏋勯犲乏瀛愭爲(wèi)
CreateBiTree(T->Right(), arrTree,2*pos+1); // 鏋勯犲彸瀛愭爲(wèi)
}
}
//4銆佸畾涔夊厛搴忛亶鍘嗗嚱鏁?/span>
void BiTree::PreOrder()
//鍓嶅簭閬嶅巻璁塊棶浜屽弶鏍?wèi)锛屽叕鏈夊嚱鏁?/span>
{
PreOrder(root);
}
void BiTree::PreOrder(BiTreeNode* &t)
//鍓嶅簭閬嶅巻璁塊棶浜屽弶鏍?wèi)锛尶U佹湁鍑芥暟t
{
if(t!=NULL)//鑻ヤ簩鍙夋爲(wèi)緇撶偣涓嶄負(fù)絀猴紝鎵ц濡備笅鎿嶄綔錛?/span>
{
cout<<t->data<<" ";//1銆佽緭鍑哄綋鍓嶇粨鐐圭殑鏁版嵁錛岃〃紺鴻緇撶偣琚闂簡(jiǎn)
PreOrder(t->Left());//2銆佸厛搴忛亶鍘嗚緇撶偣鐨勫乏瀛╁瓙
PreOrder(t->Right());//3銆佸厛搴忛亶鍘嗚緇撶偣鐨勫彸瀛╁瓙
}
}
int main()
{
int m,i,j,k;
int *arrTree;
BiTree myTree;
cin>>m;
for(i=0;i<m;i++)
{
arrTree = new int[800];
cin>>k;
for(j=1;j<=k;j++)
cin>>arrTree[j];
myTree.MakeTree(arrTree,k);
myTree.PreOrder();
cout<<endl;
delete []arrTree;
myTree.Destroy();
}
return 0;
}
]]>
#include <cctype>
#include <iostream>
#include <string>
#include <stack>
#include <map>
using namespace std;
int getPrecedence(const char optr) //緇欏悇涓搷浣滅瀹氫箟浼樺厛綰ч『搴忥紝鍒╃敤map瀹瑰櫒
{
map<char, int> precedTable;
precedTable['#'] = 0;
precedTable[')'] = 1;
precedTable['+'] = 2;
precedTable['-'] = 2;
precedTable['*'] = 3;
precedTable['/'] = 3;
precedTable['('] = 10;
return precedTable[optr];
}
int calculate(int a, char optr, int b)
{
switch (optr) {
case '+': return a + b;
case '-': return a - b;
case '*': return a * b;
case '/': return a / b;
default: return 0;
}
}
int evaluate(const string& expr)
{
stack<int> opnd;
stack<char> optr;
char last_ch = '\0'; //姣忔媯(gè)鏌ュ瓧絎︽椂鐨勫墠涓涓瓧絎?/span>
for (size_t i = 0; i != expr.size(); ++i) {
const char ch = expr[i];
if (isspace(ch)) { //濡傛灉鏄┖鏍鹼紝鍗寵煩榪?/span>
continue;
} else if (isdigit(ch)) { //濡傛灉鏄暟瀛楋紝鍒欏帇鍏ユ搷浣滄暟鏍?/span>
opnd.push(ch - '0');
} else {
if ((ch == '-' || ch == '+') && (last_ch == '\0' || last_ch == '(')) //閬囧埌 '+'銆?-'錛屽垯鍘嬪叆0榪涙搷浣滄暟鏍?/span>
opnd.push(0); //濡?nbsp;7-1錛岄亣'-'鍒欏帇鍏?榪涙爤錛岋紝'-'鍒欒繘鎿嶄綔絎︽爤錛岄亣鍒頒笅涓涓暟1錛岃綆?-1寰?1
if (optr.empty() || ch == '(' || (optr.top() == '(' && ch != ')') || getPrecedence(ch) > getPrecedence(optr.top())) {
optr.push(ch);
}
else
{
while (!optr.empty() && optr.top() != '(' && getPrecedence(ch) <= getPrecedence(optr.top()))
{
int b = opnd.top(); opnd.pop();
int a = opnd.top(); opnd.pop();
opnd.push(calculate(a, optr.top(), b));
optr.pop();
}
if (ch == ')')
optr.pop();
else
optr.push(ch);
}
}
last_ch = ch;
}
while (!optr.empty()) {
int b = opnd.top(); opnd.pop();
int a = opnd.top(); opnd.pop();
opnd.push(calculate(a, optr.top(), b));
optr.pop();
}
int result = opnd.top(); opnd.pop();
return result;
}
int main()
{
int n;
cin >> n;
while (n-- > 0) {
string expr;
cin>>expr;
cout << evaluate(expr) << endl;
}
return 0;
}
]]>
#include<algorithm>
using namespace std;
int compare(const void * a,const void * b)
{
return *(int*)a - *(int*)b;
}
int main()
{
int n,cow[10005];
while(cin>>n)
{
for(int i=1;i<=n;i++)
{
cin>>cow[i];
}
qsort(cow+1,n,sizeof(int),compare);
cout<<cow[(n+1)/2]<<endl;
}
return 0;
}
]]>
#include<string.h>
int Find_OneNum(long a)
{
long i,b,count=0;
while(a)
{
b=a%10;
if(b == 1)
{
count++;
}
a=a/10;
}
return count;
}
int main()
{
long a,b,i,sum;
while((scanf("%ld%ld",&a,&b) == 2),a)
{
if(a>b)
{
int temp;
temp=a;
a=b;
b=temp;
}
sum=0;
for(i=a;i<=b;i++)
{
sum += Find_OneNum(i);
}
printf("%ld\n",sum);
}
return 0;
}
]]>
#include<math.h>
#include<stdlib.h>
int i;
int Is_Prime(int a)
{
double t = a;
for(i=2;i<=sqrt(t);i++)
{
if(a % i == 0)
return 0;
}
return 1;
}
int diglen(int c)
{
if(c/10 == 0)
return 1;
int count=0;
while(c)
{
c=c/10;
count++;
}
return count;
}
void IntoStr(int a,char* str) //灝嗘暟瀛楄漿鎹負(fù)瀛楃涓?/span>
{
int h= diglen(a)-1,i=0;
while(h+1)
{
int k,c,d=1;
for(k=0;k<h;k++)
{
d=d*10;
}
c=a/d;//鍙栨湰嬈℃暟瀛楃殑鏈楂樹綅
str[i++] = c+48;
a = a%d; //鍙栦綑鏁?/span>
h--;
}
str[i]='\0'; //鏈鍚庢湯灝懼姞瀛楃涓茬粨鏉熺
}
int Is_Pal(int b)
{
int len = diglen(b);
int ok = 1,j;
char* str = (char*)malloc(sizeof(char)*(len+1));
IntoStr(b,str); //灝嗘暟瀛楄漿鎹負(fù)瀛楃鏁扮粍錛屼篃鍙互鐢╥toa鍑芥暟鎴?sprintf鍑芥暟
for(i=0,j=len-1;i < len/2;i++,j--)
{
if(str[i] != str[j])
ok = 0;
}
free(str);
if(ok == 1)
return 1;
else
return 0;
}
int main()
{
int a,b,j;
scanf("%d%d",&a,&b);
for(j=a;j<=b;j++)
{
if(Is_Prime(j) && Is_Pal(j))
printf("%d\n",j);
}
return 0;
}
]]>
浠g爜錛?br />
#include<cstring>
#include<stack>
using namespace std;
int main()
{
int t,len;
stack<char> mystack;
cin>>t;
while(t--)
{
int ok=0;
char str[100];
cin>>str;
len=strlen(str);
for(int i=0;i<len;i++)
{
switch(str[i])
{
case '(':
case '[':
case '{':
mystack.push(str[i]);
break;
case ')':
if(mystack.top() == '(')
{
mystack.pop();
ok=1;
}
break;
case ']':
if(mystack.top() == '[')
{
mystack.pop();
ok=1;
}
break;
case '}':
if(mystack.top() == '{')
{
mystack.pop();
ok=1;
}
break;
default: break;
}
}
if(ok && mystack.empty())
cout<<"ok"<<endl;
else
cout<<"error"<<endl;
}
return 0;
}
]]>
浠g爜
#include<iostream>
using namespace std;
int main()
{
stack<int> mystack;
int t,m,k;
double b,a;
cin>>t;
while(t--)
{
int c,x[100],d=0,i=0,count=0;
cin>>b>>k;
m=b;
a=b-m;
while(m)
{
c=m%k;
m=m/k;
mystack.push(c);
}
while(1)
{
d=a*k;
if(d>=k)
break;
a=a*k;
x[i++]=d;
count++;
}
while(!mystack.empty())
{
if(mystack.top()<10)
{
cout<<mystack.top();
mystack.pop();
}
else
{
switch(mystack.top())
{
case 10: cout<<"A"; mystack.pop(); break;
case 11: cout<<"B"; mystack.pop(); break;
case 12: cout<<"C"; mystack.pop(); break;
case 13: cout<<"D"; mystack.pop(); break;
case 14: cout<<"E"; mystack.pop(); break;
case 15: cout<<"F"; mystack.pop(); break;
}
}
}
cout<<".";
for(i=0;i<count;i++)
cout<<x[i];
cout<<endl;
}
return 0;
}
]]>
浠g爜濡備笅錛?br />
#define N 10
int Maxcom(int a, int b)
{
while(a!=b)
{
if(a>b)
a=a-b;
else if(b>a)
b=b-a;
}
return a;
}
int main()
{
int a[N][N];
int i,j,max;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(i==1 && j==1)
a[i][j]=1;
else if( i>0 && j>0)
{
max = Maxcom(i,j);
if(max == 1)
a[i][j]=1;
else
a[i][j]=0;
}
else
a[i][j]=0;
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("\n");
return 0;
}
]]>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define Nmax 1000
#define Mmax 10000
char buf[Mmax]; int M=0;
int compare(const void *i, const void *j)
{
return strcmp(*(char **)i, *(char **)j);
}
int main()
{
int i, N;
char *a[Nmax];
for(N=0; N<Nmax; N++)
{
a[N]= &buf[M];
if(scanf("%s", a[N]) == EOF) break;
M+=strlen(a[N])+1;
}
qsort(a,N,sizeof(char*),compare); //鍥涗釜鍙傛暟鍒嗗埆浠h〃錛氬緟鎺掑簭鐨勬暟緇勯鍦板潃錛屾暟緇勪腑寰呮帓搴忕殑鍏冪礌鏁伴噺錛屽悇鍏冪礌鍗犵敤鐨勭┖闂達(dá)紝鎺掑簭鍑芥暟錛堢‘瀹氭帓搴忛『搴忥級(jí)
for(i=0;i<N;i++)
printf("%s\n",a[i]);
return 0;
}
]]>
#include<string.h>
#define N 1000
int main()
{
char a[N];
int i,j,k=0,count[100]={0},max;
printf("Input the a string: "); //杈撳叆瀛楃涓?/span>
gets(a);
for(i=0;a[i]!=0;i++)
{
while(a[i++] == ' ')
{
count[k]++;
if(a[i+1]!=' ')
k++;
}
}
for(j=0;j<k;j++)
{
max=count[0];
if(count[j]<count[j+1])
max=count[j+1];
}
printf("%d\n",max);
return 0;
}
]]>
#include<stdio.h>
#include<string.h>
#define N 1000
int main()
{
char a[N];
int i,j;
printf("Input the a string: "); //杈撳叆瀛楃涓?/span>
gets(a);
for(i=0;a[i]!=0;i++)
{
while(a[i] == ' ' && a[i+1] == ' ')
{
for(j=i;a[j]!=0;j++)
a[j]=a[j+1];
}
}
printf("%s",a);
return 0;
}
]]>
浠g爜嫻嬭瘯閫氳繃錛?br />
#include<string.h>
#define N 1000
int main()
{
char a[N],b[100];
int i,j;
printf("Input the a string: "); //杈撳叆瀛楃涓?/span>
gets(a);
while((scanf("%s",b)) != EOF ) //杈撳叆瑕佹嫻嬬殑瀛愪覆
{
for(i=0;a[i]!=0;i++) //寮濮嬫嫻?/span>
{
for(j=0;b[j]!=0;j++)
{
if(a[i+j]!=b[j]) //濡傛灉瀛楃涓嶅尮閰嶏紝鍒欓鍑烘湰嬈″驚鐜紝榪涜絎竴灞傚驚鐜痠+1
break;
}
if(b[j] == '\0') //濡傛灉b[j] = '\0'錛屽垯璇存槑瀛楃鍖歸厤鍒頒簡(jiǎn)瀛愪覆鐨勬渶鍚庯紝鍖歸厤鎴愬姛錛岃緭鍑哄瓙涓?/span>
printf("%s\n",b);
}
}
return 0;
}
杈撳嚭緇撴灉瀹炰緥錛?br />
]]>
#include<string.h>
#define N 1000
int main()
{
char a[N],b[N];
int i,j=0,k,count=1,z;
static int c=0;
printf("Input the a string: "); //杈撳叆瀛楃涓?/span>
gets(a);
printf("Input the substring: "); //杈撳叆媯(gè)嫻嬬殑瀛愪覆錛屾寜鍏坅鐨勫瓙涓詫紝鍚庨潪a鐨勫瓙涓茶緭鍏?/span>
gets(b);
for(i=0;a[i]!=0;i++)
{
z=0;
for(j=c;b[j]!=0;j++,z++)
{
if(a[i+z]!= b[j] && b[j]!= ' ')
break;
else if( b[j] == ' ')
{
for(k=c;k<j;k++)
{
printf("%c",b[k]); //鎵撳嵃鍑哄瓙涓詫紝涓嶆槸瀛愪覆鐨勪笉鎵撳嵃鍑?/span>
}
printf("\n");
c=j+1;//璺寵劚絀烘牸
}
}
}
return 0;
}
]]>
浠g爜嫻嬭瘯閫氳繃錛?br />
#include<string.h>
#define N 1000
int main()
{
char a[N];
int i,n,m;
printf("Input the string: ");
gets(a);
m=strlen(a);
n=strlen(a)/2;
for(i=0;i<n;i++,m--)
{
if(a[i] == ' ')
{
i++;
}
if(a[m-1] == ' ')
{
m--;
}
if(a[i] != a[m-1])
break;
}
if( i == n)
printf("succeed!\n");
else
printf("No\n");
return 0;
}
]]>
浠g爜嫻嬭瘯閫氳繃錛?br />
#define N 1000
int main()
{
char a[N];
int b[N]={0};
int i,c[N]={0};
printf("Input the string: ");
gets(a);
for(i=0;a[i]!='\0';i++)
{
b[a[i]]++;
}
for(i=0;a[i]!=0;i++)
{
if(c[a[i]] == 0)
{
printf("%c : %d\n",a[i],b[a[i]]);
c[a[i]]=1;
}
}
printf("\n");
return 0;
}
]]>
浠g爜錛?div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all">#include<stdio.h>
#define N 1000
#define M 100
int main()
{
char a[N], b[M];
int i,j,n;
printf("Input the string: ");
gets(a);
printf("Input the word: ");
gets(b);
for(i=0;a[i]!='\0';i++)
{
for(j=0;b[j]!='\0';j++)
{
if(a[i+j]!=b[j]) break;
}
if(b[j] == '\0')
printf("%d ",i);
}
printf("\n");
return 0;
}
]]>
瀹炵幇浠g爜濡備笅錛?br />
#include<stdlib.h>
typedef struct node *link;
struct node{ int item; link next; };
int node_number(link p,int n)
{
int count=0,i;
for(i=0;i<n-1;i++)
{
p=p->next;
}
while(p->item)
{
p->item=0;
p=p->next;
count++;
}
return count;
}
int main()
{
int i,N;
link t=(link)malloc(sizeof(node));
t->item=1;
t->next=t;
link x=t;
for(i=2;i<=10;i++)
{
x = (x->next= (link)malloc(sizeof(node)));
x->item=i;
x->next=t;
}
printf("Please input the order of node: ");
scanf("%d",&N);
printf("total number of nodes is: %d\n",node_number(t,N));
return 0;
}
]]>
榪欎釜闂縐頒負(fù)綰︾憻澶棶棰橈紝鍙互鍒╃敤閾捐〃瑙e喅銆?br />
浠g爜濡備笅錛?br />
#include<stdio.h>
#include<stdlib.h>
typedef struct node *link;
struct node { int item; link next; }; //瀹氫箟緇撶偣
int main()
{
int i,N,M;
printf("Input N and M: "); //N琛ㄧず鍏辨湁N涓漢錛孧琛ㄧず姣忛殧絎琈涓漢瑕佸嚭灞
scanf("%d%d",&N,&M);
link t = (link)malloc(sizeof(node)); //鏂板緩緇撶偣t
link x=t;
t->item = 1; t->next=t; //鍒涘緩涓涓唬琛?鍙風(fēng)殑鍗曚釜鑺傜偣鐨勫驚鐜摼琛?/span>
for(i=2;i<=N;i++)
{
x=(x->next= (link)malloc(sizeof(node)));//灝?~N鍙鋒寜搴忔彃鍒頒箣鍓嶅垱寤虹殑鍗曚釜鑺傜偣鐨勫驚鐜摼琛ㄤ腑
x->item=i; x->next=t;
}
while(x!= x->next) //濡傛灉涓嶆槸鏈鍚庝竴涓妭鐐癸紝鍥犱負(fù)鏄驚鐜摼琛紝鎵浠!=x->next
{
for(i=1;i<M;i++) //鍒欓『鐫閾捐〃鍚戝墠閬嶅巻錛屾暟鍑篗-1涓厓绱?/span>
x=x->next;
printf("%d ",x->next->item);
x->next = x->next->next; //鍒犻櫎絎琈涓厓绱?/span>
N--; //鑺傜偣鏁板噺1
}
printf("\n%d\n",x->item); //鏈鍚庢墦鍗板嚭鏈鍚庝竴涓妭鐐?/span>
return 0;
}
]]>
紼嬪簭濡備笅錛?br />
float distance(point,point); //涓ょ偣涔嬮棿璺濈鍑芥暟
float distance(point a,point b)
{
float dx= a.x - b.x, dy= a.y - b.y;
return sqrt(dx*dx + dy*dy);
}
//浠ヤ笂涓哄ご鏂囦歡 Point.h 鐨勫唴瀹?/span>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include "Point.h"
float randFloat()
{ return 1.0*rand()/RAND_MAX; } //浜х敓闅忔満鏁扮殑鍑芥暟
int main()
{
float d,N;
int i,j,cnt=0;
scanf("%f%f",&d,&N); //d涓鴻姹備袱鐐逛箣闂磋窛紱誨皬浜庣殑闀垮害錛孨涓烘祴璇曠殑鐐?nbsp;
point *a = (point *)malloc(sizeof(point)*N); //鍔ㄦ佺敓鎴愭暟鎹被鍨嬩負(fù)point鐨勬暟緇刟
for(j=i+1;j<N;j++)
if(distance(a[i],a[j])<d) //濡傛灉涓ょ偣涔嬮棿鐨勮窛紱誨皬浜巇錛岄偅涔坈nt鍔?
cnt++;
printf("%d edges shorter than %f\n",cnt,d); //杈撳嚭鏈夊灝戞潯杈圭殑闀垮害灝忎簬d
return 0;
}
]]>
#include<stdio.h>
#include<stdlib.h>
int heads() //榪斿洖0鎴栭潪0鍊?/span>
{
return rand() <RAND_MAX/2;
}
int main()
{
int i,j,cnt;
int N,M;
scanf("%d%d",&N,&M); //鎶涗竴鏋氱‖甯丯=32嬈★紝濡傛鍋歁=1000嬈¤繖鏍風(fēng)殑瀹為獙
int *f=(int *)malloc((N+1)*sizeof(int));
for(j=1;j<=N;j++) //鍒濆鍖栨暟緇勫叏閮ㄤ負(fù)0鍊?/span>
f[j]=0;
for(i=1;i<M;i++,f[cnt]++) //寮濮嬫姏紜竵錛宖[cnt]璁板綍絎琧nt嬈℃姏紜竵鍑虹幇姝i潰鐨勬鏁?/span>
for(cnt=1,j=1;j<=N;j++) //寮濮嬬涓杞叡32嬈$殑鎶涚‖甯佸疄楠?/span>
if(heads()) cnt++; //濡傛灉鍑虹幇姝i潰錛屽嵆heads()榪斿洖鍊間負(fù)1錛屽垯瀵瑰簲鐫f[cnt]++,鍚屾椂cnt++,姝ゅ鍒╃敤鏁扮粍绱㈠紩緇熻姝i潰鍑虹幇嬈℃暟錛岃礋闈㈡暟緇勫煎緇堜負(fù)0
for(j=1;j<=N;j++)
{
printf("%2d ",j);
for(i=0;i<f[j];i+=10) printf("*"); //姝i潰姣忓嚭鐜板崄嬈℃墦鍗頒竴涓槦鍙?/span>
printf("\n");
}
return 0;
}
]]>
#include<stdlib.h>
struct Stu
{
int score;
struct Stu *next;
};
typedef struct Stu Node;
int main()
{
int i;
Node *head,*p,*q;
head=(Node*)malloc(sizeof(Node)); //鍒涘緩澶寸粨鐐?/span>
if(head == NULL)
{
printf("Memory is not enough!");
return 0;
}
head->next=NULL;
for(i=0;i<10;i++)
{
p=(Node*)malloc(sizeof(Node)); //鍒涘緩涓涓柊緇撶偣p
if(p == NULL)
{
printf("no enough memory!");
return 0;
}
printf("Input the %dth student's score: ",i+1);
scanf("%d",&p->score); //杈撳叆鎴愮嘩
q=head;
while(q->next != NULL) //閬嶅巻閾捐〃
{
if(q->next->score < p->score) //濡傛灉鍙戠幇閾捐〃涓殑鏌愪釜鎴愮嘩姣斿綋鍓嶈緭鍏ユ垚緇╁皬錛屽氨璺沖嚭寰幆錛屽湪鍏跺墠闈㈡彃鍏ュ綋鍓嶈緭鍏ユ垚緇?/span>
break;
q=q->next; //緇х畫閬嶅巻鐩村埌閬嶅巻鐨勬垚緇╂瘮褰撳墠杈撳叆鐨勬垚緇╁皬
}
p->next=q->next; //榪欐槸褰撳墠鎴愮嘩鎻掑叆鍒伴摼琛ㄤ腑姣斿叾灝忕殑鎴愮嘩鍓嶉潰鐨勪唬鐮?/span>
q->next=p;
}
p=head->next;
while(p !=NULL)
{
printf("%d ",p->score);
p=p->next;
}
while(p->next !=NULL)
{
q=p->next;
p->next=q->next;
free(q);
}
free(head);
return 0;
}
]]>
鎬濇兂錛歭en2涓哄瓙涓茬殑闀垮害錛岃緗彉閲?i =0, 鍒╃敤strncmp鍑芥暟灝唖tr+i 寮濮嬬殑len2涓瓧絎︿笌瀛愪覆substr榪涜姣旇緝錛屽鏋滅浉絳夛紝鍒檆ount鍔?錛屾鏃?i 鍔?len2錛屽鏋滀笉絳夛紝鍒?i 鍔?錛岀戶緇鎵俱?br />
浠g爜嫻嬭瘯閫氳繃錛?br />
#include<string.h>
int totsubstrnum(char *str, char *substr);
int main()
{
char str[80],substr[80];
printf("Input string: ");
gets(str);
printf("Input substring: ");
gets(substr);
printf("count = %d\n",totsubstrnum(str,substr));
return 0;
}
int totsubstrnum(char *str, char *substr)
{
int i=0,count=0,len1,len2;
len1=strlen(str);
len2=strlen(substr);
while(i <= len1-len2)
{
if(strncmp(str+i,substr,len2) == 0)
{
count++;
i +=len2;
}
else
i++;
}
return (count);
}
]]>
浠g爜嫻嬭瘯閫氳繃錛?br />
#include<string.h>
void strlshif(char *s, int n);
void main()
{
char str[]="0123456789";
strlshif(str,3);
printf("%s\n",str);
}
void strlshif(char *s, int n)
{
int i,len;
char ch;
len=strlen(s);
for(i=0;i<n;i++)
{
ch=s[0];
strncpy(s,s+1,len-1);
s[len-1]=ch;
}
}
閭d箞鑻ユ槸涓嶇敤strncpy鍑芥暟鍔熻兘錛屽浣曚嬌鎸囧畾鐨勫瓧絎︿覆宸︾Щn浣嶏紵
浠g爜嫻嬭瘯閫氳繃錛屽涓嬶細(xì)
#include<string.h>
int main()
{
char str[]="0123456789";
char sstr[80]={0}; //浣跨敤涓鏁扮粍鍌ㄥ瓨縐誨姩鍚庣殑瀛楃涓?/span>
char *p;
int c,j;
static int i,n;
p=&str[0];
printf("input the number: \n");
scanf("%d",&n); //杈撳叆瑕佸乏縐葷殑鍓峮涓瓧絎︼紝鍗沖皢榪檔涓瓧絎︾Щ鍔ㄥ埌鏈鍚庨潰
c=n;
while( c-- && p++ ); //鎵懼埌娌℃湁縐誨姩榪囩殑鍓╀笅鐨勫叏閮ㄥ瓧絎︼紝鎶婂畠浠偍瀛樺湪鏁扮粍sstr 涓?/span>
for(i=0;i<strlen(str)-n;i++)
{
sstr[i]= *p;
p++;
}
p=&str[0]; //鎸囬拡鎸囧悜絎竴涓瓧絎?/span>
for(j=i;j<strlen(str);j++) //灝嗚縐誨姩鐨勫瓧絎︿竴涓竴涓湴“鎺?#8221;鍒版暟緇剆str鍚庨潰
{
sstr[j]= *p;
p++;
}
sstr[j]='\0'; //鏈鍚庡瓧絎︿覆緇撳熬鐢?\0'
printf("%s",sstr);
return 0;
}
]]>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void substr(char *s, int startloc,int len)
{
if((startloc < 0) || (startloc >= strlen(s)) || (len<0))
{
printf("input error!");
exit(0);
}
int i,c=0;
char sstr[80];
while(*s !='\0')
{
if(c!=startloc)
{
++c;
s++;
}
else
{
for(i=0;i<len;i++)
{
sstr[i]= *s;
s++;
}
sstr[i]='\0';
break;
}
}
printf("%s",sstr);
}
int main()
{
char str[80];
int s,l;
printf("Input string: ");
gets(str);
printf("Start Location: ");
scanf("%d",&s);
printf("Substring length: ");
scanf("%d",&l);
substr(str,s,l);
return 0;
}
]]>
浠g爜嫻嬭瘯閫氳繃錛?br />
void mystrcat( char *str,char *destr)
{
while(*str !='\0')
str++;
while(*destr !='\0')
{
*str = *destr;
str++;
destr++;
}
*str = '\0';
}
int main()
{
char str[30],destr[30];
printf("input string and substring: ");
scanf("%s%s",str,destr);
mystrcat(str,destr);
printf("%s",str);
return 0;
}
]]>
浠g爜嫻嬭瘯閫氳繃錛?br />
#include<string.h>
void IntToStr(int n);
char str[80]={0};
int main()
{
int num;
printf("input an integer number: ");
scanf("%d",&num);
IntToStr(num);
printf("The string is: %s\n",str);
return 0;
}
void IntToStr(int n)
{
int i;
if(n == 0)
return;
for(i=strlen(str)-1;i>=0;i--)
str[i+1]=str[i]; //鍚戝悗縐諱竴浣?/span>
str[0]=n%10+0x30; //鏈寮濮嬭緭鍏ョ殑鏁板瓧鏈鍚庝竴浣嶆斁鍦╯tr[0],闅忓悗鍚戝悗縐伙紝鐩村埌n==0
IntToStr(n/10); //n涓嶆柇鍙栭櫎涓綅鐨勫叾浠栭珮浣嶆暟
}
]]>
浠g爜嫻嬭瘯閫氳繃錛?br />
#include<string.h>
int main()
{
char s[1000];
char *p;
p=&s[0];
int len=0,tot=0,ws=0,per_len,i;
gets(s);
len=strlen(s);
for(i=0;i<=len;i++)
{
if( *p >='a' && *p<='z' || *p >='A' && *p<='Z')
{
tot++;
p++;
}
else if( *p == ' ' || *p =='\0')
{
ws++;
p++;
}
}
per_len=tot/ws;
printf("%d\n",per_len);
return 0;
}
]]>
#########
#######
#####
###
#
浠g爜嫻嬭瘯閫氳繃錛?br />
int main()
{
int n,s,i,j,k,c=0;
scanf("%d",&n);
s=2*n-1;
for(i=0;i<n;i++)
{
if(c!=0) //濡傛灉涓嶆槸絎竴琛岋紝鍗硈瑕佸噺2錛屼綔涓鴻緭鍑?鐨勪釜鏁?/span>
s=s-2;
for(k=0;k<c;k++)
{
printf(" ");
}
for(j=0;j<s;j++)
{
printf("#");
}
for(k=0;k<c;k++)
{
printf(" ");
}
c++;
printf("\n");
}
return 0;
}
]]>