test01() {
int m, n;
int gy = 0, gb = 0;
printf("请输入输入两个正整数:(m,y)\n");
scanf("%d,%d", &m, &n);;
for (gy = m; gy >= 1; --gy) {
if (m % gy == 0 && n % gy == 0)
break;
}
gb = m * n / gy;
printf("%d,%d的最小公倍数为:%d,最大公约数为:%d", m, n, gb, gy);
}
test02() {
int b, flag, i, n;//b分母,flag正负号标志
double item, sum;//item项数
printf("请输入计算到第几项的和n的值:\n");
scanf("%d", &n);
b = 1;
flag = 1;
sum = 0;
for (i = 1; i <= n; i++, b += 2) {
item = flag * (1.0 / b);//1.0为分子
sum = sum + item;
flag *= -1;//改变每项的正负
}
printf("Sum=%.2f\n", sum);
}
居民应交水费y(元)与月用水量x(吨)的函数关系式如下(设x≥0)。
y= x/3 0≤x≤15
y= 2.5x-10.5 x>15
输入用户的月用水量x(吨),计算并输出该用户应支付的水费y(元)(保留2位小数)。
float x;
float y;
printf("请输入月用水量\n");
scanf("%f", &x);
if (x >= 0 && x <= 15) {
y = x / 3;
} else if (x > 15.0) {
y = 2.5 * x - 10.5;
} else {
printf("您输入的数据有误请重新检查");
return 0;
}
printf("该用户应该支付的水费%.2f元", y);
要求根据用户从键盘输入的表达式:
操作数1 运算符op 操作数2
计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。
test04(float x, char op, float y) {
float z;
switch (op) {
case '+':
z = x + y;
printf("%f + %f = %.2f\n", x, y, z);
break;
case '-':
z = x - y;
printf("%f - %f = %.2f\n", x, y, z);
break;
case '*':
z = x * y;
printf("%f * %f = %.2f\n", x, y, z);
break;
case '/':
if (y == 0) {
printf("被除数不能为0");
} else {
z = x / y;
printf("%f / %f = %.2f\n", x, y, z);
}
break;
default:
printf("输出正确的运算符!\n");
}
}
main() {
float x, y;
char op;
printf("Please enter the expression:\n");
scanf("%f%c%f", &x, &op, &y);
getchar();
test04(x, op, y);
}
test05() {
int i;
double temp[10], x[10] = {2}, y[10] = {1}, sum = 0;
for (i = 0; i < 10; ++i) {
temp[i] = x[i] / y[i];
if (i < 9) {
x[i + 1] = x[i] + y[i];
y[i + 1] = x[i];
}
}
for (i = 0; i < 10; ++i) {
printf("%.0f/%.0f\t", x[i], y[i]);
sum += temp[i];
}
printf("\n%.2f", sum);
}
test06() {
int arr[10];
printf("输入十个整数 Enter输入下一个\n");
for (int i = 0; i < 10; ++i) {
scanf("%d", &arr[i]);
}
int len = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < len; ++i) {
for (int j = 0; j < len - i - 1; ++j) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
printf("最大的数为%d",arr[9]);
}
test07() {
int arr[4];
for (int i = 0; i < 4; ++i) {
scanf("%d", &arr[i]);
}
int len = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < len; ++i) {
for (int j = 0; j < len - i - 1; ++j) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = len - 1; i >= 0; --i) {
printf("%d ", arr[i]);
}
}
例如:2+22+222+2222+22222(n=5),n由键盘输入。
test08() {
int a, n;
printf("请输入原始的数字和输入要相加的个数\n");
scanf("%d %d", &a, &n);
int temp = 0;
int sum = 0;
for (int i = 0; i < n; i++) {
temp += a * pow(10, i);
sum += temp;
}
printf("%d\n", sum);
}
int factorial(int n) {
if (n == 1) {
return 1;
}
return n * factorial(n - 1);
}
test09() {
int sum=0;
for (int i = 1; i <= 10; ++i) {
sum+=factorial(i);
}
printf("%d",sum);
}
test10() {
for (int i = 1; i <= 999; ++i) {
int a = i / 100;
int b = i % 100 / 10;
int c = i % 10;
if (pow(a, 3) + pow(b, 3) + pow(c, 3) == i) {
printf("%d\n", i);
}
}
}
test11(){
double total_m = 100.0;
double total_sum = 0.0;
for (int i = 0; i < 10; i++)
{
total_sum += total_m;
total_m /= 2;
total_sum += total_m;
}
total_sum -= total_m;
printf("小球总共经历%lf米, 第10次反弹%lf米\n", total_sum, total_m);
return 0;
}
test12() {
int i;
int x = 1;
for (i = 9; i >= 1; i--) {
x = (x + 1) * 2;
}
printf("第一天共摘了桃子为:%d", x);
}
test13() {
int num = 2;
while (num <= 100) {
int flag = 1;
int i = 2;
while (i < num) {
if (num % i == 0) {
flag = 0;
break;
}
i++;
}
if (flag) {
printf("素数为:%d\t", num);
}
num++;
}
}