有3个整数 a,b,c,由键盘输入,输出其中最大的数
//有3个整数 a,b,c,由键盘输入,输出其中最大的数#include <stdio.h>int main(void)
{int a, b, c;scanf("a=%d b=%d c=%d", &a, &b, &c);if (a > b){int temp = a;a = b;b = temp;}//a < bif (a > c){int temp = a;a = c;c = temp;}//a < cif (b > c){int temp = b;b = c;c = temp;}//b < cprintf("max = %d", c);return 0;
}
在VS编译器内会报C4996错误,解决见下文:(下同)
C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. - EricsT - 博客园 (cnblogs.com)
运行结果:
从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)要求在输入数据后先对其进行检查是否为小于1000的正数。若不是,则要求重新输入。
//从键盘输入一个小于1000的正数
// 要求输出它的平方根(如平方根不是整数,则输出其整数部分)要求在输入数据后先对其进行检查是否为小于1000的正数。
// 若不是,则要求重新输入。#include <stdio.h>
#include <math.h>int main(void)
{int a;printf("请输入小于1000的正数\n");scanf("%d", &a);while ((a >= 1000) || (a <= 0)){printf("请重新输入\n");scanf("%d", &a);}double sq = sqrt(a);int iSq = (int)sq;printf("%d", iSq);return 0;
}
运行结果:
有一个函数,当 x < 1 时,y = x;当 x >= 1 且 x < 10 时,y = 2x - 1;当 x >= 10时,y = 3x - 11;写程序,输入 x 的值,输出 y 相应的值
//有一个函数,当 x < 1 时,y = x;当 x >= 1 且 x < 10 时,y = 2x - 1;当 x >= 10时,y = 3x - 11;写程序,输入 x 的值,输出 y 相应的值#include <stdio.h>int main(void)
{double x;scanf("%lf", &x);double y;if (x < 1)y = x;else if (x < 10)y = 2 * x - 1;elsey = 3 * x - 11;printf("y=%lf\n", y);return 0;
}
运行结果:
结果一: 结果二: 结果三:
给出一百分制的成绩,要求输出成绩等级‘A’‘B’‘C’‘D’‘E’90以上为‘A’[80,89]为‘B’[70,79]为‘C’[60, 69]为‘D’60以下为‘E’
//给出一百分制的成绩,要求输出成绩等级‘A’‘B’‘C’‘D’‘E’90以上为‘A’[80,89]为‘B’[70,79]为‘C’[60, 69]为‘D’60以下为‘E’#include <stdio.h>int main(void)
{int a;scanf("%d", &a);if (a < 60){printf("E");return 0;}int i = a / 10;switch (i){case 6:printf("D");break;case 7:printf("C");break;case 8:printf("B");break;case 9:case 10:printf("A");break;}return 0;
}
运行结果:
结果一: 结果二: 结果三: 结果四: 结果五:
给出一个不多于5位的正整数,要求:
- 求出它是几位数
- 分别输出每一位数字
- 按逆序输出各位数字
//求出它是几位数#include <stdio.h>int main(void)
{int a;scanf("%d", &a);int i = 0;while (a > 0){a = a / 10;i++;}printf("是%d位数", i);return 0;
}
运行结果:
//分别输出每一位数字#include <stdio.h>int main(void)
{int a;scanf("%d", &a);while (a > 0){printf("%d\n", a % 10);a = a / 10;}return 0;
}
运行结果:
//按逆序输出各位数字#include <stdio.h>int main(void)
{int a;scanf("%d", &a);while (a > 0){printf("%d", a % 10);a = a / 10;}return 0;
}
运行结果:
#include <stdio.h>int main(void)
{double I, p;scanf("%lf", &I);if (I <= 100000)p = I * 0.01;else if (I <= 200000)p = 100000 * 0.01 + (I - 100000) * 0.075;else if (I <= 400000)p = 100000 * 0.01 + 100000 * 0.075 + (I - 200000) * 0.05;else if (I < 600000)p = 100000 * 0.01 + 100000 * 0.075 + 200000 * 0.05 + (I - 400000) * 0.03;else if (I < 1000000)p = 100000 * 0.01 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (I - 600000) * 0.015;elsep = 100000 * 0.01 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (I - 1000000) * 0.01;printf("%lf", p);return 0;
}
运行结果:
结果一: 结果二: 结果三: 结果四: 结果五: 结果六:
输入4个整数,要求按由小到大的顺序输出
//输入4个整数,要求按由小到大的顺序输出#include <stdio.h>void swap(int& a, int& b)
{int temp = a;a = b;b = temp;
}int main(void)
{int a, b, c, d;scanf("%d %d %d %d", &a, &b, &c, &d);if (a > b)swap(a, b);//a < bif (a > c)swap(a, c);//a < cif (a > d)swap(a, d);//a < d//至此,a < ...if (b > c)swap(b, c);// b < cif (b > d)swap(b, d);//b < d//至此,a < b < ...if (c > d)swap(c, d);//c < dprintf("%d %d %d %d", a, b, c, d);return 0;
}
运行结果:
#include <stdio.h>
#include<math.h>int main(void)
{double x, y, d;scanf("%lf %lf", &x, &y);if (x < 0){if (y < 0)//-2, -2d = sqrt(pow(x - (-2), 2) + pow(y - (-2), 2));else//-2, 2d = sqrt(pow(x - (-2), 2) + pow(y - 2, 2));}else{if (y < 0)//2, -2d = sqrt(pow(x - 2, 2) + pow(y - (-2), 2));else//2, 2d = sqrt(pow(x - 2, 2) + pow(y - 2, 2));}if (d <= 1)printf("10");elseprintf("0");return 0;
}
运行结果: