C语言初学常见(应试)程序类型 —— 一、小白篇(4.)

17. 温度制的转换

//温度转换 
# include <stdio.h>
int main()
{
    int F;
    float c;
    printf("华氏温度\t摄氏温度\n");
    c=-30.0;
    while(c<=30.0)
    {
        F=9*c/5.0+32;
        printf("%d\t\t%f\n",F,c);
        c=c+5.0;
    }
    return 0}
//"\t"的运用 

18. 水仙花数的判断

 //判断一个数是否是水仙花数(135) 
 
# include <stdio.h>

int main (void)
{
    int x,a,b,c;
    scanf ("%d",&x);
    a = x%10;
    b = x/10%10;
    c = x/100;
    a*a*a + b*b*b + c*c*c ==x?printf ("%d是水仙花数!",x):printf("%d不是水仙花数!",x);
    //三目符
   return 0;
}

19. 小白买笔问题

//假设使用n元钱买n支笔,其中钢笔3¥/支,圆珠笔2¥/支,铅笔0.5¥/支,
//问三种笔可各买多少支?要求每种笔至少买 1支。 
//要求输出所有可能的购买方式。(当有多种方式购买时,要求按照钢笔支数的升序进行输出。) 
#include<stdio.h>
int main()
{
   int n; 
   float  i, j;
   scanf("%d",&n);
   
   for (i = 1; i <= n - 2; i++)     //要会正确地利用转换条件 :i >= 1( ×)(i < n/3 )也行 
   		{
			for(j = 1; j <= n - 2; j++)
   				if(3*i + j*2 + (n - j - i)/2 == n)//其实最好用0.5,因为用 “/ ”只反映整数部分,可能有误差。 
   					printf("钢笔:%.f支,圆珠笔:%.f支,铅笔:%.f支\n",i,j,n-i-j);
   				else continue;			
   		}
    
	return 0;
}//也可以用3个for循环做 

20.一元二次函数连续求解

//一元二次方程连续求解
# include<stdio.h>
# include<math.h>

int main() {
	double a,b,c;
	double x1,x2;
	double delta;										//Dev : shift + ctrl + a 自动对齐 Visual : shift + F8

	do {
		printf ("请依次输入二次方程的系数:\n");
		printf ("a =");
		scanf ("%lf",&a);

		printf ("b =");
		scanf ("%lf",&b);

		printf ("c =");
		scanf ("%lf",&c);

		delta = b*b - 4*a*c;
		if (delta > 0) 
		{
			x1 = (-b + sqrt(delta))/(2*a);
			x2 = (-b - sqrt(delta))/(2*a);
			printf("有两个不相等的实数根:");
			printf("%lf %lf",x1,x2);
		} else if (delta == 0) {
			x1 = x2 = (-b)/(2*a);
			printf("有两个相等的实数根:");
			printf("%lf %lf",x1,x2);
		} else
			printf("无实数根:");
	    } 
	       while(1);    //1 恒为正 一直循环 

	return 0;
}
//do... while (1) 可以用来循环某程序,实现了窗口使用多次性

21.求sn=a+aa+aaa+aaaa+…的值

//用for循环求sn=a+aa+aaa+aaaa+......的值
#include <stdio.h>
int main(void)
{
	
    int a,b,i,sum = 0,val = 0;
    scanf("%d %d",&a,&b);		   //b 表示 最后一个数的 a 的个数 
 
    for (i = 1; i <= b; i++)
        {
            val = val*10 + a;     //不能直接写:a = a*10 + a 应为a未被赋值 
        	sum += val;
        }
        printf ("%d",sum);   
        
    return 0;
}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值