改错填空.

一、
输入输出
#include<stdio.h>
int main(void)
{
    printf("I\n \nL\no\nv\ne\n \nH\nU\nT\n");
    return 0;
}

助学贷款额度计算
#include <stdio.h>
int main()
{
    int fee;
    float lifefee;
    scanf("%d%f",&fee,&lifefee);
    float total=fee*17+lifefee*5;
    printf("%.2f\n",total*0.6);
    return 0;
}

学费计算
#include <stdio.h>

int main()
{
    int xuefen = 3+4+4+2+2+2; // 总学分
    int x,xuefei;
    scanf("%d", &x); // 输入每学分学费
    
    

    xuefei = xuefen * x; // 总学费

    printf("xuefen=%d,xuefei=%d\n", xuefen,xuefei);
    

    return 0;
}

说句心里话
#include<stdio.h>


int main(){
    char a[20];
    char b[50];
    gets(a);
    gets(b);
    printf("%s,I want to say,%s\n",a,b);

    return 0;
}

二、
面试资格确认
#include <stdio.h>
#include <string.h>

int main()
{
    int age;
    char major[50], university;
    scanf("%d%s %c", &age, major, &university);

    if ((strcmp(major, "EIE") == 0 && (age >= 25 || university == 'A')) 
         || (strcmp(major, "CS") == 0 && age <= 28)) {
        printf("YES");
    }
    else {
        printf("NO");
    }

    return 0;
}


电话费用比较
#include<stdio.h>


int main(){
    int a;
    scanf("%d",&a);
    float sum1=0,sum2=0;
    
    sum1=a*0.6;
    sum2=50+a*0.4;
    if(sum1==sum2){
        printf("equal");
    }else if(sum1>sum2){
        printf("GSM");
    }else{
        printf("Easyown");
    }
    
    
    return 0;
}


阶梯电价计算
#include<stdio.h>
int main()
{
    double electricity, fee;
    scanf("%lf", &electricity);
    if(electricity <= 220) {
        fee = electricity * 0.49;
    } else if(electricity <= 400) {
        fee = 220 * 0.49+ (electricity - 220)*0.54;
    } else {
        fee = 220*0.49 + 180*0.54 + (electricity - 400)*0.79;
    }
    printf("%.2lf", fee);
    return 0;
}

空气质量判定
#include <stdio.h>

int main() {
    int level;
    scanf("%d", &level);
    
    char grade;
    if (level <= 50) {
        grade = 'A';
    } else if (level <= 100) {
        grade = 'B';
    } else if (level <= 150) {
        grade = 'C';
    } else if (level <= 200) {
        grade = 'D';
    } else if (level <= 250) {
        grade = 'E';
    } else if (level <= 300) {
        grade = 'F';
    } else {
        grade = 'G';
    }
    printf("%c\n", grade);
    return 0;
}


个税计算器
#include <stdio.h>

int main()
{
    double salary, tax, after_tax;
    scanf("%lf", &salary);
    
    if(salary < 0)
    {
        printf("error");
    }
    else
    {
        double taxable_pay = salary - 5000; 
        
        if(taxable_pay <= 0)  // 不需要缴税
        {
            tax = 0;
            after_tax = salary;
        }
        else if(taxable_pay <= 3000)  // 税率3%
        {
            tax = taxable_pay * 0.03;
            after_tax = salary  - tax;
        }
        else if(taxable_pay <= 12000)  // 税率10%
        {
            tax = taxable_pay * 0.1 - 210;
            after_tax = salary - tax;
        }
        else if(taxable_pay <= 25000) // 税率20%
        {
            tax = taxable_pay * 0.2 - 1410;
            after_tax = salary - tax;
        }
        else if(taxable_pay <= 35000) // 税率25%
        {
            tax = taxable_pay * 0.25 - 2660;
            after_tax = salary - tax;
        }
        else if(taxable_pay <= 55000) // 税率30%
        {
            tax = taxable_pay * 0.3 - 4410;
            after_tax = salary - tax;
        }
        else if(taxable_pay <= 80000) // 税率35%
        {
            tax = taxable_pay * 0.35 - 7160;
            after_tax = salary - tax;
        }
        else  // 税率45%
        {
            tax = taxable_pay * 0.45 - 15160;
            after_tax = salary - tax;
        }
        
        printf("tax:%.2lf,pay:%.2lf", tax, after_tax);
    }
    return 0;
}

分段计算水费
#include<stdio.h>
int main()
{
    double x,y;
    scanf("%lf",&x);
    if (x<=15) {
        y = 4*x/3;
    }
    else{
        y = 2.5*x-10.5;
    }
printf("%.2f",y);
return 0;
}


身份证信息识别
#include <stdio.h>
#include <string.h>

int main()
{
    char id[19];
    int year, month, day;
    char gender;
    scanf("%s", id);
    
    sscanf(id+6, "%4d%2d%2d", &year, &month, &day);
    gender = (id[16] % 2 == 0) ? 'F' : 'M';  // 奇数代表男,偶数代表女
    
    printf("birth:%.4d.%02d.%02d\nsex:%c", year, month, day, gender);

    return 0;
}


三、

水仙花的个数
#include <stdio.h>
#include <math.h>

int main()
{
    int a, b;
    int count = 0;
    scanf("%d,%d", &a, &b);
    
    for (int i = a; i <= b; i++) {
        int temp = i;
        int sum = 0;
        while (temp > 0) {
            int digit = temp % 10;
            sum += pow(digit, 3);
            temp /= 10;
        }
        if (sum == i) {
            count++;
        }
    }

    printf("%d", count);

    return 0;
}

计算SN
#include <stdio.h>

int main()
{
    // 定义变量
    int n, i, x = 1;
    long long sum = 1; // 注意使用长整型
    scanf("%d", &n);

    // 计算Sn的值
    for (i = 2; i <= n; i++) {
        x = -x; // 反转符号
        sum += x * i;
    }

    // 输出结果
    printf("%lld\n", sum);

    return 0;
}


环—求满足条件的数之和
#include "stdio.h"
  int  fun(int n)
  {
 int sum=0,i; 
/***********begin***********/
 for (int i = 1; i <= n; i++) {
        if (i % 3 != 0) {   // 如果i不能被3整除,则累加到sum中
            sum += i;
        }
    }
    return sum;
  /***********end***********/
  }
 int  main( )
  {
     int n;
    scanf("%d",&n);
    printf("s=%d\n",fun(n));
   return 0;
  }

循环—求和
#include "stdio.h"
 int main()
  { 
   int s=0;
   int i;
   int n;
   scanf("%d", &n);
  /***********begin***********/
    for (int i = 1; i <= n; i++) {
        if (i % 7 != 0 && i % 5 != 0) { // 如果i既不能被7整除也不能被5整除,则累加到s中
            s += i;
        }
    }


  /************end************/
    printf("s=%d\n",s);
    return 0;
  }


求sn=a+aa+aaa+aaaa+......的值
#include <stdio.h>

int main(void)
{
    int a, n, i;
    int sum = 0, num = 0;

    scanf("%d %d", &a, &n);

    // 每次循环时计算要加的数值 num,然后将其加到 sum 变量中
    for (i = 1; i <= n; i++) {
        num = num * 10 + a; // 计算每项的值
        sum += num;         // 累加到总和中
    }

    printf("%d\n", sum);

    return 0;
}

求n个数的平均值
#include "stdio.h"
#define N 10
  float  fun(int a[N],int n)  
  {
  /***********begin***********/
 int i,sum = 0;
    // 计算所有整数之和
    for (i = 0; i < n; i++) {
        sum += a[i];
    }
    // 返回平均值
    return sum*1.0/n;
  /***********end***********/
 
  }

int main()
  { 
    int a[N],i;
    for(i=0;i<N;i++) 
        scanf("%d",&a[i]);
    float average;
    average=fun(a,N);
    printf("%.4f\n",average);
    return 0;
  }

求满足条件的数之和

#include "stdio.h"
  int fun(int m,int n)
  {  int sum=0,i; 
  /***********begin***********/
  for(int i=m ; i<=n; i++){
    if (i%3!=0) {
      sum+=i;
    }
  }
  return sum;
  /***********end***********/

  }
 int main( )
  { 
    int m,n;
    scanf("%d,%d",&m,&n);
    printf("s=%d\n",fun(m,n));
    return 0;
  }

一周的日最高气温
#include <stdio.h>

int main()
{
    int temps[7];
    int max = 0;
    
    for (int i = 0; i < 7; i++) {
        scanf("%d", &temps[i]);
        
        // 判断输入气温是否合法
        if (temps[i] < 20 || temps[i] > 84) {
            printf("Temperature input error.\n");
            return 0;
        }
        
        // 更新最高气温
        if (temps[i] > max) {
            max = temps[i];
        }
    }

    printf("max=%d\n", max);

    return 0;
}

存款买房
#include <stdio.h>
#include <math.h>

int main()
{
    // 定义变量并读入
    float total_cost,annual_salary,portion_saved;  
                                                    
    scanf("%f%f%f", &total_cost,&annual_salary,&portion_saved);
    //计算首付款
    float down_payment=total_cost*0.3;
    // 输出结果
    printf("%.2f,",down_payment);
    //计算月存款
    float current_savings = annual_salary/12*(0.01*portion_saved);
    // 输出结果
    printf("%.2f,",current_savings);
    // 计算所需月份数
    int required_month;
    scanf("%d",required_month);
    required_month = ceil (down_payment / current_savings); 

    // 输出结果
    printf("%d\n", required_month);

    return 0;
}


电报换字符
#include <stdio.h>

int main()
{
    // 定义字符串并读入
    char str[100];
    fgets(str, 100, stdin);

    // 遍历字符串,并将字母转换为其下一字母
    int i;
    for (i = 0; str[i] != '\0'; i++) {
        if ((str[i] >= 'A' && str[i] < 'Z') || (str[i] >= 'a' && str[i] < 'z')) {
            str[i]++;
        } else if (str[i] == 'Z') {
            str[i] = 'A';
        } else if (str[i] == 'z') {
            str[i] = 'a';
        }
    }

    // 输出结果
    printf("%s\n", str);

    return 0;
}


体操比赛打分
#include <stdio.h>

int main()
{
    // 定义变量
    double score[10];
    double max, min, sum = 0;
    int i;

    // 输入10名裁判的打分
    for (i = 0; i < 10; i++) {
        scanf("%lf", &score[i]);
        sum += score[i]; // 求和
    }

    // 找出最高分和最低分并求和
    max = min = score[0];
    for (i = 1; i < 10; i++) {
        if (score[i] > max) {
            max = score[i];
        }
        if (score[i] < min) {
            min = score[i];
        }
    }
    sum -= (max + min);

    // 计算平均分并输出结果
    printf("%.3f %.3f %.3f\n", max, min, sum / 8);

    return 0;
}

求最大公约数和最小公倍数
#include<stdio.h>
//编写最大公约数GCD函数
/*********Begin*********/
long long int GCD(long long int m, long long int n) {
    int r;
    r = m % n;
    while (r != 0) {
        m = n;
        n = r;
        r = m % n;
    }
    return n;
}
/*********End**********/ 

//编写最小公倍数函数
/*********Begin*********/
long long int LCD(long long int m, long long int n) {
    long long int L;
    L = m * n / GCD(m, n);
    return L;
}

/*********End**********/ 
int main(void) {
    long long int m, n, gc, lc;
    scanf("%lld %lld", &m, &n);
    if (m < 0 || n < 0) {
        printf("Input Error");
        return 0;
    }
    gc = GCD(m, n);
    lc = LCD(m, n);
    printf("%lld %lld", gc,lc);
    
    return 0;
}


不及格成绩统计
#include <stdio.h>

int main()
{
    // 定义变量
    int scores[40], num, i, count = 0;

    // 输入学生数
    printf("Enter the number:\n");
    scanf("%d", &num);

    // 输入每个学生的成绩
    for (i = 0; i < num; i++) {
        scanf("%d", &scores[i]);
        if (scores[i] < 60) {
            count++;
        }
    }

    // 输出不及格人数
    printf("count=%d\n", count);

    return 0;
}


四、
输出若干学生的最高成绩
#include <stdio.h>
int main(void) 
{
  int score,max;
  scanf("%d",&score);
  max= score;
   while (score>=0)
  {
           if(max< score) 
                  max=score;
           scanf("%d",&score);
  }
          printf("%d",max);
  return 0;
 }

输出低于平均分的学生成绩
#include <stdio.h>
int main(void) 
    { 
        float x[100],sum=0,ave,a;
        int n=0,i;
        scanf("%f", &a);
        while(a>=0.0 && n<100)
        { 
          sum+=a;
          x[n]=a;
          n++;     
          scanf("%f", &a);
        }
        ave=sum/n;  
        printf("ave = %.2f\n",ave);
        printf("-----------OUTPUT---------------\n");
        for(i=0; i<n; i++)
            if(x[i]<ave)  
              printf("%.1f\n",x[i]);
        return 0;
}

将字符串中的数字放入另一数组
#include "stdio.h"  
#include "string.h"
int main(void) 
    { 
       char s[80],d[80]; 
       int i,j; 
       scanf("%s",s);         
       for(i=j=0;s[i]!='\0';i++) 
            if(isdigit(s[i]))     
            {
              d[j]=s[i]; 
              j++;    
            } 
       d[j] = '\0'; 
       puts(d); 
       return 0;
    } 


查找n在数组中最后一次出现的位置
#include  <stdio.h>
int main(void)

    int a[5];
    int  i,k,n,f=0;
    for(i=0;i<=4;i++) scanf("%d",&a[i]);
    scanf("%d",&n); 
    for(i=0;i<10;i++)
  /************found************/
        if(a[i+1] == n) 
        { 
            f=1;
  /************found************/ 
            k = i + 1; 
        }
    if(f)  
      printf("%d  is  No. %d\n", n,k); 
    else  
      printf(" %d not found !\n",n);
     return 0; 
}


求回文数的和
#include <stdio.h>
int hws(long n)
{  
  long x=n,t=0,k;
  while(x>0)
  {  
      k=x%10;
      t = t*10 + k;
      x=x/10;
   }
   if(t==n) return 1;
   else return 0;
}
int main(void) 

     long k,s=0;
     for(k=200; k<=2000;k++)
        if(hws(k)!=0) 
              s=s+k;
     printf("%ld ",s);
     return 0;
}


用递归法把整数逆序输出
#include <stdio.h>
int main(void) 

    int  n;
    void r(int m);
    scanf("%d",&n);
     r(n);
    return 0;
}
void r(int m)

    printf ("%d",m%10);
    if (m/10>0) {
        m=m/10;
        r(m);
    };
}


求最高分
#include <stdio.h>
int main(void) 
{
   int score,max;
    scanf("%d",&score);  
  max= score;
   while (score>=0)
  {
           if(max< score) 
                  max=score;
           scanf("%d",&score);
  }
          printf("%d",max);
  return 0;
 }


数组元素最小值
#include <stdio.h>
#define  M   11  
int main()

    int a[M],i;
    for(i=0;i<M-1;i++)
        scanf("%d",&a[i]);
     a[M-1]=a[0];
  /************found************/
    for(i=1;i<M;i++)
  /************found************/
        if(a[i]<a[0])  
            a[M-1]=a[i];
    printf("Min is %d\n",a[M-1]);
    return 0;  
}

五、
二维数组求最大值
#include <stdio.h>
    int main(void) 
    {
       int max,i,j,r,c;
       int a[3][4];
       for(i=0;i<=2;i++)
        for(j=0;j<=3;j++)
            scanf("%d",&a[i][j]);
/***********found***********/       
       max=a[0][0];
       for(i=0;i<=2;i++)
        for(j=0;j<=3;j++)
/***********found***********/
               if(a[i][j]>max)
               {
                  max= a[i][j];
                  r=i;
                  c=j;
               }
       printf("max=%d,row =%d,colum=%d \n",max,r,c);
        return 0;
    }


字符串连接
#include  <stdio.h>
#include  <string.h>
int main(void) 
{      
    char   s1[80],s2[40];
    int    i = 0,j = 0;
    scanf("%s",s1);
    scanf("%s",s2);
    while(s1[i]!= '\0' )
          i++;
    while(s2[j]!= '\0' )
/***********found***********/
        s1[i++]=s2[j++];
/***********found***********/
    s1[i]='\0';
    printf("%s",s1);
    return 0;
}


一维数组元素求平均值
#include <stdio.h> 
int main()

    int a[10],i;
/************found************/
    float aver,s;
    for(i=0;i<10;i++) 
        scanf("%d",&a[i]);  
  /************found************/
    s = a[0];
    for ( i=1; i<10; i++)
        s += a[i]; 
    aver =  s / i;
    printf("The aver is:%.2f\n", aver);
}


在数组中查找一个给定的数第一次出现的下标位置
#include <stdio.h>
int main(void)
{   int i, flag, x;
    int a[5];    
    for(i = 0; i < 5; i++) 
        scanf("%d", &a[i]);
    scanf("%d", &x);
    flag = 0;
   /*************found**************/   
    for(i = 0; i < 5; i++) 
        if(a[i] == x)
        { 
            printf("Index is %d\n", i);
            flag = 1;
            break;
        }
    /*************found**************/
    if(flag==0)  printf("Not Found\n");
    return 0;
}   

删除数组元素
#include <stdio.h>
    int main(void)
    {
    int a[10],i,num;
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    scanf("%d",&num); /*输入要删除的元素序号*/
    for(i=num;i<10;i++)
    /***********found***********/
        a[i-1]= a[i]; 
    a[9]=0; 
       /***********found***********/
    for(i=0;i<9;i++) 
    printf("%d  ", a[i]); 
    return 0;
    }


数组运算
#include <stdio.h>
  int main()
  { int a[10]={},i,min,pos;
    for(i=0;i<10;i++)  scanf("%d",&a[i]);
     /************found************/
    min = a[0];
    pos = 0;
    for ( i=1; i<10; i++)
      if (min > a[i])
      {
    min = a[i];
  /************found************/
    pos = i;
      }
     printf("The min is:%d ,pos is:%d\n", min , pos);
  }


求一维数组中的最小值及其下标
#include <stdio.h>
int main()
{ int a[10],i,min,pos;
    for(i=0;i<10;i++)  scanf("%d",&a[i]);
     /************found************/
    min = a[0];
    pos = 0;
    for ( i=1; i<10; i++)
      if (min > a[i])
      {
          min = a[i];
  /************found************/
          pos = i;
      }
     printf("The min is:%d ,pos is:%d\n", min , pos);
}


打印出五级记分成绩
#include <stdio.h>
int main()

    int score,t;
    do{
      scanf("%d",&score);
    } while(score<0||score>100);
/*************found**************/
    t=score/10;
    switch(t)
    { case 10:
      case 9:printf("优秀!\n");break;
      case 8:printf("良好!\n");break;
      case 7:printf("中等!\n");break;
      case 6:printf("及格!\n");break;
  /*************found**************/
      default :printf("不及格!\n");
    }
}


数组元素中偶数之和
#include <stdio.h>
  int main()
  { int a[10],i,s;
    for(i=0;i<10;i++)   scanf("%d",&a[i]);
    s = 0;
    for ( i=0; i<10; i++)
 /************found************/
      if (a[i] % 2 ==0)
  /************found************/
         s = s + a[i];
    printf("The result is:%d\n", s);
  }


求和
#include <stdio.h>
double fun(int m)
{ double fac, t=0.0;
   int i=1, j;
  for(i=1;i<=m;i++)
  { fac=1.0;
 /************found************/
    for(j=1; j<=i; j++)       
       fac=fac*j;
 /************found************/      
   t+=1/fac;
  }
  return t; 
}
int main(void) 
{ int m;
scanf("%d", &m);
printf("%12.10lf \n",fun(m));
return 0; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值