1、以系统自然数增大模式输出随机数。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a;
srand((unsigned)time(NULL));
a = rand() % 100;
printf("%d", a); // a是一个单调增大的随机数(0~100)
return 0;
}
2、 求一元二次方程的实根。
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, delta;
scanf("%lf%lf%lf", &a, &b, &c);//ax^2+bx+c=0的各项系数
if (a == 0)
printf("x=%d", -c / b);
else
{
delta = b * b - 4 * a * c;
if (delta < 0)
printf("无实根");
else
{
delta = sqrt(delta);
printf("方程有两个实根x1=%.2lf x2=%.2lf", (-b + delta) / 2.0 / a, (-b - delta) / 2.0 / a);
}
}
return 0;
}
3、输入年份,输出该年份对应的那个生肖。
#include <stdio.h>
int main()
{
int a, b;
scanf("%d", &a); // 输入查阅的年份,输出生肖
if (a >= 2008)
b = (a - 2008) % 12;
else
b = 12 - ((2008 - a) % 12);
switch (b)
{
case 0:
printf("%d鼠 ", a);
break;
case 1:
printf("%d牛 ", a);
break;
case 2:
printf("%d虎 ", a);
break;
case 3:
printf("%d兔 ", a);
break;
case 4:
printf("%d龙 ", a);
break;
case 5:
printf("%d蛇 ", a);
break;
case 6:
printf("%d马 ", a);
break;
case 7:
printf("%d羊 ", a);
break;
case 8:
printf("%d猴 ", a);
break;
case 9:
printf("%d鸡 ", a);
break;
case 10:
printf("%d狗 ", a);
break;
case 11:
printf("%d猪 ", a);
break;
}
return 0;
}
4、输入一个数,先判断数位,再输出各个数位上的数字。(这里小编就只列举一个5位数的例子)
#include <stdio.h>
int main()
{
printf("请输入一个不多于5位的正整数:");
int a;
scanf("%d", &a);
if (a > 9999)
{
printf("该数字是5位数,逆序打印出个位数字:");
printf("%d ", a % 10);
printf("%d ", a % 100 / 10);
printf("%d ", a % 1000 / 100);
printf("%d ", a % 10000 / 1000);
printf("%d", a / 10000);
}
else if (a > 999)
{
printf("该数字是4位数,逆序打印出个位数字:");
printf("%d ", a % 10);
printf("%d ", a % 100 / 10);
printf("%d ", a % 1000 / 100);
printf("%d ", a / 1000);
}
else if (a > 99)
{
printf("该数字是3位数,逆序打印出个位数字:");
printf("%d ", a % 10);
printf("%d ", a % 100 / 10);
printf("%d ", a / 100);
}
else if (a > 9)
{
printf("该数字是2位数,逆序打印出个位数字:");
printf("%d ", a % 10);
printf("%d ", a / 10);
}
else
{
printf("该数字是1位数,逆序打印出个位数字:");
printf("%d ", a);
}
return 0;
}
5、求一个真分数的埃及分数。
#include <stdio.h>
int main()
{
long a, b, c;
scanf("%ld/%ld", &a, &b); /*输入分子a和分母b*/
printf("%ld/%ld=", a, b);
while (1)
{
if (b % a != 0) /*若分子不能整除分母*/
c = b / a + 1; /*则分解出一个分母为b/a+1的埃及分数*/
else
{
c = b / a;
a = 1;
} /*否则,输出化简后的真分数(埃及分数)*/
if (a == 1)
{
printf("1/%ld\n", c);
break; /*a为1标志结束*/
}
else
printf("1/%ld + ", c);
a = a * c - b; /*求出余数的分子*/
b = b * c; /*求出余数的分母*/
if (a == 3) /*若余数为3,输出最后两个埃及分数*/
{
printf("1/%ld + 1/%ld\n", b / 2, b);
break;
}
}
return 0;
}