#include
int main()
{
int i;
for(i=100;i<=999;i++)
{
int a,b,c;
a=i/100;
b=i%100/10;//i/10-a*10
c=i%10;
if(a*a*a+b*b*b+c*c*c==i)
printf("%d是水仙花数。\n",i);
}
}
/*
153是水仙花数。
370是水仙花数。
371是水仙花数。
407是水仙花数。
*/
//1000可买公鸡最多20||母鸡:33||小鸡:300
#include
int main()
{
int a,b,c;
for(a=0;a<20;a++)
{
for(b=0;b<=33;b++)
{
for(c=0;c<=100;c++)
{
if(50*a+30*b+10*c==1000 && a+b+3*c == 100) printf("公鸡买%d只,母鸡买%d只,小鸡买%d只\n",a,b,3*c);
}
}
}
}
/*
公鸡买0只,母鸡买25只,小鸡买75只
公鸡买4只,母鸡买18只,小鸡买78只
公鸡买8只,母鸡买11只,小鸡买81只
公鸡买12只,母鸡买4只,小鸡买84只
*/
//参考答案:
#include
int main()
{
int a,b,c;
for(a=1;a<20;a++)
{
for(b=1;b<33;b++)
{
for(c=0;c<100;c++,c++,c++)//循环套用,遍历所有方案
{
if((a+b+c==100) && (a*50+b*30+c*10/3.0==1000))
{
printf("%d只公鸡%d只母鸡%d只小鸡\n",a,b,c);
}
}
}
}
return 0;
}
#include
int main()
{
int a,b,c;
printf("输入三角形的边:");
scanf("%d%d%d",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a)
{
if(a==b || b==c || c==a)
{
if(a==b && b==c)
printf("%d,%d,%d构成等边三角形。\n",a,b,c);
else if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a)
printf("%d,%d,%d构成等腰直角三角形。\n",a,b,c);
else
printf("%d,%d,%d构成等腰三角形。\n",a,b,c);
}
else if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a)
printf("%d,%d,%d构成直角三角形。\n",a,b,c);
else
printf("%d,%d,%d构成一般三角形。\n",a,b,c);
}
else
printf("%d,%d,%d不构成三角形。\n",a,b,c);
}
//参考答案:
#include
int main()
{
float a,b,c;
printf("请输入三角形边长:\n");
scanf("%f%f%f",&a,&b,&c);
if((a-b>=c)||(b-c>=a)||(c-a>=b))
{
printf("不能够成三角形\n");
}
else if ((a*a+b*b==c*c)||(b*b+c*c==a*a)||(c*c+a*a==b*b))
{
if ((a==b)||(b==c)||(c==a))
{
printf("等腰直角三角形\n");
}
else
{
printf("直角三角形\n");
}
}
else if ((a==b)&&(b==c))
{
printf("等边三角形\n");
}
else if ((a==b)&&(b!=c)||(c==b)&&(b!=a)||(a==c)&&(c!=a))
{
printf("等腰三角形\n");
}
else
{
printf("一般三角形\n");
}
return 0;
}
#include
#include
int main()
{
float a,b;
printf("输入奖金数:");
scanf("%f",&a);
if(a<500)
{
b=0;printf("应交税款为%.1f,实得奖金数为%.1f\n",b,a-b);
}
else if(a>=500&&a<=1000)
{
b=a*0.03;printf("应交税款为%.1f,实得奖金数为%.1f\n",b,a-b);
}
else if(a>=1000&&a<=2000)
{
b=a*0.05;printf("应交税款为%.1f,实得奖金数为%.1f\n",b,a-b);
}
else if(a>=2000&&a<=5000)
{
b=a*0.08;printf("应交税款为%.1f,实得奖金数为%.1f\n",b,a-b);
}
else
{
b=a*0.12;printf("应交税款为%.1f,实得奖金数为%.1f\n",b,a-b);
}
}
/*编译结果:
输入奖金数:1234
应交税款为61.7,实得奖金数为1172.3
*/
//参考答案:
#include
int main()
{
int a,n;
float r,t,s;
printf("请输入奖金数:\n");
scanf("%d",&a);
n=a/1000;
switch(n)
{
case 0:
case 1:
case 2:r=0.01;break;
case 3:
case 4:r=0.02;break;
case 5:
case 6:
case 7:
case 8:
case 9:r=0.03;break;
default:r=0.05;break;
}
printf("税率:%7.2f\n",r);
printf("税款:%7.2f\n",a*r);
printf("实得奖金:%7.2f\n",a-a*r);
return 0;
}
#include
#include
int main()
{
int i=0,num,temp;
printf("输入西瓜个数:");
scanf("%d",&num);
temp=num;
while(num!=0)
{
num-=num/2+2;
i++;
if(num<=0)
break;
}
printf("%d个西瓜要买%d天\n",temp,i);
}
/*编译结果:
输入西瓜个数:1020
1020个西瓜要买8天
*/
//参考答案:
#include
void main()
{
int a=1020,c=0;
do
{
a=a/2-2;
c++;
}while(a!=0);
printf("c=%d",c);
}
//第十天:1,第九天:4/2-1=1、4=(1+1)*2,第八天:y=(x+1)*2、x=4、y=10
#include
#include
int main()
{
int i=0,sum=1;
for(i=0;i<9;i++)
{
sum=(sum+1)*2;
}
printf(" 猴子第一天一共摘了%d个桃子\n",sum);
}
/*编译结果:
猴子第一天一共摘了1534个桃子
*/
//参考答案:
#include
#define uchar unsigned char
#define uint unsigned int
int main()
{
uchar day,i;
uint s=0,j=1,k=0;
printf("请输入第几天剩下一个桃子!回车结束!\n");
scanf("%d",&day); //输入第几天剩下一个桃子
if(day==1)
{
printf("第一天共有桃子1个!\n");
}
else
{
for(i=1;i
//第一个月:1`;第二月:1``;第三月:1```+1`;
//第四月:1```+1`+1``;第五月1```+1`+1``+1```+1`;
//第六月:1```+1`+1``+1```+1`+1```+1`+1``
//1 1 2 3 5 8
#include
#include
int main()
{
int i,n;
int a[128];
a[0]=1;
a[1]=1;
printf("输入月份:");
scanf("%d",&n);
printf("第1月一共有1对兔子\n");
printf("第2月一共有1对兔子\n");
for(i=2;i
/*编译结果:
输入月份:6
第1月一共有1对兔子
第2月一共有1对兔子
第2月一共有2对兔子
第3月一共有3对兔子
第4月一共有5对兔子
第5月一共有8对兔子
*/
//参考答案:
#include
#define uchar unsigned char
#define uint unsigned int
int main()
{
uint i,temp=1,n=1;
uint mouth,sum;
printf("请输入月份!回车结束!\n");
scanf("%d",&mouth); //输入月份
if(mouth<2)
{
printf("一共有2只兔子\n");
return 0;
}
for(i=3;i<=mouth;i++)
{
sum=n+temp; //sum为本个月的总数
n=temp; //n为上上个月总数
temp=sum; //temp为上个月总数
}
printf("一共有%d只兔子\n",sum*2);
return 0;
}
#include
#include
long mul(int a,int n)
{
if(n=1)
return a;
else
return a*mul(a,n-1);
}
int main()
{
int i,a,n;
long Sn=0;
printf("输入a:");
scanf("%d",&a);
printf("输入n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
Sn+=mul(a,i);
}
printf("当a=%d n=%d时,Sn=%ld\n",a,n,Sn);
}
/*编译结果:
输入a:2
输入n:2
当a=2 n=2时,Sn=4
*/
//结论:
/*
long数据类型:%ld
*/
//参考答案:
#include
int main()
{
int a,n,i=1,sn=0,tn=0;
printf("a,n=:");
scanf("%d,%d",&a,&n);
while(i<=n)
{
tn=tn+a;
sn=sn+tn;
a=a*10;
++i;
}
printf("a+aa+aaa+…+aa…a=%d\n",sn);
return 0;
}
//金字塔:3;第3层:第3个奇数(5个*),上一次:第2个奇数(3个*,5-3个空格)第n层:2i-1个*
// *
// ***
//*****
#include
#include
int main()
{
int n,i,j;
printf("输入金字塔层数:");
scanf("%d",&n);
printf("\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=((2*n-1)-(2*i-1))/2;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
for(j=1;j<=((2*n-1)-(2*i-1))/2;j++)
printf(" ");
printf("\n");
}
printf("输入菱形(奇数)层数:");
scanf("%d",&n);
n=n/2+1;
printf("\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=((2*n-1)-(2*i-1))/2;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
for(j=1;j<=((2*n-1)-(2*i-1))/2;j++)
printf(" ");
printf("\n");
}
for(i=n-1;i>=1;i--)
{
for(j=1;j<=((2*n-1)-(2*i-1))/2;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
for(j=1;j<=((2*n-1)-(2*i-1))/2;j++)
printf(" ");
printf("\n");
}
}
/*编译结果:
输入金字塔层数:5
*
***
*****
*******
*********
输入菱形(奇数)层数:5
*
***
*****
***
*
*/
//参考答案:
打印金字塔图形
#include
int main()
{
char i,j,k;
for(j=0;j<4;j++)
{
for(i=0;i<3-j;i++)
{
printf(" ");
}
for(i=0;i<=j*2;i++)
{
printf("*");
}
printf("\n");
}
return 0;
}
打印菱形
#include
int main()
{
char i,j,k;
for(j=0;j<4;j++)
{
for(i=0;i<4-j;i++)
{
printf(" ");
}
for(i=0;i<=j*2;i++)
{
printf("*");
}
printf("\n");
}
for(i=0;i<=4*2;i++)
{
printf("*");
}
printf("\n");
for(j=0;j<4;j++)
{
for(i=0;i<=j;i++)
{
printf(" ");
}
for(i=0;i<(4-j)*2-1;i++)
{
printf("*");
}
printf("\n");
}
return 0;
}
#include
#include
void trans(char buff[]);
void trans(char buff[])
{
int i;
while(buff[i]!=0)
{
if(buff[i]>=65&&buff[i]<='Y')
buff[i]=buff[i]+1;
if(buff[i]=='Z')
buff[i]=65;
if(buff[i]>=97&&buff[i]<='y')
buff[i]=buff[i]+1;
if(buff[i]=='z')
buff[i]=97;
i++;
}
buff[i]='!';
buff[i+1]=0;
printf("翻译的电文为:%s\n",buff);
}
int main()
{
int n,i,j;
char buff[128];
printf("输入密码:");
gets(buff);
trans(buff);
}
/*编译结果:
输入密码:abcDEF123
翻译的电文为:bcdEFG123!
*/
//参考答案:
#include
int main()
{
char ch;
printf("输入字符串:\n");
while ((ch=getchar())!='!')
{
if ((ch>='a' && ch<='z')||(ch>='A' && ch<='Z'))
{
if(ch=='z')
{
ch='a';
}
else if(ch=='Z')
{
ch='A';
}
else
{
ch=ch+1;
}
printf("%c",ch);
}
}
printf("\n");
}
#include
#include
void change(char a);
void change(char a)
{
int i;
if(a>=65&&a<='Z')
a=a+32;
if(a>=97&&a<='z')
a=a-32;
printf("字符变成:%c\n",a);
}
int main()
{
char a;
printf("输入一个字符:");
scanf("%c",&a);
change(a);
}
/*编译结果:
输入一个字符:r
字符变成:R
输入一个字符:a
字符变成:A
输入一个字符:4
字符变成:4
*/
//参考答案:
#include
int main()
{
char ch; //定义字符ch
ch=getchar();
if((ch>=65)&&(ch<=90))
{
ch=ch+32;
}
else if ((ch>=97)&&(ch<=122))
{
ch=ch-32;
}
printf("%c\n",ch);
}
#include
#include
int odd(void);
int even(void);
int odd(void)
{
int i,sum=0;
for(i=2;i<100;i++)
if(i%2==1)
sum+=i;
return sum;
}
int even(void)
{
int i,sum=0;
for(i=2;i<100;i++)
if(i%2==0)
sum+=i;
return sum;
}
int main()
{
printf("奇数和为:%d\n",odd());
printf("偶数和为:%d\n",even());
}
/*编译结果:
奇数和为:2499
偶数和为:2450
*/
//参考答案:
#include
void main ()
{
int n,even=0,odd=0;
for(n=1;n<=50;n++)
{
even+=2*n; //even=even+2*n
odd+=2*n-1;
}
printf("1到100间的偶数的和为%d:\n",even);
printf("1到100间的奇数的和为%d:\n",odd);
}
#include
#include
#include
int LayOut(void);
int judge(int ret,int num);
void hint(int ret);
int LayOut(void)
{
int a;
printf("**********************\n");
printf("*******猜字游戏*******\n");
printf("********1.play********\n");
printf("********2.exit********\n");
aa:
scanf("%d",&a);
if(a==1)
return 1;
else if(a==2)
return 0;
else
printf("输入错误,重新输入:\n");
goto aa;
}
int judge(int ret,int num)
{
if(ret>num)
{
printf("数字有点小了。\n再猜一次:\n");
return 0;
}
else if(ret
//参考答案:
#include
int main()
{
int a;
printf ("x+y=2\n");
printf("x*y=1\n");
printf("请输入你所猜得数字\n");
scanf("%d",&a);
while(a!=11)
{
printf("you are not right\n");
scanf("%d",&a);
}
printf ("you are right\n");
}