练习

质因数分解

# 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;
            }
        }
    }
}

 

 

 

 

 

 

转载于:https://www.cnblogs.com/P201821440046/p/11060189.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值