目录
1.BC12 学生基本信息输入输出
2.BC89 包含数字9的数
3.BC29 开学?
4.BC77 简单计算器
5.BC140 杨辉三角
1.BC12 学生基本信息输入输出 描述
依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩(注:输出成绩时需进行四舍五入且保留2位小数)。
数据范围:学号满足 1 \le n \le 20000000 \1≤n≤20000000 ,各科成绩使用百分制,且不可能出现负数
输入描述:学号以及3科成绩,学号和成绩之间用英文分号隔开,成绩之间用英文逗号隔开。
学号,3科成绩,输出格式详见输出样例。
示例2输入:17140216;80.845,90.55,100.00
输出:The each subject score of No. 17140216 is 80.85, 90.55, 100.00.
输入:123456;93.33,99.99,81.20
输出:The each subject score of No. 123456 is 93.33, 99.99, 81.20.
#include
int main()
{
int num=0;
float Clanguage=0;
float math=0;
float Eeglish=0;
scanf("%d;%f,%f,%f",&num,&Clanguage,&math,&Eeglish);
printf("The each subject score of No. %d is %.2f, %.2f, %.2f.",num,Clanguage,math,Eeglish);
return 0;
}
2.BC89 包含数字9的数
描述
今年是2019年,KiKi想知道1~2019中有多少个包含数字9的数。
包含数字的数是指有某一位是“9”的数,例如“2019”、“199”等。
无
输出描述:一行,一个整数,表示1~2019中共有多少个数包含数字9。
#include
int main() {
int i=1;
int count = 0; //计数器
for (i = 1;i <= 2019;i++) {
int n = i;
while (n) { //n为假跳出while循环
if (n % 10 == 9)
{
count++;
break;
}
n = n / 10;
}
}
printf("%d\n", count);
return 0;
}
3.BC29 开学?
描述
小S:终于可以开学啦!好开心啊!
小Y:你没看新闻吗,开学日期又延后了。
小S:NOOOOOOOOOOOOOOOO!
小S知道原计划星期X开学,通知开学时间延期N天,请问开学日期是星期几(星期日用7表示)?
输入描述:输入包含两个数字X,N(1≤X≤7, 1≤N≤1000)。
输出一个数字,表示开学日期是星期几
示例1示例2输入:1 2
输出:3
输入:5 9
输出:7
#include
int main()
{
int x=0;
int n=0;
int day=0;
scanf("%d%d",&x,&n);
day=(n%7)+x;
if(day<=7)
printf("%d",day);
else
printf("%d",day-7);
return 0;
}
4.BC77 简单计算器
描述
KiKi实现一个简单计算器,实现两个数的“加减乘除”运算,用户从键盘输入算式“ *** 作数1运算符 *** 作数2”,计算并输出表达式的值,如果输入的运算符号不包括在(+、-、*、/)范围内,输出“Invalid operation!”。
当运算符为除法运算,即“/”时。
如果 *** 作数2等于0.0,则输出“Wrong!Division by zero!”
数据范围:字符串长度满足 3 \le n \le 50 \3≤n≤50 ,保证运算符是一个char类型字符。
输入一行字符串, *** 作数1+运算符+ *** 作数2 (其中合法的运算符包括:+、-、*、/)。
输出为一行。
如果 *** 作数和运算符号均合法,则输出一个表达式, *** 作数1运算符 *** 作数2=运算结果,各数小数点后均保留4位,数和符号之间没有空格。
如果输入的运算符号不包括在(+、-、*、/)范围内,输出“Invalid operation!”。
当运算符为除法运算,即“/”时。
如果 *** 作数2等于0.0,则输出“Wrong!Division by zero!”。
示例2输入:1.0+3.0
输出:1.0000+3.0000=4.0000
示例3输入:1.0;4.0
输出:Invalid operation!
输入:44.0/0.0
输出:Wrong!Division by zero!
#include
int main()
{
double x1 = 0;
double x2 = 0;
char ch = 0;
scanf("%lf%c%lf",&x1,&ch,&x2);
switch (ch)
{
case '+':
printf("%.4lf+%.4lf=%.4lf",x1,x2,x1 + x2);break;
case '-':
printf("%.4lf-%.4lf=%.4lf",x1,x2,x1 - x2);break;
case '*':
printf("%.4lf*%.4lf=%.4lf",x1,x2,x1 * x2);break;
case '/':
if (x2 == 0)
{
printf("Wrong!Division by zero!");
break;
}
else
printf("%.4lf/%.4lf=%.4lf",x1,x2,x1 / x2);break;
default:
printf("Invalid operation!");break;
}
return 0;
}
5.BC140 杨辉三角
描述
KiKi知道什么叫杨辉三角之后对杨辉三角产生了浓厚的兴趣,他想知道杨辉三角的前n行,请编程帮他解答。
杨辉三角,本质上是二项式(a+b)的n次方展开后各项的系数排成的三角形。
其性质包括:每行的端点数为1, 一个数也为1;每个数等于它左上方和上方的两数之和。
第一行包含一个整数数n。
(1≤n≤30)
输出描述:包含n行,为杨辉三角的前n行,每个数输出域宽为5。
输入:6
输出: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
#include
#define N 30
int main()
{
int i = 0, j = 0, k = 0, n = 0;
int a[N][N]; //定义二维数组a[14][14]
scanf("%d", &n);
for (i = 1;i <= n;i++)
a[i][1] = a[i][i] = 1; //两边的数令它为1,因为现在循环从1开始,就认为a[i][1]为第一个数
for (i = 3;i <= n;i++)
for (j = 2;j <= i - 1;j++)
a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; //除两边的数外都等于上两顶数之和
for (i = 1;i <= n;i++)
{
for (j = 1;j <= i;j++) //j<=i的原因是不输出其它的数,只输出我们想要的数
printf("%5d", a[i][j]);
printf("\n"); //当一行输出完以后换行继续下一行的输出
}
return 0;
}
后面还会精选一些好题,有用就点个赞吧,感谢支持。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)