小学生C语言编程练习Word格式.docx
《小学生C语言编程练习Word格式.docx》由会员分享,可在线阅读,更多相关《小学生C语言编程练习Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
12.345
题3:
读入一个双精度浮点数,保留12位小数,输出这个浮点数。
只有一行,一个双精度浮点数。
也只有一行,保留12位小数的浮点数。
3.1415926535798932
3.141592653580
题4:
读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔。
输出浮点数时保留6位小数。
共有四行:
第一行是一个字符;
第二行是一个整数;
第三行是一个单精度浮点数;
第四行是一个双精度浮点数。
输出字符、整数、单精度浮点数和双精度浮点数,之间用空格分隔。
a
12
2.3
3.2
a122.3000003.200000
题5:
读入一个双精度浮点数,分别按输出格式“%f”,“%f”保留5位小数,“%e”和“%g”的形式输出这个整数,每次在单独一行上输出。
一个双精度浮点数。
输出有四行:
第一行是按“%f”输出的双精度浮点数;
第二行是按“%f”保留5位小数输出的双精度浮点数;
第三行是按“%e”输出的双精度浮点数;
第四行是按“%g”输出的双精度浮点数。
12.3456789
12.345679
12.34568
1.234568e+001
12.3457
题6:
写出下面程序的运行结果。
#include<
stdio.h>
stdlib.h>
main()
{
inta=202;
doubleb=2323.34345;
printf(“a=%d\n”,a);
printf(“2*a=%d\n”,2*a);
printf(“a=%2d\n”,a);
printf(“%3lf\n”,b);
printf(“%20.2lf\n”,b);
printf(“%-20.2lf\n”,b);
printf(“%.2lf\n”,b);
system(“pause”);
return0;
}
输出(答案)
题7:
写出下面程序运行至注释处时各变量的值。
inta=3;
intb=2;
//注释1
intaa,bb;
a++;
b--;
//注释2
aa=a++;
bb=--b;
//注释3
答案:
注释1处:
注释2处:
注释3处:
题8:
inta;
doubleb;
charc;
scanf(“%c%d,%lf”,&
c,&
a,&
b);
printf(“结果是:
\n”);
printf(“%c%d%.2lf”,c,a,b);
题9:
问题:
鸡兔同笼,共有12个头、40只脚,求鸡和兔子各有多少?
算法描述:
(1)计算兔子的数量rabbit=(40-2*12)/2
(2)计算鸡的数量chick=40-rabbit
(3)输出鸡和兔子的数量chick和rabbit的值
(4)算法结束
题10:
已知旅行的距离s、汽车平均速度为v、每公升汽油可以行驶的公里数k以及每公升汽油的价格p,求驾驶汽车旅游所花费的时间和购买汽油的钱数。
分析:
(1)汽车行驶时间t=s/v
(2)所用汽油总数liter=s/k
(3)旅行总共花费购买汽油的钱total=liter*p
(1)屏幕提示输入距离s、平均速度v、每公升汽油可行驶的公里数k、每公升汽油的价格p的值;
(2)计算汽车行驶时间;
(3)计算所用汽油总数;
(4)计算旅行总共花费;
(5)输出旅行花费的时间和花费的钱;
(6)算法结束
题11:
假如你有一些糖果,第一天你吃了总数的一半多一颗;
第二天你又吃了剩下的一半多一颗;
第三天又吃了剩下的一半多一颗。
结果发现,剩下的糖果数量恰好是你的幸运数字。
你能从幸运数字开始算出原来一共有多少颗糖果吗?
(1)屏幕提示输入你的幸运数字n;
(2)计算第三天吃糖之前,你手中的糖果数量x=(n+1)*2;
(3)计算第二天吃糖之前,你手中的糖果数量x=(x+1)*2;
(4)计算第一天吃糖之前,你手中的糖果数量x=(x+1)*2;
(5)输出x的值;
题12:
编程(日期书写格式)
对于日期年月日的写法,不同的国家有不同的书写格式;
请按年、月、日的形式读入日期,然后分别输出中国式写法(年.月.日,如1998.12.25)、英国式写法(日/月/年,如25/12/1998)和美国式写法(月/日/年,如12/25/1998)。
屏幕提示,从键盘输入当前的年、月、日。
中、英、美式日期写法。
问题分析:
题中涉及的变量有三个,用year表示年,month表示月,day表示日,类型均为整型。
(1)屏幕提示从键盘输入年、月、日分别赋值给变量year、month、day;
(2)输出中国式日期写法;
(3)输出英国式日期写法;
(4)输出美国式日期写法;
(5)算法结束
year,month,day=
2016722
中国式日期格式是:
2016.7.22
英国式日期格式是:
22/7/2016
美国式日期格式是:
7/22/2016
请按任意键继续……
题13:
编程(数字分离splitnum)
随机产生一个四位整数(或屏幕提示从键盘输入一个四位整数),计算并输出各位数字之和。
(1)随机生成在数字a到b之间的任意整数之方法:
srand(time(NULL));
//使用当前时间设置随机数生成器种子
number=a+rand()%(b-a)//随机产生一个介于a与b之间的整数
(2)如何拆分一个四位数number:
可用%和/运算符实现;
用a、b、c、d分别代表个、十、百、千位的数字,则
a=number%10;
//求模(number除10后的余数)
b=number/10%10;
//number被10整除后再求模
c=number/100%10;
//number被100整除后再求模
d=number/1000;
//number被1000整除
(1)随机产生一个四位数存放在number变量中;
(2)将number中的各位数字拆分出来存放在a、b、c、d变量中;
(3)求a、b、c、d的和并赋值给变量s;
(4)输出number和s的值;
题14:
编程(时间戳times转换为标准时间格式)
LINUX时间戳表示从1970年1月1日0时0分0秒开始到该时刻的秒数。
(简单起见,设定一年12个月,每月固定为30天)
输入一个整数n(0≤n≤2147483647)。
一行,日期格式(形如1970.4.19)。
(1)根据n的数据范围,其数据格式应该设计为long;
(2)一天时间换算为秒则是24*60*60=86400秒;
一个月为86400*30=2592000秒;
根据问题中的设定一年12个月,每月固定30天,则可以算出一年为2592000*12=31104000秒;
将n整除一年的秒数得到年y;
将其余数再整除一个月的秒数得到月m;
再将整除月的余数整除一天的秒数得到天d;
以此类推还可得到时、分、秒。
(1)输入n的值;
(2)求y的值;
(3)求m的值;
(4)求d的值;
(5)按日期格式输出y+1970,m,d;
题15:
编程(求长方形的面积)
从键盘读入长方形的边长a、b,计算其面积和周长,并输出。
题16:
用时、分、秒表示时间长度,把它转换为秒数。
老农昨天捡了3块石头,他想今天再去捡一块,让这4块石头正好一共重20千克,问他该捡一块多少千克的石头?
要求输入这三块石头的重量,输出一个数表示农夫应该去捡一块多少千克的石头。
题17:
charch1,ch2,ch3;
inti;
scanf(“%c”,&
ch1);
ch2=ch1-1;
ch3=ch1+1;
i=ch1;
printf(”ordcharpredsucc\n”);
printf(“%d%c%c%c\n”,i,ch1,ch2,ch3);