C语言学习3

  1. 整数算术运算.在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。

    #include<stdio.h>
    #include<math.h>
    
    int main(void)
    {
    	int a,b;
    	int c,d,e,f;
    
    	scanf("%d %d",&a,&b);
    	
    	c = a + b;
    	d = a - b;
    	e = a * b;
    	f = a / b;
    	
    	printf("%d + %d = %d\n" ,a,b,c);
    	printf("%d - %d = %d\n" ,a,b,d);
    	printf("%d * %d = %d\n" ,a,b,e);
    	printf("%d / %d = %d\n" ,a,b,f);
    	
    	return 0;
    	
    }

  2. 本题目要求计算下列分段函数(的值:

    f2-11

    注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。

    # include <stdio.h>
    #include<math.h>
    
    int main(void)
    {
    	float x,y;
    	
    	scanf("%f",&x);
    
    	
    	if(x >= 0){
    		
    		y = pow(x,0.5);
    		
    	}else{
    		
    		y = 1/x+2*x+pow(x+1,2);
    		
    	}
    	printf("f(%.2f) = %.2f\n",x,y);
    	
        return 0;
        
    }

     

  3. 输入2个正整数lowerupperlowerupper≤100),请输出一张取值范围为[lowerupper]、且每次增加2华氏度的华氏-摄氏温度转换表。

    温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。

    第一行输出:"fahr celsius"

    接着每行输出一个华氏温度fahr(整型)与一个摄氏温度celsius(占据6个字符宽度,靠右对齐,保留1位小数)。

    若输入的范围不合法,则输出"Invalid."。

    #include<stdio.h>
    
    int main(void)
    {
    	int lower,upper;
    	int fahr;
    	double celsius;
    	
    	scanf("%d %d",&lower,&upper);
    	
    	if(lower<upper&&upper<=100)
    	{
    		printf("fahr celsius\n");
    		
    		for(fahr = lower;fahr<=upper;fahr = fahr + 2){
    			celsius = 5.0*(fahr-32)/9;
    			printf("%d%6.1f\n",fahr,celsius);
    		}
    	}else{
    		printf("Invalid.\n");
    	}
    }

     

  4.  计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。在一行中输出部分和的值,结果保留三位小数。

    #include <stdio.h>
    #include <math.h>
    
    int main(void)
    {
    	int i,n,flag;
    	double item,sum;
    	
    	scanf("%d",&n);
    	
    	flag = 1; 
    	item = 1;
    	sum = 0;
    	
    	for(i = 1; i <= n; i++){
    		
    		if(i%2 == 0)
    			sum = sum - (double)i / (2 * i - 1);
    		else
    			sum = sum + (double)i / (2 * i - 1);
    
    	}
    	
    	printf("%.3f\n",sum);
    	
    	return 0;
    }

  5. 对两个正整数m和n(m≤n)编写程序,计算序列和m​2​​+1/m+(m+1)​2​​+1/(m+1)+⋯+n​2​​+1/n。在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。

    #include <stdio.h>
    #include <math.h>
    
    int main(void)
    {
    	int m,n,i;
    	double sum,a;
    	
    	scanf("%d%d",&m,&n);
    	
    	sum = 0.0;
    	
    	//for(m<=i&&i<=n){
    	for(i = m; i <= n; i++){
    		a=pow(i,2)+1.0/i;
    		sum=sum+a;
    	}
    	printf("sum = %.6f",sum);
    }

     

  6. 判断一个给定的三位数是否为水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。如果N是水仙花数,则在一行中输出Yes,否则输出No。如果N不是三位数,则输出Invalid Value.

    #include <math.h>
    int main(void)
    {
    	int x;
    	int a,b,c;
    	scanf("%d",&x);
    	
    	a = x/100;
    	b = (x-a*100)/10;
    	c = x-a*100-b*10;
    	
    	if((pow(a,3) + pow(b,3) + pow(c,3) == x))
    	{
    		printf("Yes");
    	}
    	else
    	{
    		printf("No");
    	}
    	return 0;
    }

     总结

  • 浮点数、双精度浮点数的定义,以及输出数据的格式(小数点前几位、小数点后几位)定义
  • math.h的头文件包含的数学函数
  • “=”和“==“的不同意义
  • for循环嵌套if else语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mirror Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值