C语言------选择结构

仅供借鉴、仅供借鉴、仅供借鉴(整理了一下大一C语言每个章节的练习题、没得题目、只有程序了)

1 、实训名称

实训4:选择结构

2 、实训目的及要求

1 、熟练掌握条件语句,学习选择结构程序设计的方法及应用
2 、熟悉多路分支选择的switch语句。
3. 、进一步学习跟踪调试程序,熟悉选择结构程序段中语句的执行过程

3 、源代码及运行截图

【5-9】

#include<stdio.h>
int main()
{
	int a,b;
	char c;
	scanf("%d%c%d",&a,&c,&b);
	switch(c)
	{
		case '+':printf("%d+%d=%d\n",a,b,a+b);break;
		case '-':printf("%d-%d=%d\n",a,b,a-b);break;
		case '*':printf("%d*%d=%d\n",a,b,a*b);break;
		case '/':printf("%d/%d=%d\n",a,b,a/b);break;
		default:printf("error\n");
	 } 
	return 0;
 } 

结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【5-11】

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

在这里插入图片描述
在这里插入图片描述

【5-13】
(3)

#include<stdio.h>
int main(){
	int n,sum;
	sum=0;
   for(n=1;n<=200;n++) 
	{
		if(n%2==0)
		sum+=n;
	}
	printf("2+4+...+%d=%d\n",n-1,sum);
	return 0;
}

在这里插入图片描述

【5-14】
(1)

#include<stdio.h>
int main(){
	int a=0;
	while(a<0)
	{
		a++;
	}
	printf("a=%d\n",a);
	return 0;
}

在这里插入图片描述

(2)

#include<stdio.h>
int main(){
	int a;
	do{
		a++;
	}while(a<0);
	printf("a=%d\n",a);
	return 0;
}

在这里插入图片描述

【5-15】

#include<stdio.h>
int main(){
	int i=0;
	while(i<=2)
	 {
	 	i++;
	 }
	printf("i=%d\n",i++);
	return 0;
}

在这里插入图片描述

【5-16】

#include<stdio.h>
int main(){
	int i;
	for(i=100;i>13;i--)
	    {
	    if(i%13==0)
	   break;    
		}
	printf("一百以内可以被13蒸出的最大的数是:%d\n",i);
	return 0;
}

在这里插入图片描述

【5-17】

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

在这里插入图片描述

【5-18】

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

 int a,b,c,x,y;
 printf("请输入两个整数:\n");
 scanf("%d %d" ,&a,&b);
 x=a;
 y=b;
 if(a<b)
 {
 	c=a;
 	a=b;
 	b=c;
  } 
  while(b!=0)
  {
  	c=a;
  	a=b;
  	b=c%b;
  }
  c=x*y/a;
printf("最大公约数是%d,最小公倍数是%d\n",a,c);
 
	return 0;
 }

在这里插入图片描述

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

 int r, m,n;
 printf("请输入两个整数:\n");
 scanf("%d %d" ,&m,&n);
  r=m%n;
  while(r!=0)
   {
   	 m=n;
   	 n=r;
   	 r=n%r;
   }
printf("最大公约数是%d:\n",n);
 
	return 0;
 }

在这里插入图片描述

【5-19】
(1)

#include<stdio.h>
#include<math.h>
int main (){
     int i=0,sign=1;
 float term,result=1;
 int n;
 for(n=2;n<=100;n+=2){
 	
 	term=(float)(n*n)/((n-1)*(n+1));
 	result*=term;
 }
	 printf("pi的值为:%f\n",2*result);
	 return 0;
    
 } 

在这里插入图片描述

(2)

#include<stdio.h>
int main (){
   float i,j,temp,sum=0;
   int k,n;
   i=2;
   j=1;
   scanf("%d",&n);
   for(k=1;k<=n;k++)
    {
    	sum=sum+i/j;
    	temp=i;
    	i=i+j;
    	j=temp;
	}
	printf("前%d项的和是:%f\n",n,sum);
	 return 0;
    
 }

在这里插入图片描述

【5-20】

#include<stdio.h>
int main (){
    int a,i,n;
    int an, sn;
    printf("输入一个数值哦:\n");
    scanf("%d %d",&a,&n);
    sn=0;
    an=0;
    for(i=0;i<n;i++)
    {
    	an=an*10+a;
    	sn=sn+an;
	}
	printf("sn=%d\n",sn);
	printf("\n");
	 return 0;
    
 } 

在这里插入图片描述

【5-21】

#include<stdio.h>
int main (){
     int value,count=0,i;
     float average=0,sum=0;
     scanf("%d",&value);
     while(value>=0)
        {
        	if(value%2==0)
        	{
        		sum=sum+value;
				count++; 
			}//if
		  scanf("%d",&value);
		}//while
		if(value<0)
		{
			average=sum/count;
			printf("有%d个偶数,平均值为%f\n",count ,average);
		}//if
		else
		printf("no number!\n");
	 return 0;
    
 } 

在这里插入图片描述

4、小结

通过运用条件语句,可以让电脑进行相应的判断。简化了人工的计算。If()的使用如果条件满足则进行相应的判断;if()else的使用,如果条件不满足则进行else后相应的语句。适合事件有两个结果的判断。If() else if() if else() else();通过多个语句的联合使用可以对有多个条件的结果进行相应的判断。Switch语句可以对多个结果的条件执行不同的语句。在执行结束一条语句后可以用break;终止程序继续进行运行从而跳出该层语句,continue,可以跳出并进行下一次的循环。Do()while()先执行一次语句在进行判断。While()先对条件进行判断在进行语句的运行。For(; ;){}先进性判断在执行语句,在计数器相加后再次进行判断在执行语句

posted on 2022-08-28 22:19  热爱技术的小郑  阅读(196)  评论(0编辑  收藏  举报