




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——C语言练习题(山东科技大学吐血整理)数学11-1C语言平日训练题
1、算术基本运算
Description
计算两整数x和y(0intmain(){intx,y,a,b,c,d,e,f,g;0#definePI3.14intmain(){floatr,s,c;scanf(\s=PI*r*r;c=2*PI*r;printf(\printf(\return0;}
3、平均值
Description
求3个数的平均值。Input
输入只有一行,为3个较小的整数。Output
输出为这3个整数的平均值,保存3位小数。SampleInput123
SampleOutput2.000Answer
#includeintmain(){inta,b,c;floatd;scanf(\d=(a+b+c)/3.0;printf(\return0;}
4、货币兑换
Description
给出人民币对美元、欧元、日元的当日汇率,求给定金额的人民币能兑换成外币的金额,求给定金额的外币能兑换成人民币的金额。要计算的外币有三种:美元、欧元、日元。Input
输入有三行。
第一行依次为美元、欧元、日元外币汇率,用空格分开。汇率用100外币为单位,确切到小数点后4位,如668.5200表示“100美元=668.5200人民币〞。汇率浮动范围为(0,10000)。其次行为外币金额x,第三行为人民币金额y。x,y均为整数,且0intmain(){doublex,y,a,b,c,d,e,f,g,h,i;scanf(\scanf(\scanf(\d=x/100*a;e=x/100*b;f=x/100*c;g=y/a*100;h=y/b*100;i=y/c*100;printf(\printf(\return0;}
5、求字符的值
Description
从键盘输入3个字符(不含双字节字符),分别输出每个字符的十进制值(ASCII码)、八进制值和十六进制值。Input
输入为3个字符。Output
输出为3行。
每一行为每个字符(对应输入顺序)的十进制、八进制和十六进制值,用空格分隔开。每个输出的值占3个字符,不足3个字符前面补0。SampleInput0A
SampleOutput048060030032040020065101041Answer
#includeintmain(){
chara,b,c;
scanf(\printf(\printf(\printf(\return0;}
6、奇数还是偶数?
Description
输入一个整数,判读它是奇数还是偶数。Input
输入只有一行,为一个100以内的正整数。Output
输出为一行。
若输入为偶数则输出“even〞,奇数输出“odd〞。
SampleInput30
SampleOutputevenAnswer
#includeintmain(){
inta;
scanf(\if(a>=0}
7、绝对值
Description
求整型数据和浮点型数据的绝对值。Input
输入两个数,第一个是整数,其次个是浮点数。Output
输出为两行,第一行为整数的绝对值,其次行为浮点数的绝对值,注意浮点数的绝对值不输出无意义的0。SampleInput-11
SampleOutput11
Answer
#include#include#includeintmain(){
inta,c;doubleb,d;
scanf(\c=abs(a);d=fabs(b);
printf(\return0;}
8、简单的打折计算
Description
商店规定:消费满n元,可以打八八折。设某件商品标价m元,输入购买的件数x,计算出需要支付的金额(单位:元),确切到分。Input
输入只有一行,三个整数m、n和x,且0intmain(){
intm,x,n,a;floatb;
scanf(\0n)
b=0.88*a;else
b=a;
printf(\return0;}
9、判断闰年
Description
输入一个正整数的年份,判断是否为闰年。Input
输入只有一行,为一个10000以内的正整数。Output
输出为一行。
若输入为闰年偶数则输出“Yes〞,否则输出“No〞。SampleInput2023
SampleOutputNo答案
#includeintmain(){
inta;
scanf(\if(a>0}
10、水仙花数
Description
假使一个三位十进制数等于其各位数字的立方和,则称这个数为水仙花数。如:13+53+33=153。Input
一个整数x,100intmain(){
inta,b,c,d,e;scanf(\b=a/100;
c=(a-b*100)/10;d=(a-b*100-c*10);
e=b*b*b+c*c*c+d*d*d;if(a==e)
printf(\else
printf(\return0;}
11、三个数比较大小
Description
从键盘上输入0~100之间的三个数,按从小到大的顺序输出。Input
输入只有一行,为三个整数。Output
按从小到大输出这三个数。SampleInput151020
SampleOutput101520Answer
#includeintmain(){inta,b,c;scanf(\if(a>=b){if(b>=c)printf(\elseif(a>c)printf(\elseprintf(\}else{
}
if(a>=c)printf(\elseif(b>=c)printf(\elseprintf(\}
return0;
12、输出整数的最低两位
Description
把一个整数的最低两位打印出来,不输出整数的符号。Input
输入为一个整数n,不会超出int类型的数据范围。Output
输出n的最低两位数字。但是,输入的数字本身不足两位时,不应当补0。如,输入为“1〞,则输出为“1〞。SampleInput-102
SampleOutput02
Answer
#includeintmain(){inta,b,c;scanf(\if(a>=100){b=a-a/100*100;printf(\}elseif(a>=0){printf(\}elseif(a>=-99){printf(\}else{c=-a;b=c-c/100*100;printf(\}return0;}
13、判断奇偶数(填空)
Description
编写一个程序,判断读取的正整数的奇偶性,部分程序已经给出,请填上空白语句,并提交填充后的完整程序。程序(含答案):#includeintmain(){
intnum;
scanf(\if(num%2==0)printf(\是一个偶数else
printf(\是一个奇数return0;}
14、求分段函数的值(填空)
Description
设有分段函数如下:
给出N>0个x的值,求对应的y值并输出。
部分程序已经给出,请填充其中的空白语句,并提交填充后的完整程序。程序(含答案):#include#includeintmain(){
doublex,y;inti,N;
scanf(\for(i=0;iintmain(){intk,m,n,a,i=1;scanf(\if(mintmain(){inta,b;while(scanf(\{printf(\}return0;}
17、A+BProblem(II):Input/OutputPratice
Description
计算a+b,0intmain(){inta[1000],b[1000],N,i;scanf(\for(i=1;iintmain(){
intscore;while(scanf(\{if(score100)printf(\else{
scanf(\b[i]=a[n];}
for(i=1;i#includeintmain(){
chara[20],b[20];inti,j=1;
scanf(\
while(scanf(\{
if(j0),后面有M组输入数据。每组数据以两个正整数m和n开始,满足0intmain(){
inta[100][100]={0},M,m,n,i,j,k,b[100][100]={0};scanf(\for(k=0;kintstrToInt(charstr[]){
inti,j,a=0,s=0;if(str[0]=='\\0')return-1;else{
for(i=0;str[i]!='\\0';i++){
if(str[0]57){return0;gotoloop;}else{if(str[i]>=48s=s*10+a;a=0;}elsebreak;}}
returns;loop:;}}
intmain(){
charstr[11];gets(str);
printf(\while(gets(str)!=NULL){
printf(\}
return0;}
29、stringtointeger(II)
Description
需要编写一个函数,将字符串转换为整数。函数原型为:intstrToInt(charstr[]);
其中:参数str[]是需要转换的字符串,返回值表示字符串str[]转换为整数之后的结果。转换规则是:字符串中可能包含符号位,即“+〞或“-〞,而且假使包含符号位,能且仅能是第一个字符。将字符串str[]中全部都是数字字符(含0个或1个符号位)的前缀转换为整数,并返回。假使str[]的首字符不是数字字符也不是符号位,则返回0;假使str[]是空串,则返回0。
例如:strToInt(“+123ab〞)=123;strToInt(\-a123\。
注意:主函数已经给出,你只需要提交strToInt()函数的代码。而且不能使用标准库函数进行转换。提交的代码要包含必要的头文件包含命令。Input
输入是若干行字符串,它们都包含不超过10个的字符,而且包含的整数不会超出int类型的表示范围。Output
输出为若干行整数,每一行输出与上述输入一一对应。SampleInput123c0123dd
-45ede1321+76abcdef
SampleOutput1231230-45076
Answer
#includeintstrToInt(charstr[]){
inti,j,a=0,s=0;if(str[0]=='\\0')return0;else{
if((str[0]57)elseif(str[0]=='+')
for(i=1;str[i]!='\\0';i++){if(str[i]>=48s=s*10+a;}elsebreak;}
elseif(str[0]=='-'){
for(i=1;str[i]!='\\0';i++){if(str[i]>=48s=s*10+a;}elsebreak;}s=-s;}else
for(i=0;str[i]!='\\0';i++){if(str[i]>=48s=s*10+a;}elsebreak;}returns;}}
intmain(){
charstr[11];gets(str);
printf(\while(gets(str)!=NULL){
printf(\}
return0;}
30、stringcompare(I)
Description
需要编写一个可以比较字符串大小的函数,其原型为:intstrcmp(charstr1[],charstr2[]);
其中:参数str1[]和str2[]是两个用于比较的字符串。返回值表示它们的大小关系。
比较规则是:依照一致位置的字符的ASCII码进行比较,假使两个字符串所有位置的字符都一致,则返回0;假使第(ii>=0)个位置的字符是第一对不同的字符,则返回str1[i]与str2[i]的ASCII码的差。
例如:strcmp(\
注意:主函数已经给出,你只需要提交strcmp()函数的代码。不能使用标准库函数进行比较。提交的代码要包含必要的头文件包含命令。Input
输入为n(n>0)对字符串(可能含空白符),每一对字符串中的第一个字符串即为str1,其次个是str2。Output
输出是n行整数,每一行整数与上述每一对输入一一对应,即表示相应的每对字符串的比较结果。
SampleInputabcABCabc
SampleOutputcase1:666case2:33case3:1
case4:34567Answer
#includeintmain(){intK,i,j,k,m,n,r[100],sum[100][100],a[100][100];scanf(\for(k=0;k0,表示有N个用例。
每个用例的输入有1行或2行,其中第一行是00,则其次行包含M个整数,两两之间用空格隔开;假使M=0,则该用例没有其次行输入。Output
输出为N行,每行与上述输入一一对应,分别是对应用例的逆序。输出格式为:casei:d1d2...
其中i表示用例编号(从1开始),d1、d2等是数组逆序后的结果,两两之间用空格隔开。假使该用例不包含任何输入,即:M=0,则仅输出:casei:
SampleInput310
1098765432105
12345
SampleOutput
case1:12345678910case2:
case3:54321Answer
#includeintmain(){intN,M[10000],a[100][1001],i,j;scanf(\for(i=0;i0;j--)printf(\printf(\printf(\}elseprintf(\}return0;}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 招标文件合同文件
- 建筑水电消防工程合同
- 工程劳务分包合同记录
- 绿化保洁服务合同
- 营销现场作业安全管理和反窃电技能竞赛参考练习卷附答案(一)
- 房屋买卖公证合同
- 出售商品公司合同范本
- 民房房子出售合同范本
- 继承家产收租合同范本
- 《依法参与政治生活》参与政治生活课件-2
- 国家开放大学《课程与教学论》形考任务1-4参考答案
- 部编三年级语文下册《中国古代寓言》整本书阅读
- 九宫数独200题(附答案全)
- 《淮阴师范学院二级学院经费核拨管理办法(试行)》
- 诺基亚LTE FDD设备技术说明(2)
- 清筛车挖掘输送装置
- 实名核验(法人)业务办理表
- 兰亭集序米字格高清word打印版本(全)
- 测量盐水的密度实验报告
- 离合齿轮的工艺规程与专用夹具设计
- SCR法和Contirod法铜杆生产线的比较资料讲解
评论
0/150
提交评论