<1>数字排列。
#include <stdio.h>
int main()
{
int sum= 0;
for(int i= 1; i< 5; i++)
{
for(int a= 1; a< 5; a++)
{
for(int b= 1; b< 5; b++)
{
if(i!=a && i!=b && a!=b)
{
printf("%d%d%d", i, a, b);
putchar('\n');
sum= sum+ 1;
}
}
}
}
printf("%d", sum);
return 0;
}
答案有24种。
<2>奖金分配问题。
#include <stdio.h>
int main()
{
long int i;
int bouns1, bouns2, bouns4, bouns6, bouns10, bouns;
scanf("%ld", &i);
bouns1= 100000*0.1;
bouns2= bouns1+100000*0.75;
bouns4= bouns2+200000*0.5;
bouns6= bouns4+200000*0.3;
bouns10= bouns6+400000*0.15;
if(i<= 100000)
{
bouns= i*0.1;
}
else if(i<= 200000)
{
bouns= bouns1+(i-100000)*0.075;
}
else if(i<= 400000)
{
bouns= bouns2+(i-200000)*0.05;
}
else if(i<= 600000)
{
bouns= bouns4+(i-400000)*0.03;
}
else if(i<= 1000000)
{
bouns= bouns6+(i-600000)*0.015;
}
else
{
bouns= bouns10+(i-1000000)*0.01;
}
printf("bouns=%d", bouns);
return 0;
}
<3>已知条件求解整数
#include <stdio.h>
#include <math.h>
int is_pownum(int x)
{
int temp;
temp= sqrt(x);
if(temp* temp== x)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int num= 1;
for( ; ; num++)
{
if(is_pownum(num+100) && is_pownum(num+169))
{
printf("%d", num);
break;
}
}
return 0;
}
<5>输入整数进行排序。
#include <stdio.h>
int main()
{
int x, y, z, temp;
scanf("%d %d %d", &x, &y, &z);
if(x> y)
{temp= y;y= x;x=temp;}
if(x> z)
{temp= z;z= x;x= temp;}
if(y> z)
{temp= z;z= y;y= temp;}
printf("small to big: %d %d %d", x, y, z);
return 0;
}
<8>打印99口诀。
#include <stdio.h>
#include <math.h>
int main()
{
int i, j;
for(i= 1; i<= 9; i++)
{
for(j= 1; j<= i; j++)
{
printf("%d*%d=%-2d ", i, j, i*j);
}
putchar('\n');
}
return 0;
}
<11>经典兔子问题。
#include <stdio.h>
int main()
{
long f1, f2;
int i;
f1=f2=1;
for(i= 1; i<= 20; i++)
{
printf("%12ld%12ld", f1, f2);
if(i%2==0)printf("\n");
f1=f1+f2;
f2=f1+f2;
}
return 0;
}
<12>判断素数
#include <stdio.h>
#include <math.h>
int isprim(int n);
int isprim(int n)
{
int i, j;
j= sqrt(n);
for(i= 2; i<= j; i++)
{
if(n%i==0)
return 0;
}
if(i> j)
{
return 1;
}
}
int main()
{
int x, y= 0;
for(x= 101; x<= 200; x++)
{
if(isprim(x)){
printf("%d ", x);
y++;
}
}
putchar('\n');
printf("101~200间的素数有%d个!", y);
return 0;
}
<14>正整数分解质因数
#include <stdio.h>
int main()
{
int i, j;
printf("please input a number: ");
scanf("%d", &i);
putchar('\n');
printf("%d=", i);
for(j= 2; j<= i; j++)
{
while(i!= j)
{
if(i%j== 0)
{
printf("%d*", j);
i=i/j;
}
else
{
break;
}
}
}
printf("%d", i);
return 0;
}
<19>求解“完数”
#include <stdio.h>
int wanshu(int n)
{
int sum=0;
int i;
for(i= 1; i<= n; i++)
{
if(n%i==0)
sum+=i;
}
if(sum==(n*2))
{
return 1;
}else{
return 0;
}
}
int main()
{
int i= 1;
for(i= 1; i<= 1000; i++)
{
if(wanshu(i)==1)
{
printf("%-3d", i);
}
}
return 0;
}
<22>乒乓球比赛抽签问题
#include <stdio.h>
int main()
{
int i= 0;
char d;
char aa[]={'a','b','c'};
char bb[]={'x','y','z'};
printf("c--y\n");
for(i= 0; ; i++)
{
if(bb[i]!='x' && bb[i]!='y')
{
printf("a--%c\n",bb[i]);
break;
}
d=bb[i];
}
for(i= 0; ; i++)
{
if(bb[i]!='y' && bb[i]!=d)
{
printf("b--%c", bb[i]);
break;
}
}
return 0;
}
<23>.输入一个奇数,用*打印菱形图案
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int i, j;
int x= n/2;
int y= 1;
for(i= 1; i<= n; i++)
{
for(j= 1; j<= x; j++)
{
printf(" ");
}
for(j= 1; j<= y; j++)
{
printf("*");
}
if(x>0 && i<= (n/2+1))
x--;
else
x++;
if(i<= (n/2+1) && y< n)
y+= 2;
else
y-= 2;
putchar('\n');
}
return 0;
}
<25>求1+2!+3!+……+20!的和
#include <stdio.h>
int main()
{
int i, j;
double s= 1, sum= 0;
for(i= 1; i<= 20; i++)
{
for(j= i; j>= 1; j--)
{
s= s*j;
}
sum+= s;
s= 1;
}
printf("1+2!+3!+……+20!=%lf", sum);
return 0;
}
<26>利用递归方法求5!
#include <stdio.h>
int jiechen(int x)
{
if(x> 1)
return x*jiechen(x-1);
else
return x;
}
int main()
{
int i= 5;
printf("5!=%d", jiechen(i));
return 0;
}
<28>岁数问题
#include <stdio.h>
int age(int x)
{
int y;
if(x==1)
y= 10;
else
y= age(x-1)+ 2;
return y;
}
int main()
{
printf("%d", age(5));
return 0;
}
更多推荐
C语言程序设计100个经典例子
发布评论