c语言复试复习,菜鸟100例

// 题目一    有1、2、3、4个数字,
//能组成多少个互不相同且无重复数字的三位数?都是多少?
#include<stdio.h>
int main(){
  int d=0;
  int a[4]={1,2,3,4};
  for(int i=0;i<=3;i++)
   { for (int j=0;j<=3;j++)
       for(int m=0;m<=3;m++)
         { if(i!=j&&i!=m&&j!=m)
          {
             printf("%d%d%d\n",a[i],a[j],a[m]);
             ++d;
          }
         }}
      printf("一共有%d个数字",d);
}
 1 /*题目二  企业发放的奖金根据利润提成。 
 2 
 3 利润(I)低于或等于10万元时,奖金可提10%;
 4 利润高于10万元,低于20万元时,低
 5 于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
 6 20万到40万之间时,高于20万元的部分,可提成5%;
 7 40万到60万之间时高于40万元的部分,可提成3%;
 8 60万到100万之间时,高于60万100元的部分,可提成1.5%;
 9 高于100万元时,超过100万元的部分按1%提成。
10 从键盘输入当月利润I,求应发放奖金总数?*/
11 #include<stdio.h>
12 int main()
13 {
14     double i;
15     double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
16     printf("你的净利润是:\n");
17     scanf("%lf",&i);
18     bonus1=100000*0.1;
19     bonus2=bonus1+100000*0.075;
20     bonus4=bonus2+200000*0.05;
21     bonus6=bonus4+200000*0.03;
22     bonus10=bonus6+400000*0.015;
23     if(i<=100000) {
24         bonus=i*0.1;
25     } else if(i<=200000) {
26         bonus=bonus1+(i-100000)*0.075;
27     } else if(i<=400000) {
28         bonus=bonus2+(i-200000)*0.05;
29     } else if(i<=600000) {
30         bonus=bonus4+(i-400000)*0.03;
31     } else if(i<=1000000) {
32         bonus=bonus6+(i-600000)*0.015;
33     } else if(i>1000000) {
34         bonus=bonus10+(i-1000000)*0.01;
35     }
36     printf("提成为:bonus=%lf",bonus);
37  
38     printf("\n");
39 }      

 

 

/*题目二 数学运算 省略一个整数加上100后是一个完全平方数,
再加上168又是一个完全平方数,请问该数是多少?*/

#include<stdio.h>
int main(){

} 
/*题目四  
输入某年某月某日,判断这一天是这一年的第几天?*/

#include<stdio.h>
int main(){
 int year,month,day,sum;
 printf("请输入年月日,用空格隔开");
 scanf("%d,%d,%d",&year,&month,&day);
 switch(month)
 {     case 1: sum=0;break;
       case 2: sum=31;break;
        case 1:sum=0;break;
        case 2:sum=31;break;
        case 3:sum=59;break;
        case 4:sum=90;break;
        case 5:sum=120;break;
        case 6:sum=151;break;
        case 7:sum=181;break;
        case 8:sum=212;break;
        case 9:sum=243;break;
        case 10:sum=273;break;
        case 11:sum=304;break;
        case 12:sum=334;break;
        default:printf("data error");break;
 }
    sum=sum+day; // 再加上某天的天数
    if(year%400==0||(year%4==0&&year%100!=0)) {// 判断是不是闰年
        leap=1;
    } else {
       leap=0;
    }
    if(leap==1&&month>2) { // *如果是闰年且月份大于2,总天数应该加一天
        sum++;
    }
    printf("这是这一年的第 %d 天。",sum);
    printf("\n");
}
/* 第五题 输入三个整数x,y,z,请把这三个数由小到大输出*/
#include<stdio.h>
int main(){
    int a[3];
    int s;
   for(int i=0;i<=2;i++)
   { printf("请输入第%d个数",i+1);
     scanf("%d",&a[i]);
   }
  for(int i=0; i<=1;i++){
      for(int j=0;j<=3-1-i;j++){
           if(a[j]>a[j+1]){s=a[j];a[j]=a[j+1];a[j+1]=s;}
      }
      s=0;
  }
     for(int i=0;i<=2;i++)
   { printf("第%d个数为%d\n",i+1,a[i]);
    
   }
  
}
/*第六题  题目:用*号输出字母C的图案。*/
#include <stdio.h>
int main()
{
    printf("用 * 号输出字母 C!\n");
    printf(" ****\n");
    printf(" *\n");
    printf(" * \n");
    printf(" ****\n");
}
/*题目八:输出9*9口诀。*/
#include <stdio.h>
int main()
{
 printf("九九乘法口诀\n");
 for(int i=1;i<10;i++)
 { for (int j=1;j<=i;j++)
  { printf("%d*%d=%d ",i,j,i*j);
 
  }
   printf("\n");
 
 }
}
/*题目九:古典问题(兔子生崽):有一对兔子,
从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,
假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)*/
//  1 1 2 3 5 从三个月开始,每个月是前两个月相加 
#include <stdio.h>
int main()
{   int a=1,b=1,c=0;
    printf("兔子的个数是\n 1\n 1\n");
    for (int i=1;i<=38;i++){
       printf("第%d个月: %d\n",i+2,a+b);
       c=a+b;
       a=b;
       b=c;
    } 

}
/*题目十:判断101到200之间的素数。*/
#include <stdio.h>
int main()
{   int a=0;  
  for(int i=101;i<201;i++){
     for(int j=2;j<i;j++){
        if(i%j==0){
         a=1;
        }
     }
     if(a==1){}
     else printf("%d是素数\n",i);
     a=0; 
} 

}
/*题目十一:打印出所有的"水仙花数",
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。
例如:153是一个"水仙花数",
因为153=1的三次方+5的三次方+3的三次方。*/
#include <stdio.h>
int main()
{  for(int i=100;i<1000;i++){
    int a=i/100;
    int b=i/10%10;
    int c=i%100%10;
    if(a*a*a+b*b*b+c*c*c==i){printf("%d\n",i);}

} 
} 
/*题目11:将一个正整数分解质因数。
例如:输入90,打印出90=2*3*3*5。*/
#include <stdio.h>
int main()
{  不会,留着 
} 
/*15题利用条件运算符的嵌套来完成此题:
学习成绩>=90分的同学用A表示,
60-89分之间的用B表示,
60分以下的用C表示。*/
#include <stdio.h>
int main()
{  float score;
   char grade;
   printf("请输入成绩\n");
   scanf("%f",&score);
   printf("您的等级是%c",(score>=90)?'a':(score>=60)?'b':'c'); 
} 
/*16题输入两个正整数m和n,求其最大公约数和最小公倍数。*/
#include <stdio.h>
int main()
{ /*最小公倍数=输入的两个数之积除于它们的最大公约数
    最大公约数= 辗转相除法最后的除数 

  辗转相除法
    77 28的最大公因数
     77>28  77%28=21
               28%21=7
                  21%7=0 所以7是最大公因数/最大公约数 
*/ 
    int m,n;  int d;
    int max,min;
    printf("请输入两个正整数\n");
    scanf("%d %d",&m,&n);
    //求最大公约数
     if(m>n){max=m;min=n;}
     else {max=n;min=m;}
     d=max%min;
     while(d!=0){
       max=min;
       min=d;
       d=max%min;
     }
     printf("最大公约数是%d",min);
      
} 
/*17题输入一行字符,分别统计出其中
英文字母、空格、数字和其它字符的个数。*/
#include <stdio.h>

int main()
{
    char c;
    int letters=0,spaces=0,digits=0,others=0;
    printf("请输入一些字母:\n");
    while((c=getchar())!='\n') //一个一个的比较
    {
        if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) //字母
            letters++;
        else if(c>='0'&&c<='9') //数字
            digits++;
        else if(c==' ')  //空格
            spaces++;
        else
            others++;
    }
    printf("字母=%d,数字=%d,空格=%d,其他=%d\n",letters,digits,spaces,others);
    return 0;
     
} 
/*18求s=a+aa+aaa+aaaa+aa...a的值,其
中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制*/
#include<stdio.h>
int main()
{
    int s=0,a,n,t;
    printf("请输入 a 和 n:\n");
    scanf("%d%d",&a,&n);
    t=a;
    while(n>0)
    {
        s+=t;
        a=a*10;
        t+=a;
        n--;
    }
    printf("a+aa+...=%d\n",s);
    return 0;
}

题目一 a[5]={}; for可在里面定义i

题目二 printf输入输出用%f    double输入输出用%lf   L

题目四 能被400整除为闰月 能被四整除且不能被100整除的为闰月,闰月二月29天,平年二月为28天

闰月算法if(year%400==0||(year%4==0&&year%100!=0))

情况 switch(year){case 1:…..break; default: printf("data error");break;}要加break

题目九 兔子生仔 1 1 2 3 5

题目十 判断n是否是素数,n%i i从2到n-1

题目十一水仙花数153=1的三次方+5的三次方+3的三次方。

题目十二 最小公倍数=输入的两个数之积除于它们的最大公约数

          最大公约数= 辗转相除法最后的除数

  辗转相除法

    77 28的最大公因数

        77>28  77%28=21

                   28%21=7

                                        21%7=0 所以7是最大公因数/最大公约数

            scanf("%d %d",&m,&n); 输入时用空格隔开

scanf("%d,%d",&m,&n);输入时用,隔开

17题while((c=getchar())!='\n') 按字符,以换行结束

     if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) //字母
elseif(c>='0'&&c<='9') //数字
elseif(c=='')  //空格
posted @ 2021-03-04 16:31  贪睡地蜗牛  阅读(75)  评论(0编辑  收藏  举报