大学生期末必备:C语言习题(顺序 选择 循环)

一级目录顺序

在这里插入图片描述

//温度转换 c=5/9(f-32) 
#include <stdio.h>
int main()
{
 double c,f;
 scanf("%lf",&f);
 c=(5.0/9.0)*(f-32.0);
 printf("c=%lf",c);
 return 0;
}
 

在这里插入图片描述

//利息
#include <stdio.h>
int main()
{
    float m,r1,r2,r3,p1,p2,p3;
    
    m=1000,r1=0.0036,r2=0.0225,r3=0.0198;
    
    p1=m*(1+r1);
    p2=m*(1+r2);
    p3=m*(1+r3);
    
    printf("p1=%f,p2=%f,p3=%f",p1,p2,p3);
    return 0;
 } 

在这里插入图片描述

#include <stdio.h>
int main()
{
 char c,ch;
 c='A';
 ch=c+32;
 printf("c=%c\nch=%c\n",c,ch);
 return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 float a,b,c,s,area;
 printf("Please input a b c:");
 scanf("%f%f%f",&a,&b,&c);
 s=(a+b+c)/2.0;
 area=sqrt(s*(s-a)*(s-b)*(s-c));
 printf("area=%f",area);
 return 0;
}

在这里插入图片描述

#include <stdio.h>
#include <math.h>
int main()
{
    float a,b,c;
 double d,x1,x2; 
 printf("Please input a b c:");
 scanf("%f%f%f",&a,&b,&c);
 d=b*b-4*a*c;
 if(a==0)
 {
  x1=x2=-b/c;
 }
 else
 {
  if(d>=0)
  {
   x1=(-b+sqrt(d))/(2*a);
   x2=(-b-sqrt(d))/(2*a);
  }
  else
  {
   x1=-b/(2*a)+sqrt(d)/(2*a);
   x2=-b/(2*a)+sqrt(d)/(2*a);
  }
 }
 printf("x1=%f,x2=%lf",x1,x2);
 return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 double a=1.0;
 printf("%f",a/3);
 return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 float a;
 a=1.0;
 a=a/3.0;
 printf("%f",a);
 return 0;
 } 

在这里插入图片描述

#include <stdio.h>
int main()
{
 char a,b,c;
 a='B';
 b='O';
 c='Y';
 putchar(a);
 putchar(b);
 putchar(c);
 return 0;
 
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 char a,b,c;
 printf("Please input a b c:");
 a=getchar();
 b=getchar();
 c=getchar();
 putchar(a);
 putchar(b);
 putchar(c);
 return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 char c,ch;
 printf("Please input c:");
 c=getchar();
 ch=c+32;
 putchar(ch);
 return 0;
}

二级目录分支

在这里插入图片描述

#include <stdio.h>
#include <math.h>
int main()
{
 float a,b,c,d;
 float x,x1,x2;
 float p,q;
 printf("Please input a b c:");
 scanf("%f%f%f",&a,&b,&c);
 d=b*b-4*a*c;
 p=-b/(2*a);
 q=sqrt(-d)/2*a;
 if(a==0)
 {
  x=-c/b;
  printf("x=%f",x);
 }
 else
 {
  if(d>=0)
  {
   x1=(-b+sqrt(d))/2*a;
   x2=(-b-sqrt(d))/2*a;
   printf("x1=%f,x2=%f",x1,x2);
  }
  else
  {
  
   printf("x1=%f+%fi,x2=%f-%fi",p,q,p,q);
  }
 }
 return 0;
 } 

在这里插入图片描述

#include <stdio.h>
int main()
{
 int a,b,t;
 printf("Please input a b:");
 scanf("%d%d",&a,&b);
 if(a<b)
 {
  printf("%d,%d",a,b);
 }
 else
 {
  printf("%d,%d",b,a);
 }
 return 0;
}
#include <stdio.h>
int main()
{
 int a,b,t;
 printf("Please input a b:");
 scanf("%d%d",&a,&b);
 if(a>b)
 {
  t=a;
  a=b;
  b=t;
 }
 printf("%d,%d",a,b);
 return 0;
 
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 int a,b,c,t;
 printf("Please input a b c:");
 scanf("%d%d%d",&a,&b,&c);
 if(a>b)
 {
  t=a;
  a=b;
  b=t;
 }
 if(a>c)
 {
  t=a;
  a=c;
  c=t;
 }
 if(b>c)
 {
  t=b;
  b=c;
  c=t;
 }
 printf("%d<%d<%d",a,b,c);
 return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 char c;
 printf("Please input a char:");
 c=getchar();
 c=(65<=c&&c<=90)?(c+32):c;
 putchar(c);
 return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 int x,y;
 printf("Please input x:");
 scanf("%d",&x);
 if(x<0)
 y=-1;
 else
 {
  if(x==0)
  y=0;
  else
  y=1;
  } 
 printf("y=%d",y);
 return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 char c;
 printf("Please input a char:");
 scanf("%c",&c);
 switch(c)
 {
 case 'A':
          printf("85分以上");
    break;
 case 'B':
    printf("70~84");
    break;
 case 'C':
    printf("60~69");
    break;
 case'D':
    printf("60分以下");
    break;
 default:printf("error!");
 } 
 return 0; 
      
}

在这里插入图片描述

#include <stdio.h>
void add(void);
void minus(void);
int main()
{
 char c;
 printf("Please input a char:");
 scanf("%c",&c);
 switch(c)
 {
  case'a':
  case'A':
    add( );
    break;
  case'b':
  case'B':
          minus( );
    break;
     default: printf("error!");  
 }
}
 void add(void)
 {  int x=10,y=5;
  printf("%d",x+y);
 }
 void minus(void)
 {   int x=10,y=5;
  printf("%d",x-y);
  
 }

在这里插入图片描述

#include <stdio.h>
int main()
{
 int year;
 printf("Please input a year:");
 scanf("%d",&year);
 if((year%4==0&&year%100!=0)||(year%400==0))
 {
  printf("%d是闰年",year);
 }
 else
 {
  printf("%d不是闰年",year);
 }
}

在这里插入图片描述

#include <stdio.h>
int main()
//总运费=基本运费*重量*路程*(1-折扣) 
{
 int  f,w,s,p,a;
 double r;
 printf("Please input p,w,s:");
 scanf("%d%d%d",&p,&w,&s);
 a=s/250;
 switch(a)
 {
  case 0:
   r=0;
   break;
  case 1:
   r=0.02;
   break;
  case 2:
  case 3:
   r=0.05;
   break;
  case 4:
  case 5:
  case 6:
  case 7:
   r=0.08;
   break;
  case 8:
  case 9: 
  case 10:
  case 11:
   r=0.1;
   break;
  default:
  r=0.15;
  
   
 }
 f=w*s*p*(1-r);
 printf("f=%d",f);
 
}

三级目录循环

在这里插入图片描述

#include <stdio.h>
int main()
{
 int i,sum;
 i=1;
 sum=0;
 while(i<=100)
 {
  sum=i+sum;
  i++;
 }
 printf("sum=%d",sum);
 return 0;
 } 
#include <stdio.h>
int main()
{
 int i,sum;
 for(i=1,sum=0;i<=100;i++)
 {
  sum=i+sum;
 }
 printf("sum=%d",sum);
 return 0;
 } 
#include <stdio.h>
int main()
{
 int i,sum;
    i=1;
 sum=0;
    do
    {
     sum=sum+i;
     i++;
 }
 while(i<=100);
 printf("sum=%d",sum);
 return 0;
 } 

注:do while语句while后面有分号
在这里插入图片描述

#include <stdio.h>
int main()
{
 int m,sum,j;
 j=0;
 sum=0;
 printf("Please input money:");
 while(sum<10000)
 {
  scanf("%d",&m);
  sum=sum+m;
  j++;
 }
 printf("sum=%d,j=%d",sum,j);
}

使用break语句

#include <stdio.h>
int main ()
{
 float amount,aver,total;
 int i;
 for(i=1,total=0;i<=1000;i++)
 {
  printf("Please input amount:");
  scanf("%f",&amount);
  total=total+amount;
  if(total>=10000) break;
 }
 aver=total/i;
 printf("num=%d,aver=%f\n",i,aver);
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 int i;
 for(i=100;i<=200;i++)
 {
  if(i%3!=0)
  printf("%5d",i);
 }
 
}

用continue语句

#include <stdio.h>
int main()
{
 int i;
 for(i=100;i<=200;i++)
 {
  if(i%3==0)
  continue;
  printf("%5d",i);
 }
 } 

在这里插入图片描述

#include <stdio.h>
int main()
{
int i,j,n;
for(i=1;i<=4;i++)
 for(j=1,n=0;j<=5;j++,n++{
 if(n%5==0)
 printf("\n");
 printf("%5d",i*j);
 }
 }

在这里插入图片描述

#include <stdio.h>
#include <math.h>
int main()
{
 int sign=1;
 double pi=0.0,n=1.0,term=1.0;
 while(fabs(term)>=1e-6)//fabs(a)表示a的绝对值 
 {
  pi=pi+term;
  n=n+2;
  sign=-sign;
  term=sign/n;
 }
 pi=pi*4;
 printf("pi=%lf",pi);
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 int u1,u2,un,i;
 u1=1;
 u2=1;
 printf("%5d%5d",u1,u2);
 for(i=3;i<=38;i++)
 {
  un=u1+u2;
  u2=u1;
  u1=un;
  printf("%5d",un);
 }
 
 
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 int n,i;
 printf("Please input n:");
 scanf("%d",&n);
 for(i=2;i<n;i++)
 {
  if(n%i==0) break;
  }
  if(i<n)
  printf("%d不是素数",n);
  else
  printf("%d是素数",n); 
    
 
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 int n,i,m;
 for(n=100;n<=200;n++)
 {
  for(i=2;i<n;i++)
  {
   if(n%i==0) break;
  }
  if(i>=n)
  {
  printf("%5d",n);
  m++;
     }
     if(m%10==0)
     printf("\n");
 }
 return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
 char c;
 c=getchar();
    while(c!="\n")
    {
     
     if('a'<=c&&c<='z'||'A'<=c&&c<='Z')
     if('w'<=c&&c<='z'||'W'<=c&&c<='Z')
      c=c-22;
      else
      c=c+4;
     printf("%c",c);
     c=getchar();
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值