物联网20级 希冀平台题目
一、熟悉编程环境
编程题
实验01-1:熟悉编程环境,实现基本输出设计
在屏幕上输出短句:Programming in C is fun!
实验01-2:熟悉编程环境,实现基本输出设计
在屏幕上输出短句:What is a computer?
实验01-3:熟悉编程环境,实现基本输出设计
在屏幕上输出一个倒三角形,如下列所示:
* * * *
* * *
* *
*
二、格式化输出
编程题
实验01-4:简单程序设计,格式化输入输出
【问题描述】计算摄氏温度:输入华氏温度,输出对应的摄氏温度。计算公式如下: $c=5×(f-32)÷9$其中,$c$表示摄氏温度,$f$表示华氏温度,均使用浮点数存储数据。
【输入形式】输入一个温度值。
【输出形式】输出的数值结果前带有字符串“$Celsius=$”,输出保留二位小数。
【样例输入】$150$
【样例输出】$Celsius=65.56$
实验01-5:简单程序设计,格式化输入输出
【问题描述】求给定序列$(1+1/2+1/3+……)$前$n$项的和:输入一个正整数$n$,计算序列$1+1/2+1/3+……$的前$n$项之和;
【输入形式】输入一个整数值,输出一个单精度浮点数。
【输出形式】输出n的值,前面包含字符串"$n=$";输出逗号"$,$";输出求和后的结果值,前面包含字符串"$sum=$",保留$7$位小数
【样例输入】$5$
【样例输出】$n=5,sum=2.2833335$
【补充说明】若结果为总是为1,请仔细思考有关数据类型运算规则的问题。同时思考,若使用双精度浮点输出,结果应该是多少?
实验01-6:简单程序设计,格式化输入输出
【问题描述】阶梯电价:某电力公司执行“阶梯电价”,居民用电分为两个阶梯:月用电量$50$千瓦时(含$50$千瓦时)以内的,电价为$0.53$元/千瓦时,超过$50$千瓦时的,超出部分的用电量电价上调$0.05$元/每千瓦时。编写程序,输入用户的月用电量(千瓦时),计算并输出该用户应支付的电费(元)。
【输入形式】用电量(整数数据)
【输出形式】包含用电量及电费数据(浮点型数据,保留两位小数),可参考样例
【样例输入】$40$
【样例输出】$kWh=40,pay=21.20$
实验01-7:大小写字母转换
【问题描述】输入一个字母字符,如果是大写字母,将其转换成相应的小写字母,如果是小写字母,将其转换成及相应的大写字母
【样例输入】$a$
【样例输出】$A$
【样例说明】输入$A$ 输出$a$
三、循环
编程题
实验03-1:循环:最大公约数和最小公倍数
【问题描述】输入两个数$m$和$n$,输出他们的最大公约数和最小公倍数
【输入形式】下划线为输入内容,"$Inupt m,n:$"为提示信息,需跟换行符
$Input m,n:$
3 7
【输出形式】分别输出最大公约数和最小公倍数,以空格分隔
【样例输入】
$Input m,n:$
3 7
【样例输出】$1 21$
实验03-2:循环:字符提取
【问题描述】输入一组各类字符,以#号字符作为结尾,输出这组字符中所有的数字。
【输入形式】各类字符一组,以#号字符结束
【输出形式】字符中的数字,连续输出,中间没有间隔
【样例输入】abc123edf4!2#
【样例输出】$12342$
实验03-3:循环:求一组数据中的最小值
【问题描述】输入一个正整数n,再输入n个整数,输出其中最小的值。
【输入形式】先输入一个整数n,再根据n,输入n个数
【输出形式】输出最小值,形式:$min=?$
【样例输入】
$5$
$10 22 4 67 2$
【样例输出】
$min=2$
实验03-4:循环:提取整数的各位数字并求和
【问题描述】输入一个整数,求该整数的位数以及各位数字之和。
【输入形式】一个整数
【输出形式】两个整数值,分别是输入整数的位数值及其各位数字之和的值,两个数之间用空格分隔。
【样例输入】$1237$
【样例输出】$4 13$
实验03-5:循环:求出三位数给定区间内的水仙花数
【问题描述】输入两个三位数$m$和$n(m<n)$,求出该区间内所有的水仙花数。
【输入形式】由小到大的两个三位整数
【输出形式】提示信息"$Narc No:$"及$0$或多个水仙花数,用空格分隔
【样例输入】$100 400$
【样例输出】$Narc No:153 370 371$
实验03-6:循环:输出三角形字符阵列图形
【问题描述】输入一个正整数$n(n<7)$;输出$n$行由大写字符$A$开始的,构成三角形字符阵列图形,具体参考样例。
【输入形式】一个整数$n$
【输出形式】上三角字符阵列,其字符按由行到列的方式,依次按字母表顺序输出,字母之间有一个空格
【样例输入】$4$
【样例输出】
$A B C D$
$E F G$
$H I$
$J$
四、函数
程序片段编程题
实验04-1:求一组数中奇数的和
【问题描述】输入一批正整数,以零或复数为结束标记,求其中所有奇数的和。要求定义和调用函数$even(n)$判断整数的奇偶性,当$n$为偶数时返回$1$,否则返回零。
根据程序中的提示,在对应位置编写相关函数及内容。
#include<stdio.h>
//在此处编写函数代码
int even(int n){
}
int main(){
int sum=0,x;
scanf("%d",&x);
while(x>0){
if(even(x)==0)
sum=sum+x;
scanf("%d",&x);
}
printf("sum=%d\n",sum);
return 0;
}
实验04-2:使用函数计算两点间的距离
【问题描述】给定平面上任意两点坐标$(x1,y1)$和$(x2,y2)$,求这两点之间的距离(保留两位小数)。要求定义和调用函数$dist(x1,y1,x2,y2)$计算两点间的距离。
根据程序中的提示,在对应位置编写相关函数及内容。
#include<stdio.h>
#include<math.h>
//在此处编写dist函数
double dist(float x1,float y1,float x2,float y2){
}
int main(){
float xs,ys,xe,ye,d;
scanf("%f%f",&xs,&ys);
scanf("%f%f",&xe,&ye);
d=dist(xs,ys,xe,ye);
printf("Distance=%.2f",d);
return 0;
}
实验04-3:使用函数计算素数并求和
【问题描述】输入两个正整数$m$和$n(m<=1,n<=500)$,统计并输出$m$和$n$之间的素数个数以及这些素数的和。注意:$1$不是素数,要求定义并调用函数$prime(m)$判断$m$是否为素数,当$m$为素数是返回$1$,否则返回$0$。根据程序中的提示,在对应位置编写相关函数及内容。
#include<stdio.h>
//在此处添加函数声明
int main(){
int m,n,ct=0,sum=0,i;
scanf("%d%d",&m,&n);
if(m<2) m=2;
for(i=m;i<=n;i++)
if(prime(i)){
ct++;
sum=sum+i;
}
printf("count=%d,sum=%d\n",ct,sum);
return 0;
}
int prime(int m){
//在此处编写函数
}
实验04-4:使用函数统计指定数字个数
【问题描述】输入一个整数$m$,再输入一个数字$n$,统计该整数中一共包含了几个数字$n$。输出统计结果。要求定义并调用函数$countdigit(number,digit)$,它的功能是统计整数$number$中数字$digit$的个数。根据程序中的提示,在对应位置编写相关函数及内容。
#include<stdio.h>
//根据题意,在此处编写函数代码
int countdigit(int number,int digit){
}
int main(){
int n,d,y;
scanf("%d%d",&n,&d);
y=countdigit(n,d);
printf("Number of digit %d:%d",d,y);
return 0;
}
实验04-5:使用函数求余弦函数的近似值
【问题描述】输入精度e,用公式就$cos(x)$的近似值,精确到最后一项的绝对值小于$e$。
求$cos(x)$的公式:$cos(x)=x^0/0! -x^2/2!+x^/4!-x^6/6!+……$
要求定义和调用函数$funcos(e,x)$求余弦函数的值。
#include<stdio.h>
#include<math.h>
//在此处编写要求的函数
double funcos(double e,double x){
}
int main(){
double e,x,rz;
scanf("%lf%lf",&e,&x);
rz=funcos(e,x);
printf("sum=%lf",rz);
return 0;
}
编程题
实验04-6:统计字符串中各类字符个数
【问题描述】输入一行字符,统计其中英文字母、空格、数字和其他字符的个数。
【输入形式】输入一行字符。
【输出形式】输出各类字符串的个数。
【样例输入1】
Programming is fun!
【样例输出】
letter=16,blank=2,digit=0,other=1
【样例输入2】
13 is a luck digit
【样例输出】
letter=12,blank=4,digit=2,other=0
【样例说明】输入的数据之间以一个空格相隔。英文字母区分大小写。必须严格按样例输入输出。
实验04-7:编程题,输出m ~n 之间所有的Fibonacci 数
【问题描述】
输入$2$个正整数m和$n(m<1,n<=10 000)$,输出$m-n$ 之间所有的$Fibonacci$数。$Fibonacci$数列(第一项起):$1,1,2,3,5,8,13,21,$…。要求定义并调用函数$fib(n)$,它的功能是返回第$n$项$Fibonacci$ 数。例如,$fib(7)$的返回值是13。
【输入形式】从键盘输入$2$个整数$m$和$n$。
【输出形式】输出$m-n$之间所有的$Fibon