C基本

来源:互联网 发布:淘宝拒签怎么申请退款 编辑:程序博客网 时间:2024/05/16 14:42

将数组B中的字符插进A中
#include <string.h>
main()
{
int i,j,k;
char a[20]="cdfhij";
char b[5]="aegk";
puts(a);
puts(b);
for(k=0;k<=3;k++)
 {i=0;
 while((a[i]!='/0')&&b[k]>=a[i]) i++;
 for(j=strlen(a);j>=i;j--)
  a[j+1]=a[j];
 a[i]=b[k];
 }
puts(a);

}

打印魔方
main()
{
int n,i,j,k;
int a[10][10]={0};
scanf("%d",&n);
j=n/2+1;
i=1;
a[1][j]=1;
for(k=2;k<=n*n;k++)
 {
 i=i-1;
 j=j+1;
 if(i<1&&j>n)
  {i=i+2;j=j-1;}
 else
  {if(i<1) i=n;
  if(j>n) j=1;
  }
 if(a[i][j]==0)
  a[i][j]=k;
 else
  {
  i=i+2;j=j-1;a[i][j]=k;
  }


 }
for(i=1;i<=n;i++)
 {for(j=1;j<=n;j++)
  printf("%3d",a[i][j]);
 printf("/n");
 }
}

将一个偶数写成两个素数的和

#include "math.h"
main()
{
int i,j,k,a,b,c;
scanf("%d",&a);
for(b=3;b<=a/2;b+=2)
 {
 for(i=2;i<=sqrt(b);i++)
  if(b%i==0) break;
 if(i>sqrt(b)) c=a-b;
 else continue;
 for(j=2;j<=sqrt(c);j++)
  if(c%j==0) break;
 if(j>sqrt(c))
  printf("%d=%d+%d",a,b,c);

 }


}

打印100内的素数

#include<math.h>
main()
{
int a[100];
int i,j,k,t;
for(i=0;i<100;i++)
 a[i]=i+1;
printf("/n");
for(i=1;i<100;i++)
 {
 j=sqrt(a[i]);
 t=1;
 for(k=2;k<=j;k++)
  {
  if((a[i]%k)==0)
  t=0;
  }
 if(t)
 printf("%d ",a[i]);
 }

}

打印一个数组的鞍点

main()
{
int a[3][3];
int i,j,k,maxi,maxj,max,flag;
for(i=0;i<=2;i++)
 for(j=0;j<=2;j++)
  scanf("%d",&a[i][j]);

for(k=0;k<=2;k++)
 {flag=1;
 max=a[k][0];
 maxi=k;
 maxj=0;
 for(j=1;j<=2;j++)
  if(a[k][j]>max)
   {
   max=a[k][j];
   maxj=j;
   }
 for(i=0;i<=2;i++)
  if(a[i][maxj]<max)
   {flag=0;
   /*break;*/
   }
 if(flag)
  {
  printf("%d %d %d ",maxi,maxj,a[maxi][maxj]);
    break;
  }
 }
 if(!flag)
 printf("no andian!!!!!");

 

}

数单词
main()
{
int i;
int j=0;
char a[20];
char c1,c2;
gets(a);
i=0;
while(a[i]!='/0')
 {c1=a[i];
 if(i==0) c2=' ';
 else c2=a[i-1];
 if ((c1!=' ')&&(c2==' '))
 j++;
 i++;
 }
printf("%d",j);
}


将两个已经升序的字符串升序归并到一个数组中
#include "string.h"
main()
{
char a[]="cdefghijkl";
char b[]="bcoprtuz";
char c[50];
char *p;
int i=0,j=0,k=0;
while(a[i]!='/0'&&b[j]!='/0')
 {
 if(a[i]>b[j])
  {c[k]=b[j];
  j++;
  k++;
  }
 else
  {
  c[k]=a[i];
  i++;
  k++;
  }
 }
 c[k]='/0';
if(a[i]=='/0') p=b+j;
else p=a+i;
strcat(c,p);
puts(a);
puts(b);
puts(c);

}

 

删除一个字符数组中指定的字符
main()
{
char a[20]="dfsfdgjklvcfd";
char b;
int i=0,j=0;
scanf("%c",&b);
puts(a);
printf("%c/n",b);
while(a[i]!='/0')
 {
 if(a[i]!=b) a[j++]=a[i];
 i++;
 }
a[j]='/0';
puts(a);

}


矩阵乘法
main()
{int a[3][2]={2,6,4,5,8,5};
int b[2][2]={2,5,8,9};
int c[3][2];
int i,j,k,sum=0;
for(i=0;i<=2;i++)
 for(j=0;j<=1;j++)
  {
  sum=0;
  for(k=0;k<=1;k++)
   sum=sum+a[i][k]*b[k][j];
  c[i][j]=sum;
  }
for(i=0;i<=2;i++)
 {
 for(j=0;j<=1;j++)
  printf("%3d",a[i][j]);
 printf("/n");
 }
printf("/n");
for(i=0;i<=1;i++)
 {for(j=0;j<=1;j++)
  printf("%3d",b[i][j]);
 printf("/n");}
printf("/n");
for(i=0;i<=2;i++)
 {
 for(j=0;j<=1;j++)
  printf("%3d",c[i][j]);
 printf("/n");
 }

}

原创粉丝点击