精华内容
下载资源
问答
  • C语言经典例题简单算法

    千次阅读 2016-10-31 18:05:52
    又一个经典C语言例题,摘自C语言网。 题目: 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 1.程序分析: 见下面注释 2.程序源代码: ...

    又一个经典C语言例题,摘自C语言网

    题目:

    一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
    1.程序分析:
    见下面注释
    2.程序源代码:
    main()
    {
    float sn=100.0,hn=sn/2;
    int n;
    for(n=2;n<=10;n++)
    {
    sn=sn+2*hn;/*第n次落地时共经过的米数*/
    hn=hn/2; /*第n次反跳高度*/
    }
    printf( “C语言研究中心 www.dotcpp.com\n” );
    printf(“the total of road is %f\n”,sn);
    printf(“the tenth is %f meter\n”,hn);

    }

    以上就是解题过程了。

    展开全文
  • C语言经典例题

    2018-11-29 22:36:53
    刚接触c语言不久,看到一道c语言经典例题,如下图: 找到规律后,这道题就变得简单了,我的分析如下图: 把它当作一个二维数组来看,分析它的规律 1.第0列的数字都为1。 2.每一行的最后一个数字也都是1。 3.第...

    刚接触c语言不久,看到一道c语言经典例题,如下图:杨辉三角题目
    找到规律后,这道题就变得简单了,我的分析如下图:杨辉三角图示

    把它当作一个二维数组来看,分析它的规律
    1.第0列的数字都为1。
    2.每一行的最后一个数字也都是1。
    3.第二行及以后,不是1的数字则等于它上方以及左上方数字之和。
    那么可以定义两个变量分别为i,j。i用来控制行,j用来控制列。
    定义一个二维数组a[i][j]。
    首先对第一列和每一行的最后一个赋值。

    for(i=0;i<10;i++)
    {
    	a[i][0]=1;
    	a[i][i]=1;                    //a[i][i]即为每一行的最后一个元素
    }
    

    接下来对剩下的元素赋值,可以看到从第二行开始,会出现除1以外的数字,上边说到不是1的数字则等于它上方以及左上方数字之和,那么用数组来表示就是a[i][j]=a[i-1][j-1]+a[i-1][j];
    此处代码如下:

    for (i = 2; i < 10; i++)
    	{	for (j = 1; j < i; j++)
    		{
    			a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
    		}	
    	}
    

    完整代码如下:

    #include <stdio.h>
    int main()
    {
    	int i, j;
    	int a[10][10];
    	printf("\n");
    	for (i = 0; i < 10; i++)
    	{
    		a[i][0] = 1;
    		a[i][i] = 1;
    	}
    	for (i = 2; i < 10; i++)
    	{	for (j = 1; j < i; j++)
    		{
    			a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
    		}	
    	}		
    	for (i = 0; i < 10; i++)
    	{
    		for (j = 0; j <= i; j++)
    			{
    			printf("%5d", a[i][j]);
    			}
    		printf("\n");
    	}
    	return 0;
    
    }
    
    展开全文
  • * *
  • c语言经典例题

    2012-10-30 15:08:09
    使用简单 掌握初级C语言 都是来自平时做的一些题目 特别经典 帮助想学c的朋友
  • C语言基础例题总结

    2019-02-21 21:10:03
    C语言基础例题总结(第一章1.1-第七章7.4)第一章 程序设计例1.1: 要求在屏幕上输出信息例1.2: 求两个整数之和例1.3: 比较两个数的大小,输出最大值第二章 算法——程序的灵魂例2.1 计算5!例2.2 求多项式(1-1/2+1...

    C语言基础例题总结(第一章1.1-第七章7.4)

    第一章 程序设计

    例1.1: 要求在屏幕上输出信息

    #include<stdio.h>                       //这是编译预处理指
    int main()                              //定义函数
    {                                       //函数开始的标志
        printf("Hellow World.\n");          //输出所指定的一行信息
    	return 0;		                    //函数执行完毕时返回函数值
    }                                       //函数结束的标志
    

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

    例1.2: 求两个整数之和

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

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

    例1.3: 比较两个数的大小,输出最大值

    
    `#include <stdio.h>
    int main()
    {
    	int max,a,b;
    	printf("请输入两个数:");
    	scanf("%d%d",&a,&b);
    	max=a>b?a:b;
    	printf("最大值为:%d\n",max);
    	return 0;
    }
    

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

    第二章 算法——程序的灵魂

    例2.1 计算5!

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

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

    例2.2 求多项式(1-1/2+1/3-1/4+…+1/99-1/100)的值

    #include <stdio.h>
    int main()
    {
    	int sign=1;
    	double deno=2.0,sum=1.0,term;
    	while(deno<=100)
    	{
    		sign=-sign;
    		term=sign/deno;
    		sum=sum+term;
    		deno=deno+1;
    	}
    	printf("%f\n",sum);
    	return 0;
    }
    

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

    第三章 最简单的C程序设计——顺序程序设计

    例3.1:将华氏温度转换为摄氏温度和绝对温度

    #include<stdio.h>
    int main()
    {
    	float f,c;                  
    	f=64.0;
    	c=(5.0/9)*(f-32);
    	printf("f=%f\nc=%f\n",f,c);
    	return 0;
    }
    

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

    例3.2:计算存款利息

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

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

    例3.3:给定一个大写字母,要求用小写字母输出

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

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

    例3.4:给出三角形的三边长,求三角形面积

    #include <stdio.h>
    #include <math.h>
    int main()
    {
    	double a,b,c,s,area;
    	a=3.67;
    	b=5.43;
    	c=5.21;
    	s=(a+b+c)/2;
    	area=sqrt(s*(s-a)*(s-b)*(s-c));
    	printf("a=%f\tb=%f\t%f\n",a,b,c);
    	printf("area=%f\n",area);
    	return 0;
    }
    

    运行结果:

    例3.5:求ax2+bx+c=0方程的根,设b2-4ac>0

    #include <stdio.h>
    #include <math.h>
    int main()
    {
    	double a,b,c,disc,x1,x2,p,q;
    	scanf("%lf%lf%lf",&a,&b,&c);
    	disc=b*b-4*a*c;
    	p=-b/(2.0*a);						
    	q=sqrt(disc)/(2.0*a);					
    	x1=p+q;x2=p-q;
    	printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);	
    	return 0;
    }
    

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

    例3.6:用%f输出实数,只能得到6位小数

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

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

    例3.7:float型数据的有效位数

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

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

    例3.8:先后输出BOY三个字符

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

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

    例3.9:从键盘输入BOY三个字符,然后把他们输出至屏幕

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

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

    例3.10:从键盘输入一个大写字母,在显示器上显示对应的小写字母

    #include <stdio.h>
    int main()
    {
    	char c1,c2;
    	c1=getchar();
    	c2=c1+32;
    	putchar(c2);
    	putchar('\n');
    	return 0;
    }
    

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

    第四章 选择结构程序设计

    例4.1:输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”。

    #include <stdio.h>
    int main()
    {
    	char word;                           
    	scanf("%c",&word);
    	if(word>=65&&word<97)				//判断如果所输入的字符所对应的ASCII值在65-97之间,输出其小写字母
    	{
    		printf("小写为:%c\n",word+32);
    	}
    	else if(word>=97&&word<123)			//判断如果所输入的字符所对应的ASCII值在97-122之间,输出其大写字母
    	{
    		printf("大写为:%c\n",word-32);
    	}
    	else if(word==32)					//判断如果所输入的字符所对应的ASCII值等于32,输出space
    	{
    		printf("space\n");
    	}
    	else								//判断如果所输入的字符所对应的ASCII值不满足上述条件,输出other
    	{
    		printf("other\n");
    	}
    	return 0;
    }
    
    

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

    例4.7:运输公司对用户计算运输费用。路程越远,运费越低。标准如下:

    s<250 没有折扣
    250<=s<=500 %2折扣
    500<=s<=100 %5折扣
    1000<=s<=2000 %8折扣
    2000<=s<3000 %10折扣
    3000<=s %15折扣

    #include <stdio.h>	
    int main()
    {
       int c,s;	
       float p,w,d,f;
       printf("please enter price,weight,discount:");	//提示输入的数据
       scanf("%f,%f,%d",&p,&w,&s);						//输入单价、重量、距离
       if(s>=3000)c=12;								//3000km以上为同一折扣
       else       c=s/250;								//3000km一下各段折扣不同,c的值不相同
       switch(c)
       {
       	case 0:d=0;break;
       	case 1:d=2;break;
       	case 2:
       	case 3:d=5;break;
       	case 4:
       	case 5:
       	case 6:
       	case 7:d=8;break;
       	case 8:
       	case 9:
       	case 10:
       	case 11:d=10;break;
       	case 12:d=15;break;
       }
       f=p*w*s*(1-d/100);
       printf("freight=%10.2f\n",f);
       return 0;
    }
    

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

    例4.8:求ax^2++bx+c=0方程的解

    #include <stdio.h>
    #include <math.h>
    int main()
    {
    	double a,b,c,disc,x1,x2,realpart,imagpart;
    	scanf("%lf,%lf,%lf",&a,&b,&c);
    	printf("The equation");
    	if(fabs(a)<=1e-6)
    		printf("is not a quadratic\n");
    	else
    	{
    		disc=b*b-4*a*c;
    		if(fabs(disc)<=1e-6)
    			printf("has two equal roots:%8.4f\n",-b/(2*a));
    		else
    			if(disc>1e-6)
    			{
    				x1=(-b+sqrt(disc))/(2*a);
    				x2=(-b-sqrt(disc))/(2*a);
    				printf("has distinct real roots:%8.4fand%8.4f\n",x1,x2);
    			}
    		else
    		{
    			realpart=-b/(2*a);							//realpart是复根的实部
    			imagpart=sqrt(-disc)/(2*a);					//imagpart是复根的虚部
    			printf("has complex roots:\n");
    			printf("%8.4f+%8.4fi\n",realpart,imagpart);	//输出一个复数
    			printf("%8.4f-%8.4fi\n",realpart,imagpart);	//输出另一个复数
    		}
    	
    	}
    	return 0;
    }
    
    

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

    例4.9:用switch语句处理菜单命令

    #include<stdio.h>
    int main()
    {
    	void action1(int,int),action2(int,int);
    	char ch;
    	int a=15,b=23;
    	ch=getchar();
    	switch(ch)
    		{
    			case 'a':
    			case'A':action1(a,b);break;
    			case'b':
    			case'B':action2(a,b);break;
    			default:putchar('\a'); 
    		}
    	return 0;
    } 
    void action1(int x,int y)
    {
    	printf("x+y=%d\n",x+y);
    }
    void action2(int x,int y)
    {
    	printf("x*y=%d\n",x*y);
    }
    

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

    第五章 循环结构程序设计

    例5.1:求2+4+6+8+…+98+100

    #include <stdio.h>
    int main()
    {
        int i,s=0;
        for(i=2;i<=100;i+=2)                 //用for循环,循环2-100,每次循环i的值自加2
        {
        	s+=i;                            //用s来求总和
        }
        printf("%d\n",s);
        return 0;
    }
    

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

    例5.2:用do…while语句求1+2+3+…+100

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

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

    例5.3:while和do…while循环的比较

    #include <stdio.h>
    int main()
    {
    	int i,sum=0;
    	printf("plesae enter i,i=?");
    	scanf("%d",&i);
    	while(i<=10)
    		{
    			sum=sum+i;
    			i++;
    		}
    	printf("sum=%d\n",sum); 
    	return 0;
    }
    

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

    例5.4:在全系1000名学生中矩形慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数以及平均每人捐款的数目

    #include <stdio.h>
    #define SUM 100000	
    int main()
    {
    	float amount,aver,total;
    	int i;
    	for(i=1,total=0;i<=1000;i++)
    	{
    		printf("please enter amount:");
    		scanf("%f",&amount);
    		total=total+amount;
    		if(total>=SUM)break;
    	}
    	aver=total/i;
    	printf("num=%d\naver=%10.2f\n",i,aver);
    	return 0;
    }
    

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

    例5.5:要求输出100~200的不能被3整除的数

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

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

    例5.6:输出以下4*5矩阵

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

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

    例5.7:用公式求π的近似值直到发现某一项的绝对值小于10的-6次方为止

    #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)
    		{
    			pi=pi+term;
    			n=n+2;
    			sign=-sign;
    			term=sign/n;
    		}
    	pi=pi*4;
    	printf("pi=%10.8f\n",pi);
    	return 0;
     } 
    

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

    例5.8:求Fibonacci(斐波那契)数列的前40个数

    #include<stdio.h>
    int main()
    {
    	int f1=1,f2=1;
    	int i;
    	for(i=1;i<=20;i++)
    	{
    		printf("%12d %12d",f1,f2);
    		if(i%2==0) printf("\n");
    		f1=f1+f2;
    		f2=f2+f1;
    	}
    	return 0;
    } 
    

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

    例5.9:输入一个大于3的整数n,判定它是否为素数

    #include<stdio.h>
    int main()
    {
    	int i,n;                             
    	printf("please enter a integer number,n=?");
    	scanf("%d",&n);                    
    	for(i=2;i<n;i++)                    
    	if(n%i==0) break;	
    	if(i<n) printf("%d is not a prime number.\n",n);       
    	else printf("%d is a prime number.\n",n);            
    	return 0;
    } 
    

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

    例5.10:求100~200的全部素数

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

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

    例5.11:译密码

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

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

    第六章 利用数组处理批量数据

    例6.1:对10个数组元素依次赋值为1,2,3,4,5,6,7,8,9,10,要求按顺序输出

    #include <stdio.h>
    int main()
    { 
    	int i,a[10];
    	for(i=1;i<=10;i++)			//对数组元素a[0]-a[9]赋值
    	{
    		a[i]=i;
    	}
    	for(i=1;i<=10;i++)			//输出a[0]-a[9]共10个数组元素		
    	{
    		printf("%d ",a[i]);
    	}
    	return 0;
    }
    

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

    例6.2:用数组来处理求Fibonacci数列问题

    #include<stdio.h>
    int main()
    {
    	int a[20]={1,1};          //定义一个数组a并为前两项赋值为1,1
    	int i;
    	for(i=2;i<20;i++)         //Fibonacci数列计算方法
    	{
    		a[i]=a[i-2]+a[i-1];
    	}
       for(i=0;i<20;i++)         //循环输出a数组
    	{
    		if(i%5==0) printf("\n");
    		printf("%12d",a[i]);
    	}
        printf("\n");
    	return 0;
    } 
    

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

    例6.3:有10个地区的面积,要求对他们按由小到大的顺序排列(冒泡排序)

    #include <stdio.h>
    int main()
    {
    	int a[10];				//定义一个数组a用来储存数组
    	int i,j,t;				//定义三个变量,i,j用来循环,t用来交换
    	printf("input 10 numbers :");
    	for(i=0;i<10;i++)		//为i赋初值为0,当i<10时循环执行
    	{
    		scanf("%d",&a[i]);	//循环输入10个数存入数组a中
    	}
    	for(j=0;j<9;j++)		//为j赋初值为0,当j<9时循环执行内循环
    	{
    		for(i=0;i<9-j;i++)	//为i赋初值为0,当i<9-j时循环执行
    		{
    			if(a[i]>a[i+1])	//判断a[i]与a[i+1]的大小,如果a[i]>a[i+1]就让二者交换
    			{
    				t=a[i];
    				a[i]=a[i+1];
    				a[i+1]=t;
    			}				//此循环为了把最大的数值移动到最后一位并减少一次循环,下次循环最大的那个数不在参与
    		}
    	}
    	printf("the sorted numbers :");
    	for(i=0;i<10;i++)
    	{
    		printf("%d ",a[i]);	//循环输出数组a的数值
    	}
    	return 0;
    }
    
    

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

    例6.4:将一个二维数组行和列互换,存到另一个二维数组中(矩阵重置)

    #include <stdio.h>
    int main()
    {
    	int a[2][3]={{1,2,3},{4,5,6}};
    	int b[3][2],i,j;
    	printf("array a:\n");
    	for(i=0;i<=1;i++)
    	{
    		for(j=0;j<=2;j++)
    		{
    			printf("%5d",a[i][j]);
    			b[j][i]=a[i][j];
    		}
    		printf("\n");
    	}
    	printf("array b:\n");
    	for(i=0;i<=2;i++)
    	{
    		for(j=0;j<=1;j++)
    		{
    			printf("%5d",b[i][j]);
    		}
    		printf("\n");
    	}
    	return 0;
    }
    

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

    例6.5:有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号

    #include<stdio.h>
    int main() 
    {
    	int i, j;
    	int max, row, colum;
    	int a[3][4] = { { 1, 2, 3, 4 }, { 9, 8, 7, 6 }, { -10, 10, -5, 2 } };
    	max = a[0][0];
    	for (i = 0; i < 3; i++)
    		for (j = 0; j < 4; j++)
    			if (max < a[i][j])
    			{
    				max = a[i][j];
    				row = i;
    				colum = j;
    			}
    	printf("max=%d\nrow=%d\ncolum=%d\n", max, row, colum);
    	return 0;
    }
    

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

    例6.6:输出一个已知的字符串

    #include <stdio.h>	
    int main()
    {
    	char c[15]={'I',' ','a','m',' ','a',' ','s','t','u','d','e','n','t','.'};
    	int i;
    	for(i=0;i<15;i++)
    		printf("%c",c[i]);
    	printf("\n");
    	return 0;
    }
    

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

    例6.7:输出一个菱形图

    #include <stdio.h>
    int main()
    {
    	char diamond[][5]={{' ',' ','*'},{' ','*',' ','*'},{'*',' ',' ',' ','*'},{' ','*',' ','*'},{' ',' ','*'}};
    	int i,j;
    	for(i=0;i<5;i++)
    	{
    	for(j=0;j<5;j++)
    	printf("%c",diamond[i][j]);
    	printf("\n"); 
    	}
    	return 0;
    }
    

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

    例6.8:输入一行字符,统计其中有多少个单词,单词之间用空格分割开

    #include<stdio.h>
    int main()
    {
    
    	char string[81];
    	int i,count=0,word=0;
    	char c;
    	gets(string);//输入一个字符串给字符数组string
    	for (i = 0;(c=string[i])!='\0'; i++)
    	{
    		if (c == ' ')//如果是空格字符,使word置0
    		{
    			word = 0;
    		}
    	else if (word == 0)//如果不是空格字符,且word原来的值为0,使word置1
    		{
    			word = 1;
    			count++;
    		}
    	}
    	printf("There are %d words in this line.\n",count);
    	return 0;
    }
    

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

    例6.9:有3个字符串,要求找出其中“最大”者

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char str[3][20];
    	char string[20];
    	int i;
    	for(i=0;i<3;i++)
    		gets (str[i]);
    	if(strcmp(str[0],str[1])>0)
    		strcpy(string,str[0]);
    	else
    		strcpy(string,str[1]);
    	if(strcmp(str[2],string)>0)
    		strcpy(string,str[2]);
    	printf("\nthe largest string is:\n%s\n",string);
    	return 0;
    }
    

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

    第七章 用函数实现模块化程序设计

    例7.1:输出以下结果,用函数调用实现

    在这里插入图片描述

    #include <stdio.h>
    int main()
    {
    	void print_star();					//声明 print_star 函数
    	void print_message();				//声明 print_message 函数
    	void print_star();					//声明 print_star 函数
    	print_star();						//调用 print_star 函数
    	print_message();					//调用 print_message 函数
    	print_star();						//调用 print_star 函数
    	return 0;
    }
    void print_star()						//定义 print_star 函数
    {
    	printf("******************\n");		//输出一行 * 号
    }
    void print_message()					//定义 print_message 函数
    {
    	printf("  How do you do!\n");		//输出一行文字信息
    }
    

    运行结果:

    在这里插入图片描述

    例7.2:输入两个函数。要求输出其中值较大者。要求用函数找到大数

    int max(int x,int y)
    {
    	int z;
    	z=x>y?x:y;
    	return(z);
    }
    #include<stdio.h>
    int main()
    {
    	int max(int x,int y);
    	int a,b,c;
    	printf("please enter two interger numbers:");
    	scanf("%d,%d",&a,&b);
    	c=max(a,b);
    	printf("max is %d\n",c);
    	return 0;
    }
    

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

    例7.3:将7.2中的max函数定义的变量z改为float型

    #include<stdio.h>
    int main()
    {
    	int max(float x,float y);
    	float a,b;
    	int c;
    	scanf("%f,%f",&a,&b);
    	c=max(a,b);
    	printf("max is %d\n",c);
    	return 0;
    }
    int max(float x,float y)
    {
    	float z;
    	z=x>y?x:y;
    	return(z);
    }
    

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

    例7.4:输入两个实数,用一个函数求出他们之和

    #include<stdio.h>
    int main()
    {
    	float add(float x,float y);
    	float a,b,c;
    	printf("Please enter a and b:");
    	scanf("%f,%f",&a,&b);
    	c=add(a,b);
    	printf("sum is %f\n",c);
    	return 0;
    }
    float add(float x,float y)
    {
    	float z;
    	z=x+y;
    	return(z);
    }
    

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

    展开全文
  • c语言编程集锦(C语言经典例题): 爱因斯坦的思考题 二叉树算法集 分解质因数新解 简单弹力球游戏 连续的素数之和改进版 魔术师翻牌 石子归并问题 贪吃蛇游戏 图形编程上下选择键模板 万年历全集 循环队列的程序 一个...
  • c语言编程例题基础

    2019-02-24 14:05:33
    C语言例题第一章 程序设计例1.1: 要求在屏幕上输出信息例1.2: 求两个整数之和例1.3: 比较两个数的大小,输出最大值第二章 算法——程序的灵魂例2.1 计算5!例2.2 求多项式(1-1/2+1/3-1/4+…+1/99-1/100)的值第三...

    C语言例题

    第一章 程序设计

    例1.1: 要求在屏幕上输出信息

    #include<stdio.h>                       //这是编译预处理指
    int main()                              //定义函数
    {                                       //函数开始的标志
        printf("Hellow World.\n");          //输出所指定的一行信息
    	return 0;		                    //函数执行完毕时返回函数值
    }                                       //函数结束的标志
    
    
    

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

    例1.2: 求两个整数之和

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

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

    例1.3: 比较两个数的大小,输出最大值

    
    `#include <stdio.h>
    int main()
    {
    	int max,a,b;
    	printf("请输入两个数:");
    	scanf("%d%d",&a,&b);
    	max=a>b?a:b;
    	printf("最大值为:%d\n",max);
    	return 0;
    }
    

    运行结果:

    在这里插入图片描述

    第二章 算法——程序的灵魂

    例2.1 计算5!

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

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

    例2.2 求多项式(1-1/2+1/3-1/4+…+1/99-1/100)的值

    #include <stdio.h>
    int main()
    {
    	int sign=1;
    	double deno=2.0,sum=1.0,term;
    	while(deno<=100)
    	{
    		sign=-sign;
    		term=sign/deno;
    		sum=sum+term;
    		deno=deno+1;
    	}
    	printf("%f\n",sum);
    	return 0;
    }
    

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

    第三章 最简单的C程序设计——顺序程序设计

    例3.1:将华氏温度转换为摄氏温度和绝对温度

    #include<stdio.h>
    int main()
    {
    	float f,c;                  
    	f=64.0;
    	c=(5.0/9)*(f-32);
    	printf("f=%f\nc=%f\n",f,c);
    	return 0;
    }
    

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

    例3.2:计算存款利息

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

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

    例3.3:给定一个大写字母,要求用小写字母输出

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

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

    例3.4:给出三角形的三边长,求三角形面积

    #include <stdio.h>
    #include <math.h>
    int main()
    {
    	double a,b,c,s,area;
    	a=3.67;
    	b=5.43;
    	c=5.21;
    	s=(a+b+c)/2;
    	area=sqrt(s*(s-a)*(s-b)*(s-c));
    	printf("a=%f\tb=%f\t%f\n",a,b,c);
    	printf("area=%f\n",area);
    	return 0;
    }
    

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

    例3.5:求ax2+bx+c=0方程的根,设b2-4ac>0

    #include <stdio.h>
    #include <math.h>
    int main()
    {
    	double a,b,c,disc,x1,x2,p,q;
    	scanf("%lf%lf%lf",&a,&b,&c);
    	disc=b*b-4*a*c;
    	p=-b/(2.0*a);						
    	q=sqrt(disc)/(2.0*a);					
    	x1=p+q;x2=p-q;
    	printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);	
    	return 0;
    }
    

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

    例3.6:用%f输出实数,只能得到6位小数

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

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

    例3.7:float型数据的有效位数

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

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

    例3.8:先后输出BOY三个字符

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

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

    例3.9:从键盘输入BOY三个字符,然后把他们输出至屏幕

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

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

    例3.10:从键盘输入一个大写字母,在显示器上显示对应的小写字母

    #include <stdio.h>
    int main()
    {
    	char c1,c2;
    	c1=getchar();
    	c2=c1+32;
    	putchar(c2);
    	putchar('\n');
    	return 0;
    }
    

    运行结果;

    第四章 选择结构程序设计

    例4.1:输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”

    #include <stdio.h>
    int main()
    {
    	char word;                           
    	scanf("%c",&word);
    	if(word>=65&&word<97)				//判断如果所输入的字符所对应的ASCII值在65-97之间,输出其小写字母
    	{
    		printf("小写为:%c\n",word+32);
    	}
    	else if(word>=97&&word<123)			//判断如果所输入的字符所对应的ASCII值在97-122之间,输出其大写字母
    	{
    		printf("大写为:%c\n",word-32);
    	}
    	else if(word==32)					//判断如果所输入的字符所对应的ASCII值等于32,输出space
    	{
    		printf("space\n");
    	}
    	else								//判断如果所输入的字符所对应的ASCII值不满足上述条件,输出other
    	{
    		printf("other\n");
    	}
    	return 0;
    }
    
    

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

    例4.7:运输公司对用户计算运输费用。路程越远,运费越低。标准如下:

    s<250 没有折扣
    250<=s<=500 %2折扣
    500<=s<=100 %5折扣
    1000<=s<=2000 %8折扣
    2000<=s<3000 %10折扣
    3000<=s %15折扣

    #include <stdio.h>	
    int main()
    {
       int c,s;	
       float p,w,d,f;
       printf("please enter price,weight,discount:");	//提示输入的数据
       scanf("%f,%f,%d",&p,&w,&s);						//输入单价、重量、距离
       if(s>=3000)c=12;								//3000km以上为同一折扣
       else       c=s/250;								//3000km一下各段折扣不同,c的值不相同
       switch(c)
       {
       	case 0:d=0;break;
       	case 1:d=2;break;
       	case 2:
       	case 3:d=5;break;
       	case 4:
       	case 5:
       	case 6:
       	case 7:d=8;break;
       	case 8:
       	case 9:
       	case 10:
       	case 11:d=10;break;
       	case 12:d=15;break;
       }
       f=p*w*s*(1-d/100);
       printf("freight=%10.2f\n",f);
       return 0;
    }
    

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

    例4.8:求ax^2++bx+c=0方程的解

    #include <stdio.h>
    #include <math.h>
    int main()
    {
    	double a,b,c,disc,x1,x2,realpart,imagpart;
    	scanf("%lf,%lf,%lf",&a,&b,&c);
    	printf("The equation");
    	if(fabs(a)<=1e-6)
    		printf("is not a quadratic\n");
    	else
    	{
    		disc=b*b-4*a*c;
    		if(fabs(disc)<=1e-6)
    			printf("has two equal roots:%8.4f\n",-b/(2*a));
    		else
    			if(disc>1e-6)
    			{
    				x1=(-b+sqrt(disc))/(2*a);
    				x2=(-b-sqrt(disc))/(2*a);
    				printf("has distinct real roots:%8.4fand%8.4f\n",x1,x2);
    			}
    		else
    		{
    			realpart=-b/(2*a);							//realpart是复根的实部
    			imagpart=sqrt(-disc)/(2*a);					//imagpart是复根的虚部
    			printf("has complex roots:\n");
    			printf("%8.4f+%8.4fi\n",realpart,imagpart);	//输出一个复数
    			printf("%8.4f-%8.4fi\n",realpart,imagpart);	//输出另一个复数
    		}
    	
    	}
    	return 0;
    }
    
    

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

    例4.9:用switch语句处理菜单命令

    #include<stdio.h>
    int main()
    {
    	void action1(int,int),action2(int,int);
    	char ch;
    	int a=15,b=23;
    	ch=getchar();
    	switch(ch)
    		{
    			case 'a':
    			case'A':action1(a,b);break;
    			case'b':
    			case'B':action2(a,b);break;
    			default:putchar('\a'); 
    		}
    	return 0;
    } 
    void action1(int x,int y)
    {
    	printf("x+y=%d\n",x+y);
    }
    void action2(int x,int y)
    {
    	printf("x*y=%d\n",x*y);
    }
    

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

    第五章 循环结构程序设计

    例5.1:求2+4+6+8+…+98+100

    #include <stdio.h>
    int main()
    {
        int i,s=0;
        for(i=2;i<=100;i+=2)                 //用for循环,循环2-100,每次循环i的值自加2
        {
        	s+=i;                            //用s来求总和
        }
        printf("%d\n",s);
        return 0;
    }
    

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

    例5.2:用do…while语句求1+2+3+…+100

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

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

    例5.3:while和do…while循环的比较

    #include <stdio.h>
    int main()
    {
    	int i,sum=0;
    	printf("plesae enter i,i=?");
    	scanf("%d",&i);
    	while(i<=10)
    		{
    			sum=sum+i;
    			i++;
    		}
    	printf("sum=%d\n",sum); 
    	return 0;
    }
    

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

    例5.4:在全系1000名学生中矩形慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数以及平均每人捐款的数目

    #include <stdio.h>
    #define SUM 100000	
    int main()
    {
    	float amount,aver,total;
    	int i;
    	for(i=1,total=0;i<=1000;i++)
    	{
    		printf("please enter amount:");
    		scanf("%f",&amount);
    		total=total+amount;
    		if(total>=SUM)break;
    	}
    	aver=total/i;
    	printf("num=%d\naver=%10.2f\n",i,aver);
    	return 0;
    }
    

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

    例5.5:要求输出100~200的不能被3整除的数

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

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

    例5.6:输出以下4*5矩阵

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

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

    例5.7:用公式求π的近似值直到发现某一项的绝对值小于10的-6次方为止

    #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)
    		{
    			pi=pi+term;
    			n=n+2;
    			sign=-sign;
    			term=sign/n;
    		}
    	pi=pi*4;
    	printf("pi=%10.8f\n",pi);
    	return 0;
     } 
    

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

    例5.8:求Fibonacci(斐波那契)数列的前40个数

    #include<stdio.h>
    int main()
    {
    	int f1=1,f2=1;
    	int i;
    	for(i=1;i<=20;i++)
    	{
    		printf("%12d %12d",f1,f2);
    		if(i%2==0) printf("\n");
    		f1=f1+f2;
    		f2=f2+f1;
    	}
    	return 0;
    } 
    

    运行结果;
    在这里插入图片描述

    例5.9:输入一个大于3的整数n,判定它是否为素数

    #include<stdio.h>
    int main()
    {
    	int i,n;                             
    	printf("please enter a integer number,n=?");
    	scanf("%d",&n);                    
    	for(i=2;i<n;i++)                    
    	if(n%i==0) break;	
    	if(i<n) printf("%d is not a prime number.\n",n);       
    	else printf("%d is a prime number.\n",n);            
    	return 0;
    } 
    

    运行结果;
    在这里插入图片描述

    例5.10:求100~200的全部素数

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

    运行结果;
    在这里插入图片描述

    例5.11:译密码

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

    运行结果;在这里插入图片描述

    第六章 利用数组处理批量数据

    例6.1:对10个数组元素依次赋值为1,2,3,4,5,6,7,8,9,10,要求按顺序输出

    #include <stdio.h>
    int main()
    { 
    	int i,a[10];
    	for(i=1;i<=10;i++)			//对数组元素a[0]-a[9]赋值
    	{
    		a[i]=i;
    	}
    	for(i=1;i<=10;i++)			//输出a[0]-a[9]共10个数组元素		
    	{
    		printf("%d ",a[i]);
    	}
    	return 0;
    }
    

    运行结果;
    在这里插入图片描述

    例6.2:用数组来处理求Fibonacci数列问题

    #include<stdio.h>
    int main()
    {
    	int a[20]={1,1};          //定义一个数组a并为前两项赋值为1,1
    	int i;
    	for(i=2;i<20;i++)         //Fibonacci数列计算方法
    	{
    		a[i]=a[i-2]+a[i-1];
    	}
       for(i=0;i<20;i++)         //循环输出a数组
    	{
    		if(i%5==0) printf("\n");
    		printf("%12d",a[i]);
    	}
        printf("\n");
    	return 0;
    } 
    

    运行结果;
    在这里插入图片描述

    例6.3:有10个地区的面积,要求对他们按由小到大的顺序排列(冒泡排序)

    #include <stdio.h>
    int main()
    {
    	int a[10];				//定义一个数组a用来储存数组
    	int i,j,t;				//定义三个变量,i,j用来循环,t用来交换
    	printf("input 10 numbers :");
    	for(i=0;i<10;i++)		//为i赋初值为0,当i<10时循环执行
    	{
    		scanf("%d",&a[i]);	//循环输入10个数存入数组a中
    	}
    	for(j=0;j<9;j++)		//为j赋初值为0,当j<9时循环执行内循环
    	{
    		for(i=0;i<9-j;i++)	//为i赋初值为0,当i<9-j时循环执行
    		{
    			if(a[i]>a[i+1])	//判断a[i]与a[i+1]的大小,如果a[i]>a[i+1]就让二者交换
    			{
    				t=a[i];
    				a[i]=a[i+1];
    				a[i+1]=t;
    			}				//此循环为了把最大的数值移动到最后一位并减少一次循环,下次循环最大的那个数不在参与
    		}
    	}
    	printf("the sorted numbers :");
    	for(i=0;i<10;i++)
    	{
    		printf("%d ",a[i]);	//循环输出数组a的数值
    	}
    	return 0;
    }
    
    
    
    
    

    运行结果;

    在这里插入图片描述

    例6.4:将一个二维数组行和列互换,存到另一个二维数组中(矩阵重置)

    #include <stdio.h>
    int main()
    {
       int a[2][3]={{1,2,3},{4,5,6}};
       int b[3][2],i,j;
       printf("array a:\n");
       for(i=0;i<=1;i++)
       {
       	for(j=0;j<=2;j++)
       	{
       		printf("%5d",a[i][j]);
       		b[j][i]=a[i][j];
       	}
       	printf("\n");
       }
       printf("array b:\n");
       for(i=0;i<=2;i++)
       {
       	for(j=0;j<=1;j++)
       	{
       		printf("%5d",b[i][j]);
       	}
       	printf("\n");
       }
       return 0;
    }
    

    运行结果;

    例6.5:有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号

    #include<stdio.h>
    int main() 
    {
    	int i, j;
    	int max, row, colum;
    	int a[3][4] = { { 1, 2, 3, 4 }, { 9, 8, 7, 6 }, { -10, 10, -5, 2 } };
    	max = a[0][0];
    	for (i = 0; i < 3; i++)
    		for (j = 0; j < 4; j++)
    			if (max < a[i][j])
    			{
    				max = a[i][j];
    				row = i;
    				colum = j;
    			}
    	printf("max=%d\nrow=%d\ncolum=%d\n", max, row, colum);
    	return 0;
    }
    

    运行结果;在这里插入图片描述

    例6.6:输出一个已知的字符串

    #include <stdio.h>	
    int main()
    {
    	char c[15]={'I',' ','a','m',' ','a',' ','s','t','u','d','e','n','t','.'};
    	int i;
    	for(i=0;i<15;i++)
    		printf("%c",c[i]);
    	printf("\n");
    	return 0;
    }
    

    运行结果;
    在这里插入图片描述

    例6.7:输出一个菱形图

    #include <stdio.h>
    int main()
    {
    	char diamond[][5]={{' ',' ','*'},{' ','*',' ','*'},{'*',' ',' ',' ','*'},{' ','*',' ','*'},{' ',' ','*'}};
    	int i,j;
    	for(i=0;i<5;i++)
    	{
    	for(j=0;j<5;j++)
    	printf("%c",diamond[i][j]);
    	printf("\n"); 
    	}
    	return 0;
    }
    

    运行结果;
    在这里插入图片描述

    例6.8:输入一行字符,统计其中有多少个单词,单词之间用空格分割开

    #include<stdio.h>
    int main()
    {
    
    	char string[81];
    	int i,count=0,word=0;
    	char c;
    	gets(string);//输入一个字符串给字符数组string
    	for (i = 0;(c=string[i])!='\0'; i++)
    	{
    		if (c == ' ')//如果是空格字符,使word置0
    		{
    			word = 0;
    		}
    	else if (word == 0)//如果不是空格字符,且word原来的值为0,使word置1
    		{
    			word = 1;
    			count++;
    		}
    	}
    	printf("There are %d words in this line.\n",count);
    	return 0;
    }
    

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

    例6.9:有3个字符串,要求找出其中“最大”者

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char str[3][20];
    	char string[20];
    	int i;
    	for(i=0;i<3;i++)
    		gets (str[i]);
    	if(strcmp(str[0],str[1])>0)
    		strcpy(string,str[0]);
    	else
    		strcpy(string,str[1]);
    	if(strcmp(str[2],string)>0)
    		strcpy(string,str[2]);
    	printf("\nthe largest string is:\n%s\n",string);
    	return 0;
    }
    

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

    第七章 用函数实现模块化程序设计

    例7.1:输出以下结果,用函数调用实现

    在这里插入图片描述

    
    #include <stdio.h>
    int main()
    {
    	void print_star();					//声明 print_star 函数
    	void print_message();				//声明 print_message 函数
    	void print_star();					//声明 print_star 函数
    	print_star();						//调用 print_star 函数
    	print_message();					//调用 print_message 函数
    	print_star();						//调用 print_star 函数
    	return 0;
    }
    void print_star()						//定义 print_star 函数
    {
    	printf("******************\n");		//输出一行 * 号
    }
    void print_message()					//定义 print_message 函数
    {
    	printf("  How do you do!\n");		//输出一行文字信息
    }
    

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

    例7.2:输入两个函数。要求输出其中值较大者。要求用函数找到大数

    int max(int x,int y)
    {
    	int z;
    	z=x>y?x:y;
    	return(z);
    }
    #include<stdio.h>
    int main()
    {
    	int max(int x,int y);
    	int a,b,c;
    	printf("please enter two interger numbers:");
    	scanf("%d,%d",&a,&b);
    	c=max(a,b);
    	printf("max is %d\n",c);
    	return 0;
    }
    

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

    例7.3:将7.2中的max函数定义的变量z改为float型

    int main()
    {
    	int max(float x,float y);
    	float a,b;
    	int c;
    	scanf("%f,%f",&a,&b);
    	c=max(a,b);
    	printf("max is %d\n",c);
    	return 0;
    }
    int max(float x,float y)
    {
    	float z;
    	z=x>y?x:y;
    	return(z);
    }
    
    

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

    例7.4:输入两个实数,用一个函数求出他们之和

    #include<stdio.h>
    int main()
    {
    	float add(float x,float y);
    	float a,b,c;
    	printf("Please enter a and b:");
    	scanf("%f,%f",&a,&b);
    	c=add(a,b);
    	printf("sum is %f\n",c);
    	return 0;
    }
    float add(float x,float y)
    {
    	float z;
    	z=x+y;
    	return(z);
    }
    

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

    展开全文
  • C语言入门简单例题

    2017-04-22 22:53:51
    1 .如何判断闰年? #include int main() { int a; scanf("%d",&a); if (a % 4 == 0) {  printf("1"); } else printf("0"); return 0; } 2. 列出100-200之间的素数 ...
  • c语言的经典例题,看完相信会有很大收获,学习完可以很快写出C的简单程序。
  • C语言简单例题

    千次阅读 2013-03-04 19:25:37
    1、要求从键盘上接收三个整数a,b,c,分别求++a + b + c,a++ + b + c++,a + b++ + ++c和++a + ++b + ++c的和,并将其输出。 #include  int main() {  setvbuf(stdout,NULL,_IONBF,0);...
  • 题目要求 已知函数 f(1)=3;...这题挺简单的,公式都给出来了,直接使用 撸写代码 #include<stdio.h> int f(int n) { if(n==1) { return 3; } else { return 2*f(n-1)+1; } }...
  • 本题目摘自C语言网,简单C语言例题。 题目: 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。 1.程序分析: 利用递归函数调用方式。 2.程序源代码: #include “stdio.h” main() { int ...
  • C语言经典例题100道

    2011-01-10 13:14:03
    算一道简单题目 76.调用函数求1/2+1/4+...+1/n 77.填空练习(指向指针的指针) 78.找到年龄最大的人 79.字符串排序 80.海滩猴子分桃 81.已知公式条件求数字 82.八进制转换为十进制 83.求0-7所能组成的奇数个数 84.由...
  • 1.实现数字金字塔   i:行数 j:空格数 n:金字塔的层数 ...3.复习C语言的函数调用 形参 实参等等的应用 ...本周复习了C语言的相关知识,重新学习了函数指针的相关内容,还有一部分未完善的练习,周末完成。
  • c语言例题简单易懂

    2010-07-31 09:04:20
    这是初学c语言的很好的参考资源,便于你更好的掌握这门语言
  • c语言例题总结】 问题描述 简单选择排序 代码 #include<iostream> #include<cstdlib> #include<algorithm> #include<stdio.h> #define N 1001 using namespace std; void SelectSort...
  • 分享一个例题C语言的,转自C语言网。 题目: 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三...
  • 简单c语言程序设计例题

    千次阅读 2019-02-25 22:07:36
    题目要求:从键盘输入直角三角形的两条直角边的长度,求斜边的长度和三角形的面积,计算结果保留两位小数。 #include&lt;stdio.h&gt; //包含预处理 #include&lt;... 将库文件包含到程序当中 ...
  • 顺序结构是最简单的一种程序结构,其它的结构可以包含顺序结构也可以作为顺序结构的组成部分,可见顺序结构无处不在,他是构成其他程序结构的基础。在顺序结构程序中,各语句是按自上而下的顺序执行的,执行完上一个...
  • no.1不引入其他变量交换两个变量的值 利用加减法或乘除交换两个变量的值: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { int a, b; scanf("%d %d", &a, &... a
  • C语言例题总结

    2019-01-27 18:14:21
    程序设计与C语言 目录第1章 程序设计和C语言例1.1要求在屏幕上输出以下一行信息例1.2求两个整数之和例1.3求两个整数中较大者第2章 算法——程序的灵魂例2.1求5的阶乘例2.2: 求多项式(1-1/2+1/3-1/4+…+1/99-1/100...
  • c语言简单代码

    2012-09-09 13:31:14
    100道非常简单,但是非常基础的c语言例题

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 225
精华内容 90
关键字:

c语言简单例题

c语言 订阅