01串:
#include <stdio.h>
int main(){
int a,b,c,d,e;
for(a=0;a<2;a++){
for(b=0;b<2;b++){
for(c=0;c<2;c++){
for(d=0;d<2;d++){
for(e=0;e<2;e++){
printf("%d%d%d%d%d\n",a,b,c,d,e);
}
}
}
}
}
return 0;
}
fabonacci数列:
#include<stdio.h>
int main()
{
long s=0,f1=1,f2=1,f3=1,n=0;
scanf("%lld",&n);
if(n>2)
{
for(s=3;s<=n;s++)
{
f3=(f2+f1)%10007;
f1=f2;
f2=f3;
}
}
printf("%lld\n",f3);
return 0;
}
//input:10
//output:55
查找整数:
#include <stdio.h>
int main(){
int i,n;
scanf("%d",&n);
int number[n];
for(i=0;i<n;i++){
scanf("%d",&number[i]);
}
int j,count;
scanf("%d",&j);
count=1;
for(i=0;i<n;i++){
if(j==number[i]){
printf("%d",count);
break;
}
else count++;
}
if(i==n)
printf("%d",-1);
return 0;
}
回文数:
#include <stdio.h>
int main()
{
int huiwen,a,b,c,d;
for(huiwen=1000;huiwen<10000;huiwen++){
a=huiwen/1000%10;//千位
b=huiwen/100%10;//百位
c=huiwen/10%10;//十位
d=huiwen%10;
if(a==d&&b==c)
printf("%d\n",huiwen);
}
return 0;
}
闰年判断:
#include <stdio.h>
int main(){
int y;//y表示当前的年份
scanf("%d",&y);
if(y%400==0||(y%4==0&&y%100!=0)){
printf("yes");
}
else printf("no");
return 0;
}
十进制转十六进制:
#include "stdio.h"
int main()
{
int num=0;//要转换的数
int a[100];
int i=0;
int m=0;
int yu;
char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
scanf("%d",&num);
if(num==0){
printf("%d",0);
}
while(num>0)//输入的数大于0
{ yu=num%16; //对16取余
a[i++]=yu; //余数
num=num/16;
}
for(i=i-1;i>=0;i--)
//倒序输出
{m=a[i];
printf("%c",hex[m]);
}
printf("\n");
return 0;
}
十六进制转八进制:
#include<stdio.h>
#include<string.h>
int getN(char s)
{
if (s>='0'&&s<='9'){
return s-48;
}
else{
return s-55;
}
}
int NO[400002];
int N[400002];
char s[100002];
int main()
{
int i,n,j,l;
scanf("%d",&n);
while(n--)
{
scanf("%s",s);
int slen=strlen(s);
int k=0,m=0;
for(j=slen-1;j>=0;j--){
int num=getN(s[j]);
int count=4;
while(count--)
{
NO[k++]=num%2;
num=num/2;
}
}
int cnt=1,x=0;
for(i=0;i<k;i++){
if(cnt==4||i==k-1){
x=cnt*NO[i]+x;
cnt=1;
N[m++]=x;
x=0;
}
else{
x=cnt*NO[i]+x;
cnt*=2;
}
}
if(N[m-1]!=0||m==1)
printf("%d",N[m-1]);
for(l=m-2;l>=0;l--){
printf("%d",N[l]);
}
printf("\n");
}
return 0;
}
十六进制转十进制:
#include<stdio.h>
#include<string.h>
#include<math.h>
int getN(char s)
{
char nn;
switch(s)
{
case'0':nn=0;break;
case'1':nn=1;break;
case'2':nn=2;break;
case'3':nn=3;break;
case'4':nn=4;break;
case'5':nn=5;break;
case'6':nn=6;break;
case'7':nn=7;break;
case'8':nn=8;break;
case'9':nn=9;break;
case'A':nn=10;break;
case'B':nn=11;break;
case'C':nn=12;break;
case'D':nn=13;break;
case'E':nn=14;break;
case'F':nn=15;break;
}
return nn;
}
int main()
{
char s[9];
gets(s);
char i;
long long sum=0;
for(i=strlen(s)-1;i>=0;i--)
{
int num=getN(s[i]);
sum+=num*pow(16,strlen(s)-i-1);
}
printf("%lld\n",sum);
return 0;
}
//FE65CDBA
//输出4268084666
数列排序:
#include<stdio.h>
int main(){
int n,i,j,z;
int number;
int sum[201];
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&sum[i]);
}
for(j=0;j<n-1;j++){
for(i=0;i<n-j-1;i++){
if(sum[i]>sum[i+1]){
number=sum[i];
sum[i]=sum[i+1];
sum[i+1]=number;
}
}
}
for( z=0;z<n;z++){
printf("%d ",sum[z]);
}
return 0;
}
数字特征:
#include <stdio.h>
#include <stdlib.h>
int main(){
int n;//n表示数的个数
scanf("%d",&n);
int i,max,min,sum=0;
int number[n];
for(i=0;i<n;i++){
scanf("%d",&number[i]);
}
max=number[0];
min=number[0];
for(i=0;i<n;i++){
if(number[i]>max){
max=number[i];
}
else if(number[i]<min){
min=number[i];
}
sum+=number[i];
}
printf("%d\n%d\n%d\n",max,min,sum);
return 0;
}
特殊的回文数:
#include <stdio.h>
int main()
{
int i,n,a1,a2,a3,a4,a5,b1,b2,b3,b4,b5,b6;
scanf("%d",&n);
for(i=10000;i<100000;i++){
a1=i/10000%10;
a2=i/1000%10;
a3=i/100%10;
a4=i/10%10;
a5=i%10;
if((n==a1+a2+a3+a4+a5)&&(a1==a5)&&(a2==a4)){
printf("%d\n",i);
}
}
for(i=100000;i<1000000;i++){
b1=i/100000%10;
b2=i/10000%10;
b3=i/1000%10;
b4=i/100%10;
b5=i/10%10;
b6=i%10;
if((n==b1+b2+b3+b4+b5+b6)&&(b1==b6)&&(b2==b5)&&(b3==b4)){
printf("%d\n",i);
}
}
return 0;
}
特殊的数字:
#include <stdio.h>
#include <math.h>
int main()
{
int a,m,n,z;
for(a=100;a<1000;a++){
m=a/100;
n=a/10%10;
z=a%10;
if(a==pow(m,3)+pow(n,3)+pow(z,3)){
printf("%d\n",a);
}
}
return 0;
}
杨辉三角形:
#include <stdio.h>
#define N 35
int main()
{
int n,i,j;
scanf("%d",&n);
int P[N][N];
for(i=0;i<n;i++){
for(j=0;j<=i;j++){
if(j==0||j==i)
P[i][j]=1;
else
P[i][j]=P[i-1][j-1]+P[i-1][j];
}
}
for(i=0;i<n;i++){
for(j=0;j<=i;j++){
if(i==j)
printf("%d\n",P[i][j]);
else
printf("%d ",P[i][j]);
}
}
return 0;
}
字母图形:
#include <stdio.h>
#include <stdlib.h>
int main(){
int n,m;
scanf("%d%d",&n,&m);//要输出的图形的行数和列数
int i,j;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("%c",65+abs(i-j));
}
printf("\n");
}
return 0;
}
圆的面积:
#include <stdio.h>
#include <math.h>
#define PI 3.14159265358979323
int main(){
int r ;//r为圆的半径
scanf("%d",&r);
printf("%0.7f\n",PI*pow(r,2));//pow函数:计算r的2次方
return 0;
}
序列求和:
#include <stdio.h>
#include <math.h>
int main()
{
int n,i;
long long sum=0;//sum:1+2+3+4+...+n
scanf("%d",&n);
for (i=1;i<=n;i++){
sum=sum+i;
}
printf("%lld",sum);
return 0;
}