C(n,m)
#include<stdio.h>
#include<math.h>
#include<string.h>
int main(){
int n,m;
scanf("%d %d",&n,&m);
int i,s1=1,s2=1;
int k=m;
for(i=n;k>0;i--,k--) s1=s1*i;
for(i=1;i<=m;i++) s2=s2*i;
printf("%d\n",s1/s2);
return 0;
}
排序
#include<stdio.h>
#include<math.h>
#include<string.h>
void swap(int &a,int &b){
int t;
t=a;
a=b;
b=t;
}
int main(){
int n,m;
scanf("%d %d",&n,&m);
int a[m];
while(n--){
int i,j;
for(i=0;i<m;i++) scanf("%d",&a[i]);
for(i=0;i<m;i++){
for(j=0;j<m-1;j++){
if(a[j]>a[j+1]) swap(a[j],a[j+1]);
}
}
for(i=0;i<m;i++) printf("%d ",a[i]);
printf("\n");
}
return 0;
}
字符串反转
#include<stdio.h>
#include<math.h>
#include<string.h>
void swap(int &a,int &b){
int t;
t=a;
a=b;
b=t;
}
int main(){
int n,m;
scanf("%d\n",&n);
while(n--){
char ch;
int i=0,l=0;
char a[20];
while((ch=getchar())!='\n'){
a[i++]=ch;
l++;
}
for(i=l-1;i>=0;i--) printf("%c",a[i]);
printf("\n");
}
return 0;
}
判断是否回文
#include<stdio.h>
#include<math.h>
#include<string.h>
void swap(int &a,int &b){
int t;
t=a;
a=b;
b=t;
}
int main(){
int n,m;
scanf("%d\n",&n);
while(n--){
char ch;
int i=0,l=0;
char a[20];
while((ch=getchar())!='\n'){
a[i++]=ch;
l++;
}
int k=l-1;
int flag;
flag=1;
for(i=0;i<(l-1)/2;i++,k--){
if(a[i]!=a[k]){
flag=0;
break;
}
}
if(flag==1) printf("yes\n");
else printf("no\n");
}
return 0;
}