第五章MOOC C语言.docx
- 文档编号:27394815
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:25
- 大小:22.56KB
第五章MOOC C语言.docx
《第五章MOOC C语言.docx》由会员分享,可在线阅读,更多相关《第五章MOOC C语言.docx(25页珍藏版)》请在冰豆网上搜索。
第五章MOOCC语言
1
判断一个整型数据有几位v2.0(4分)
题目内容:
从键盘输入一个整型数据(int型),编写程序判断该整数共有几位,并输出包含各个数字的个数。
例如,从键盘输入整数16644,该整数共有5位,其中有1个1,2个6,2个4。
程序运行结果示例1:
Pleaseenterthenumber:
12226↙
12226:
5bits
1:
1
2:
3
6:
1
程序运行结果示例2:
Pleaseenterthenumber:
-12243↙
-12243:
5bits
1:
1
2:
2
3:
1
4:
1
输入格式:
"%d"
输出格式:
输入提示信息:
"Pleaseenterthenumber:
\n"
判断该整数共有几位:
"%d:
%dbits\n"
包含数字0的个数:
"0:
%d\n"
包含数字1的个数:
"1:
%d\n"
包含数字2的个数:
"2:
%d\n"
包含数字3的个数:
"3:
%d\n"
包含数字4的个数:
"4:
%d\n"
包含数字5的个数:
"5:
%d\n"
包含数字6的个数:
"6:
%d\n"
包含数字7的个数:
"7:
%d\n"
包含数字8的个数:
"8:
%d\n"
包含数字9的个数:
"9:
%d\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
题目内容:
企业发放的奖金根据利润提成。
利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时,高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数?
程序运行结果示例1:
789↙
bonus=78
程序运行结果示例2:
789516↙
bonus=36342
输入格式:
"%ld"
输出格式:
"bonus=%ld\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你
题目内容:
修改下面这个程序使其快速计算1+2+3……+n的值,n从键盘输入。
并按照下面给出的运行示例检查程序。
1.#include
2.int main()
3.{
4.int i, j, sum = 0, n=100;
5.for (i=1,j=n; i<=j; i++,j--)
6.{
7.sum = sum + i + j;
8.}
9.printf("sum = %d", sum);
10.return 0;
11.}
程序运行结果示例1:
5↙
sum=15
程序运行结果示例2:
6↙
sum=21
输入格式:
"%d"
输出格式:
"sum=%d" (注意:
等号两侧各有一个空格)
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
修改下面这个用do-while语句实现的程序,改用while语句实现,并对比其优缺点。
1.#include
2.int main()
3.{
4.int sum = 0, m;
5.do{
6.printf("Input m:
\n");
7.scanf("%d", &m);
8.sum = sum + m;
9.printf("sum = %d\n", sum);
10.}while (m !
= 0);
11.return 0;
12.}
程序运行结果示例:
Inputm:
1↙
sum=1
Inputm:
2↙
sum=3
Inputm:
3↙
sum=6
Inputm:
4↙
sum=10
Inputm:
0↙
输入格式:
"%d"
输出格式:
输入提示:
"Inputm:
\n"
输出累加和:
"sum=%d\n"(注意:
等号两侧各有一个空格)
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:
500ms内存限制:
32000kb
C
题目内容:
我国古代的《张丘建算经》中有这样一道著名的百鸡问题:
“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。
百钱买百鸡,问鸡翁、母、雏各几何?
”其意为:
公鸡每只5元,母鸡每只3元,小鸡3只1元。
用100元买100只鸡,问公鸡、母鸡和小鸡各能买多少只?
目前程序运行结果有误,请问为什么会比正确答案多出三个解?
不仅要找出错误和修正错误,还要求利用以前学过的知识分析错误的原因。
1.#include
2.int main()
3.{
4.int x, y, z;
5.for (x=0; x<=20; x++)
6.{
7.for (y=0; y<=33; y++)
8.{
9.z = 100 - x - y;
10.if (5*x + 3*y + z/3 == 100)
11.{
12.printf("x=%d, y=%d, z=%d\n", x, y, z);
13.}
14.}
15.}
16.return 0;
17.}
程序目前的运行结果:
x=0,y=25,z=75
x=3,y=20,z=77
x=4,y=18,z=78
x=7,y=13,z=80
x=8,y=11,z=81
x=11,y=6,z=83
x=12,y=4,z=84
程序正确的运行结果:
x=0,y=25,z=75
x=4,y=18,z=78
x=8,y=11,z=81
x=12,y=4,z=84
输入格式:
无
输出格式:
"x=%d,y=%d,z=%d\n
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:
500ms内存限制:
32000kb
C
题目内容:
从键盘任意输入一个正整数,编程判断它是否是素数,若是素数,输出“Yes!
”,否则输出“No!
”。
已知负数、0和1都不是素数。
请找出下面程序的错误并改正之,同时按照给出的运行示例检查修改后的程序。
1.#include
2.#include
3.int main()
4.{
5.int n, i;
6.printf("Input n:
\n");
7.scanf("%d", &n);
8.for (i=2; i<=sqrt(n); i++)
9.{
10.if (n % i = 0)
11.{
12.printf("No!
\n");
13.}
14.}
15.printf("Yes!
\n");
16.return 0;
17.}
程序的运行结果示例1:
Inputn:
-3↙
No!
程序的运行结果示例2:
Inputn:
0↙
No!
程序的运行结果示例3:
Inputn:
1↙
No!
程序的运行结果示例4:
Inputn:
6↙
No!
程序的运行结果示例5:
Inputn:
7↙
Yes!
输入格式:
"%d"
输出格式:
输入提示信息:
"Inputn:
\n"
是素数:
"Yes!
\n"
不是素数:
"No!
\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:
500ms内存限制:
32000kb
C
7
程序改错-3(4分)
题目内容:
从键盘任意输入两个符号各异的整数,直到输入的两个整数满足要求为止,然后打印这两个数。
请通过测试找出下面这个程序存在的问题(不止一个问题哦),并改正。
同时用下面给出的运行结果示例检查修改后的程序。
1.#include
2.int main()
3.{
4.int x1, x2;
5.do{
6.printf("Input x1, x2:
");
7.scanf("%d,%d", &x1, &x2);
8.}while (x1 * x2 > 0);
9.printf("x1=%d,x2=%d\n", x1, x2);
10.return 0;
11.}
程序正确的运行结果示例:
Inputx1,x2:
a,s↙
Inputx1,x2:
a,1↙
Inputx1,x2:
2,s↙
Inputx1,x2:
1,2↙
Inputx1,x2:
-1,-2↙
Inputx1,x2:
0,3↙
Inputx1,x2:
1.2,3.4↙
Inputx1,x2:
1.2,5↙
Inputx1,x2:
-1,3↙
x1=-1,x2=3
输入格式:
"%d,%d"
输出格式:
输入提示信息:
"Inputx1,x2:
\n"
输出:
"x1=%d,x2=%d\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:
500ms内存限制:
32000kb
C
提交答案
本次得分/总分:
4.00/4.00分
8
猴子吃桃程序_扩展1(4分)
题目内容:
猴子第一天摘了若干个桃子,吃了一半,不过瘾,又多吃了1个。
第二天早上将剩余的桃子又吃掉一半,并且又多吃了1个。
此后每天都是吃掉前一天剩下的一半零一个。
到第n天再想吃时,发现只剩下1个桃子,问第一天它摘了多少桃子?
为了加强交互性,由用户输入不同的天数n进行递推,即假设第n天的桃子数为1。
程序的运行结果示例1:
Inputdays:
5↙
x=46
程序的运行结果示例2:
Inputdays:
10↙
x=1534
输入格式:
"%d"
输出格式:
输入提示信息:
"Inputdays:
\n"
输出:
"x=%d\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:
500ms内存限制:
32000kb
C
猴子第一天摘了若干个桃子,吃了一半,不过瘾,又多吃了1个。
第二天早上将剩余的桃子又吃掉一半,并且又多吃了1个。
此后每天都是吃掉前一天剩下的一半零一个。
到第n天再想吃时,发现只剩下1个桃子,问第一天它摘了多少桃子?
为了加强交互性,由用户输入不同的天数n进行递推,即假设第n天的桃子数为1。
同时还要增加对用户输入数据的合法性验证(如:
不允许输入的天数是0和负数)
程序运行结果示例:
Inputdays:
0↙
Inputdays:
-5↙
Inputdays:
a↙
Inputdays:
3↙
x=10
输入格式:
"%d"
输出格式:
输入提示信息:
"Inputdays:
\n"
输出:
"x=%d\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:
500ms内存限制:
32000kb
C
题目内容:
从键盘输入6位仅由数字0~9组成的密码。
用户每输入一个密码并按回车键后,程序给出判断:
如果是数字,则原样输出该数字,并提示用户目前已经输入了几位密码,同时继续输入下一位密码;否则,程序提示"error",并让用户继续输入下一位密码。
直到用户输入的密码全部是数字为止。
程序的运行结果示例:
Inputyourpassword:
1↙
1,youhaveenter1-bitsnumber
6↙
6,youhaveenter2-bitsnumber
a↙
error
d↙
error
4↙
4,youhaveenter3-bitsnumber
6↙
6,youhaveenter4-bitsnumber
8↙
8,youhaveenter5-bitsnumber
2↙
2,youhaveenter6-bitsnumber
输入提示信息:
"Inputyourpassword:
\n"
输入格式:
"%c"
输出格式:
如果输入的是数字,输出格式为:
"%c,youhaveenter%d-bitsnumber\n"
如果输入的不是数字,输出提示信息:
"error\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:
500ms内存限制:
32000kb
C
题目内容:
从键盘输入一个整型数据(int型),编写程序判断该整数共有几位。
例如,从键盘输入整数16644,该整数共有5位。
程序运行结果示例1:
Pleaseenterthenumber:
21125↙
21125:
5bits
程序运行结果示例2:
Pleaseenterthenumber:
-12234↙
-12234:
5bits
输入提示信息:
"Pleaseenterthenumber:
\n"
输入格式:
"%d"
输出格式:
"%d:
%dbits\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
本次得分/总分:
4.00/4.00分
12
检测输入数据中奇数和偶数的个数(4分)
题目内容:
从键盘输入一系列正整数,输入-1表示输入结束(-1本身不是输入的数据)。
编写程序判断输入数据中奇数和偶数的个数。
如果用户输入的第一个数据就是-1,则程序输出"over!
"。
否则。
用户每输入一个数据,输出该数据是奇数还是偶数,直到用户输入-1为止,分别统计用户输入数据中奇数和偶数的个数。
程序运行结果示例1:
Pleaseenterthenumber:
1↙
1:
odd
5↙
5:
odd
8↙
8:
even
9↙
9:
odd
12↙
12:
even
17↙
17:
odd
-1↙
Thetotalnumberofoddis4
Thetotalnumberofevenis2
程序运行结果示例2:
Pleaseenterthenumber:
-1↙
over!
Thetotalnumberofoddis0
Thetotalnumberofevenis0
输入提示信息:
"Pleaseenterthenumber:
\n"
输入格式:
"%d"
输出格式:
用户输入的第一个数据就是-1,输出格式:
"over!
\n"
奇数的输出格式:
"%d:
odd\n"
偶数的输出格式:
"%d:
even\n"
输入数据中奇数的个数统计:
"Thetotalnumberofoddis%d\n"
输入数据中偶数的个数统计:
"Thetotalnumberofevenis%d\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:
500ms内存限制:
32000kb
C
用例1通过
1ms
256kb
2
用例2通过
18ms
256kb
2
提交答案
本次得分/总分:
4.00/4.00分
13
计算球的反弹高度(4分)
题目内容:
一个球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下并反弹......,求它在第5次和第10次落地时,分别共经过了多少米?
第5次和第10次反弹分别是多高?
要求计算结果保留到小数点后3位。
用户从键盘输入想要计算的第n次(n<=15)。
程序中所有浮点数的数据类型均为float。
程序运行结果示例1:
Input:
5↙
5times:
287.500
3.125
程序运行结果示例2:
Input:
10↙
10times:
299.609
0.098
输入提示信息:
"Input:
\n"
输入格式:
"%d"
输出格式:
反弹次数:
"%dtimes:
\n"
第n次反弹共经过多少米:
"%.3f\n"
第n次的反弹高度:
"%.3f\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
1…
#include
#include
int main()
{
int a,b,c,temp1,temp2,i,k;
int d0=0,d1=0,d2=0,d3=0,d4=0,d5=0,d6=0,d7=0,d8=0,d9=0;
int counter=1;
printf("Please enter the number:
\n");
scanf("%d",&a);
c=a;
b=a/10;
while(b!
=0)
{
counter++;
a=b;
b=a/10;
}
printf("%d:
%d bits\n",c,counter);
temp2=counter;
for(i=1;i<=counter;i++)
{
temp2--;
k=(int)pow(10,temp2);
temp1=fabs(c/k);
switch(temp1)
{
case 0:
d0++;break;
case 1:
d1++;break;
case 2:
d2++;break;
case 3:
d3++;break;
case 4:
d4++;break;
case 5:
d5++;break;
case 6:
d6++;break;
case 7:
d7++;break;
case 8:
d8++;break;
case 9:
d9++;break;
default:
printf("error");
break;
}
c=fabs(c)-temp1*(int)pow(10,temp2);
}
if(d0!
=0) printf("0:
%d\n",d0);
if(d1!
=0) printf("1:
%d\n",d1);
if(d2!
=0) printf("2:
%d\n",d2);
if(d3!
=0) printf("3:
%d\n",d3);
if(d4!
=0) printf("4:
%d\n",d4);
if(d5!
=0) printf("5:
%d\n",d5);
if(d6!
=0) printf("6:
%d\n",d6);
if(d7!
=0) printf("7:
%d\n",d7);
if(d8!
=0) printf("8:
%d\n",d8);
if(d9!
=0) printf("9:
%d\n",d9);
return 0;
}
2…
#include
main()
{
long bonus,a;
scanf("%ld",&a);
if(a<=100000)
bonus=a*0.1;
if(a>100000&&a<=200000)
bonus=100000*0.1+(a-100000)*0.075;
if(a>200000&&a<=400000)
bonus=100000*0.1+100000*0.075+(a-200000)*0.05;
if(a>400000&&a<=600000)
bonus=100000*0.1+100000*0.075+200000*0.05+(a-400000)*0.03;
if(a>600000&&a<=1000000)
bonus=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(a-600000)*0.015;
if(a>1000000)
bonus=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(a-1000000)*0.01;
printf("bonus=%ld\n",bonus);
}
3…
#include
int main()
{
int i, n, sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum+i;
}
printf("sum = %d",sum);
}
4…
#include
int main()
{
int sum = 0, m;
printf("Input m:
\n");
scanf("%d", &m);
while(m!
=0)
{
sum = sum + m;
printf("sum = %d\n", sum);
printf("Input m:
\n");
scanf("%d", &m);
}
return 0;
}
5…
#include
int main()
{
int x, y, z;
for (x=0; x<=20; x++)
{
for (y=0; y<=33; y++)
{
z = 100 - x - y;
if(5*x + 3*y + (float)z/3 == 100)
{
printf("x=%d, y=%d, z=%d\n", x, y, z);
}
}
}
return 0;
}
6…
#include
#include
int main()
{
int i, n;
int flag=0;
printf("I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五章 MOOC C语言 第五 语言