题目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++中输出笑脸,希望有人能够指教谢谢。