质因数分解
# include <stdio.h>
main()
{
int n,i;
scanf("%d",&n);
printf("%d=",n) ;
for(i=2;i<=n;i++)
{
while(n!=i)
{
if(n%i==0)
{
printf("%d*",i);
n=n/i;
}
else
{
break;
}
}
}
printf("%d",i);
return 0;
}
在排好序的数组中插入新的数字
# include <stdio.h>
main()
{
int i,j,x;
int end,temp1,temp2;
int a[11]={10,20,30,40,50,60,70,80,90,100};
scanf("%d",&x);
if(x>a[9])
a[10]=x;
else
{
for(i=0;i<10;i++)
{
if(a[i]>x)
{
temp1=a[i];
a[i]=x;
for(j=i+1;j<11;j++)
{
temp2=a[j];
a[j]=temp1;
temp1=temp2;
}
break;
}
}
}
for(i=0;i<11;i++)
{
printf("%d ",a[i]);
}
return 0;
}
字符串大小写转换
# include <stdio.h>
main()
{
char str[81];
char c,i;
gets(str);
for(i=0;(c=str[i])!='\0';i++)
{
if(c>='a'&&c<='z')
str[i]=c-32;
else
str[i]=c+32;
}
puts(str);
return 0;
}
#判断素数
# include <stdio.h>
main()
{
int n,i,m;
m=1;
scanf("%d",&n);
if(n==1)
{
printf("NO");
}
if(n==12)
{
printf("YES");
}
if(n>2)
{
for(i=2;i<n;i++)
{
if(n%i==0)
{
m=0;
break;
}
}
if(m)
printf("YES");
else
printf("NO99");
}
return 0;
2-100以内素数
# include <stdio.h>
main()
{
int i,j,k;
for(i=2;i<=100;i++)
{
k=1;
for(j=2;j<i;j++)
{
if(i%j==0)
{
k=0;
break;
}
}
if(k)
{
printf("%d ",i) ;
}
}
return 0;
}
筛选法求素数
# include <stdio.h>
# include <math.h>
main()
{
int i,j,n;
int a[101];
for(i=1;i<=100;i++)
{
a[i]=i;
}
a[1]=0;
for(i=2;i<sqrt(100);i++)
{
for(j=i+1;j<=100;j++)
{
if(a[i]!=0&&a[j]!=0)
{
if(a[j]%a[i]==0)
a[j]=0;
}
}
}
for(i=2,n=0;i<=100;i++)
{
if(a[i]!=0)
{
printf("%d ",i) ;
n++;
}
if(n==5)
{
printf("\n");
n=0;
}
}
return 0;
}
输入x,输出y
# include <stdio.h>
# include <math.h>
main()
{
int x,y;
scanf("%d",&x) ;
if(x<-2)
{
y=x*x-sin(x);
}
else
{
if(x>=-2&&x<=2)
{
y=(pow(2,x))+x;
}
else
{
y=sqrt(x*x+x+1);
}
}
printf("x=%d,y=%d",x,y);
return 0;
}
最大值最小值
# include <stdio.h>
# define M 10
main()
{
int i,j,k,a[M];
int max,maxi;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
max=a[0],maxi=0;
for(i=0;i<10;i++)
{
if(a[i]>max)
{
max=a[i];
maxi=i;
}
}
printf("最大值为%d,最大值的下标为%d",max,maxi);
return 0;
}
最小值
# include <stdio.h>
# define M 10
main()
{
int i,j,k,a[M];
int min,mini;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
min=a[0],mini=0;
for(i=0;i<10;i++)
{
if(a[i]<min)
{
min=a[i];
mini=i;
}
}
printf("最小值为%d,最小值的下标为%d",min,mini);
return 0;
}
对角线之和
# include <stdio.h>
main()
{
int i,j;
int a[3][3];
int sum=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(i==j||(i+j)==2)
{
sum=sum+a[i][j];
}
}
}
printf("%d",sum);
return 0;
}
主对角线之和
# include <stdio.h>
main()
{
int i,j;
int a[3][3];
int sum=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<3;i++)
{
sum=sum+a[i][i];
}
printf("%d",sum);
return 0;
}
副对角线之和
# include <stdio.h>
main()
{
int i,j;
int a[3][3];
int sum=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(i+j==2)
sum=sum+a[i][j];
}
}
printf("%d",sum);
return 0;
}
冒泡排序
# include <stdio.h>
main()
{
int i,j,t;
int a[10];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(j=0;j<9;j++)
{
for(i=0;i<9-j;i++)
{
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
判断三角形
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a+b<=c||a+c<=b||b+c<=a)
{
printf("不能构成三角形");
}
else if (a==b||a==c||b==c)
{
if(a==b&&b==c)
{
printf("是等边三角形");
}
else
{
printf("是等腰三角形");
}
}
else if (a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)
{
printf("是直角三角形");
}
else
{
printf("是一般三角形");
}
return 0;
}
统计单词个数
# include <stdio.h>
main()
{
int num,word,i;
num=0;word=0;
char str[81];
char c;
gets(str);
for(i=0;(c=str[i])!='\0';i++)
{
if(c==' ')
word=0;
else if(word==0)
{
word=1;
num++;
}
}
printf("一共有%d个单词",num);
return 0;
}
x的n次幂
# include <stdio.h>
main()
{
int x,n,i,power;
scanf("%d,%d",&x,&n);
power=1;
for(i=1;i<=n;i++)
{
power=power*x;
}
printf("%d\n",power);
return 0;
}
统计大写字母,小写字母,数字,空格,其他个数
# include <stdio.h>
main()
{
char c;
int aleter=0,Aleter=0,number=0,space=0,other=0;
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z')
aleter++;
else if(c>='A'&&c<='Z')
Aleter++;
else if(c>='0'&&c<='9')
number++;
else if(c==' ')
space++;
else
other++;
}
printf("小写字母=%d,大写字母=%d,数字=%d,空格=%d,其他=%d",aleter,Aleter,number,space,other) ;
return 0;
}
对称数
# include <stdio.h>
main()
{
int i,j,k;
for(i=1;i<10;i++)
{
for(j=0;j<10;j++)
{
for(k=0;k<10;k++)
{
if(k==i)
printf("%d%d%d ",i,j,k);
}
}
}
return 0;
}
最大公约数,最小公倍数
# include <stdio.h>
main()
{
int x,y,i,j;
scanf("%d %d",&x,&y);
if(x>y)
i=y;
else
i=x;
while(x%i!=0||y%i!=0)
{
i--;
}
printf("最大公约数=%d",i);
while(j%x!=0||j%y!=0)
{
j++;
}
printf("最小公倍数=%d",j);
return 0;
}
最大十个素数求和:
# include <stdio.h>
# include <math.h>
main()
{
int n,i,j,f;
int sum,num;
sum=0,num=0;
printf("请输入一个数值:");
scanf("%d",&n);
for(i=n,num=0;i>=2,num<=10;i--)
{
f=1;
for(j=2;j<=sqrt(n);j++)
{
if(i%j==0)
{
f=0;
break;
}
}
if(f==1)
{
sum=sum+i;
num++;
printf("%d ",i);
}
}
printf("\n");
printf("输出小于n的最大十个素数之和:\n");
printf("%d\n",sum);
return 0;
}
字符串长度
# include <stdio.h>
main()
{
int i,num;
char str[81];
gets(str);
num=0;
for(i=0;str[i]!='\0';i++)
{
num++;
}
printf("%d",num);
递归调用求阶乘
# include "stdafx.h"
# include <stdio.h>
int f(int n)
{
if(n==1||n==2)
return n;
else
return n*f(n-1);
}
int main(int argc, char** argv)
{
int n,sum;
scanf("%d",&n);
sum=f(n);
printf("%d\n",sum);
return 0;
}
比较大小函数
#include "stdafx.h"
int max2(int a,int b)
{
if(a>b)
return a;
else
return b;
}
int max4(int a,int b,int c,int d)
{
int max2(int,int);
int m;
m=max2(a,b);
m=max2(m,c);
m=max2(m,d);
return m;
}
int main(int argc, char* argv[])
{
int a,b,c,d;
int max;
scanf("%d%d%d%d",&a,&b,&c,&d);
max=max4(a,b,c,d);
printf("max=%d\n",max);
return 0;
}
# include <stdio.h>
main()
{
void sort(int a[],int n);
int i,j;
int a[10];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
sort(a,10);
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
void sort(int a[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(a[j]<a[k])
{
k=j;
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
}
}