C语言基础100_题1-10

题目1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所.

#include <stdio.h>

 main()
{
   int a[4],b[3],c[4],i,j,result,mid;
   a[0]=c[0]=1;
   a[1]=c[1]=2;
   a[2]=c[2]=3;
   a[3]=c[3]=4;
   for(j=0;j!=1;)
   {
    
     for(i=0;i<3;i++)
     {
       b[i]=a[i];
     }
     for(i=0;i<3;i++)
     {
       result=b[0]*100+b[1]*10+b[2];
       printf("%d\n", result);
       mid=b[0];
       b[0]=b[1];
       b[1]=b[2];
       b[2]=mid; 
     }
     
     mid=a[0];
     a[0]=a[1];
     a[1]=a[2];
     a[2]=a[3];
     a[3]=mid;
     if(a[0]==c[0]&&a[1]==c[1]&&a[2]==c[2]&&a[3]==c[3])
       j=1;
   }
}

结果:

题目2:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

#include<stdio.h>

main()
{
	float profit, bonus;
	
	scanf("%f", &profit);
	printf("%f\n", profit);
	
	if(profit>10)
	{
		if(profit>20)
		{ 
		    if(profit>40)
		    {
				if(profit>60)
		        {
				        if(profit>100)
		                {
		                	bonus=100.0*0.1+(profit-100.0)*0.01;
						}else
						bonus=60*0.1+(profit-60.0)*0.015;
			    }else
			    bonus=40.0*0.1+(profit-40.0)*0.03;
		   }else
		   bonus=20.0*0.1+(profit-20.0)*0.05;
		}else
		bonus=10.0*0.1+(profit-10.0)*0.075;
	}else 	bonus=profit*0.1;
	
	printf("%f\n", bonus);
 } 

输入66,结果:

!如输入语句形如scanf(“%f\n”,&profit),则输入后程序无法继续进行。

题:3:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

#include<stdio.h>
#include<math.h>
main()
{
	double x, y, b;
	int a=0;

	for(x=0;a!=1;x++)
	{
	  b=sqrt(x+100.0);
	  y=(int)b*(int)b;
	  if(y==(x+100))
	  {
	  	  b=sqrt(x+168.0);
	      y=(int)b*(int)b;
	      if(y==(x+100))
	          a=1;
	  }
    }
    printf("%f\n", x);
}

结果:

!当数据类型定义为 long double型时,程序出错。

题目4:输入某年某月某日,判断这一天是这一年的第几天?

#include<stdio.h>
#define run 1
#define notrun 2 

main()
{
	int day, month, year, mid, total, before;
	
	scanf("%d %d %d", &year, &month, &day);

	if(year%4==0&&year%100!=0||year%400)
	  mid=run;
	else
	  mid=notrun;
	if(mid==1)
	  switch(month)
	  {
	  	case 1:before=0;break;
	  	case 2:before=31;break;
	  	case 3:before=50;break;
	  	case 4:before=81;break;
	  	case 5:before=111;break;
	  	case 6:before=142;break;
	  	case 7:before=172;break;
	  	case 8:before=203;break;
	  	case 9:before=234;break;
	  	case 10:before=264;break;
	  	case 11:before=295;break;
	  	case 12:before=325;break;
	    }
	else
	 switch(month)
	  {
	  	case 1:before=0;break;
	  	case 2:before=31;break;
	  	case 3:before=49;break;
	  	case 4:before=80;break;
	  	case 5:before=110;break;
	  	case 6:before=141;break;
	  	case 7:before=171;break;
	  	case 8:before=202;break;
	  	case 9:before=233;break;
	  	case 10:before=263;break;
	  	case 11:before=294;break;
	  	case 12:before=324;break;
	    }
	total=day+before;
	printf("这是%d年的第%d天\n", year, total);
	 
}

结果:

题5:输入三个整数x,y,z,请把这三个数由小到大输出。

题6:用*号输出字母C的图案。

题7:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!

#include <stdio.h>
main()
{
	int i;
    char a=0, b=32;
    for(i=0;a<19;i++)
    {
        printf(" %c %c %c %c %c\n", b+a*5, b+a*5+1, b+a*5+2, b+a*5+3, b+a*5+4);
        a++;
    }
}

结果

题目8:输出9*9口诀。

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

结果:

题目9:要求输出国际象棋棋盘。

#include<stdio.h>
main()
{
    int i,j;
    for(i=1;i<=8;i++)
    {
    	for(j=1;j<=8;j++)
    	{
    		if((i+j)%2==0)
    		    printf("%c%c", '\xa1', '\xf6'); 
    		else
    		    printf("  ");
   		}
		printf("\n");
	}
	 
}

结果:

题目10:打印楼梯,同时在楼梯上方打印两个笑脸。

笔者无法在Dev c++中输出笑脸,希望有人能够指教谢谢。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值