题目描述
输入10个整数存入一维数组,再按逆序重新存放后再输出。
输入包括一行。10个以空格格开的整数。
逆序的10个整数,整数以空格格开。
1 3 5 9 7 6 8 2 4 0
0 4 2 8 6 7 9 5 3 1
#include
int main(){
int a[10],t;
for(int i=0;i<10;i++){
scanf("%d",&a[i]);
}
for(int i=0;i<5;i++){
t=a[i];
a[i]=a[10-i-1];
a[10-i-1]=t;
}
for(int i=0;i<10;i++){
printf("%d ",a[i]);
}
}
题目描述
输入一组数据(整数,不多于20个),逆序输出这组数据。
正整数N(1≤N≤20),之后是N个整数。
输入数据的逆序,2个数之间空一格。
【样例1】
1 100
【样例2】
3 1 2 3
【样例3】
5 5 4 3 2 1
【样例1】
100
【样例2】
3 2 1
【样例3】
1 2 3 4 5
#include
int main(){
int N,a[20],t;
scanf("%d",&N);
for(int i=0;i<N;i++){
scanf("%d",&a[i]);
}
for(int i=0;i<N/2;i++){
t=a[i];
a[i]=a[N-i-1];
a[N-i-1]=t;
}
for(int i=0;i<N;i++){
printf("%d ",a[i]);
}
return 0;
}
题目描述
输入一组数据(整数,不多于20个),查找指定的数据项是否存在。
第1个数据n,表示后面有n个数据,最后一个数据表示要查找的数据。
如果找到要查的数据,则输出Yes
否则输出No
3 2017010413 2017010414 2017010415 2017010415
Yes
#include
int main(){
int a[20],n,x;
int flag=0;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&x);
for(int i=0;i<n;i++){
if(a[i]==x) flag=1;
}
if(flag==1) printf("Yes");
else printf("No");
return 0;
}
题目描述
计算机2017级有n(n为整数,并且5≤n≤200)名学生,已知n名同学的考试成绩x(x为整数,并且0≤x≤100),求低于平均分的学生人数。
输入有2行,第1行为学生人数n(n为整数,并且5≤n≤200)。
第2行为n名学生的成绩x(x为整数,并且0≤x≤100),2个成绩之间用空格隔开。
输出低于平均分的学生人数。
5
80 70 80 70 80
2
#include
int main(){
int n,i,a=0;
float sum=0,average,str[200];
scanf("%d",&n);
while(i<n){
scanf("%f",&str[i]);
i++;
}
for(int i=0;i<n;i++)
sum+=str[i];
average=sum/n;
i=0;
while(i<n){
if(str[i]<average)
a = a + 1;
i++;
}
printf("%d",a);
return 0;
}
题目描述
计算机2017级有n(n为整数,并且5≤n≤200)名学生,已知n名同学的考试成绩x(x为整数,并且0≤x≤100),求恰好等于给定成绩的学生人数。
输入有3行,第1行为学生人数n(n为整数,并且5≤n≤200)。
第2行为这n名学生的成绩x(x为整数,并且0≤x≤100),2个成绩之间用空格隔开。
第3行包含一个整数,为指定的成绩m。
输出恰好等于给定成绩的学生人数。
5
80 70 80 70 80
80
3
#include
int main(){
int a[200],n,x,sum=0,flag=0;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&x);
for(int i=0;i<n;i++){
if(a[i]==x)
sum++;
}
printf("%d",sum);
}
题目描述
天宝家的院子里种了几株丝瓜,8-9月份就会长出很多丝瓜。丝瓜成熟了,天宝就想把丝瓜剪下来。可是有的丝瓜比较高,她不能直接用手够到丝瓜。幸好天宝有个40厘米高的板凳,这样天宝就能踩到板凳上再试试。
现在已知丝瓜到地面的高度,以及天宝手伸直时能够到的最大高度,请帮她算一下能够剪到的丝瓜数目。假设她碰到丝瓜,丝瓜就会掉下来。
输入包括两行数据。第一行为n(n<20),表示成熟的丝瓜数量。接下来一行包含n个100到200之间(包括100和200)的整数(以厘米为单位)分别表示n个丝瓜到地面的高度,两个相邻的整数之间用一个空格隔开。第3行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示天宝把手伸直的时候能够达到的最大高度。
输出天宝能够剪到的丝瓜数目。
10
100 200 150 140 129 134 167 198 200 111
110
6
#include
int main(){
int n,x;
scanf("%d",&n);
int a[n],sum=0;
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&x);
for(int i=0;i<n;i++){
if(x+40>=a[i]) sum++;
}
printf("%d",sum);
}
输入一行,包含16个整数(大于等于0,小于等于100),分别表示购买的《计算机导论》、《网页程序设计》、《高等数学》、《程序设计基础》、《面向对象程序设计》、《电子技术基础》、《计算机网络》、《工程数学》、《离散数学》、《数据结构与算法》、《单片机原理与应用》、《数据库技术》、《软件工程》、《编译原理》、《操作系统》、《计算机组成原理》的数量(以本为单位)。每两个整数用一个空格分开。
输出总价最高的书的单价和数量;要求单价精确到小数点后一位;2个数之间有一个空格。
1 5 8 10 5 1 1 2 3 4 6 12 7 13 20 11
72.7 20
#include
int main(){
int d,s,a[16];
float max=0.0,c[16];
float b[16]={28.1,54.5,46.6,37.1,38.0,46.7,70.7,21.8,31.4,27.6,39.3,37.1,56.7,70.3,72.7,40.7,};
for(int i=0;i<16;i++){
scanf("%d",&a[i]);
}
for(int j=0;j<16;j++){
c[j]=a[j]*b[j];
}
for (int k=0;k<16;k++){
if (max < c[k]){
max = c[k];
s=k;
}
}
printf("%.1f %d",b[s],a[s]);
}
输入一行,包含16个整数(大于等于0,小于等于100),分别表示购买的《计算机导论》、《网页程序设计》、《高等数学》、《程序设计基础》、《面向对象程序设计》、《电子技术基础》、《计算机网络》、《工程数学》、《离散数学》、《数据结构与算法》、《单片机原理与应用》、《数据库技术》、《软件工程》、《编译原理》、《操作系统》、《计算机组成原理》的数量(以本为单位)。每两个整数用一个空格分开。
输出一行,包含一个浮点数f,表示应付的总费用。精确到小数点后一位。
1 5 8 10 5 1 1 2 3 4 6 12 7 13 20 11
5493.5
#include
int main(){
int a[16];
float sum;
for(int i=0;i<16;i++){
scanf("%d",&a[i]);
sum=28.1*a[0]+54.5*a[1]+46.6*a[2]+37.1*a[3]+38*a[4]+46.7*a[5]+70.7*a[6]+21.8*a[7]+31.4*a[8]+27.6*a[9]+39.3*a[10]+37.1*a[11]+56.7*a[12]+70.3*a[13]+72.7*a[14]+40.7*a[15];
}
printf("%.1f",sum);
}
题目描述
用迭代法求 。求平方根的迭代公式为: X[n+1]=1/2(X[n]+a/X[n]) 要求前后两次求出的得差的绝对值少于0.00001。 输出保留3位小数。
算法:1.先自定一个初值x0,作为a的平方根值,一般先取a/2作为初值x0;利用迭代公式求出一个x1。此值与真正的a的平方根值相比,误差很大。
2.把新求得的x1代入迭代公式中,求出x2.。
3.比较前后两次求得的平方根值x0和x1,如果它们差的绝对值小于我们指定的值,即达到我们要求的精度,则认为x1就是a的平方根值,去输出结果;否则执行步骤2,即循环进行迭代。
4
2.000
#include
#include
float Mysqrt(int n){
return sqrt(n*1.0);
}
int main(){
int a;
scanf("%d",&a);
printf("%.3f",Mysqrt(a));
return 0;
}
题目描述
输入一个十进制数N(32位整数),将它转换成二进制数输出.
输入数据包含多个测试实例,每个测试实例包含1个整数N(32位整数)。
输出转换后的数,每个输出占1行。
55
-23
42
-2
110111
-10111
101010
-10
#include
#include
int main(){
int i=0,j=0,a = 0,n[32]={0};
while(scanf("%d",&a)!=EOF){
while (a){
n[i++] = a%2;
a/=2;
}
printf("%d",n[i-1]);
for (j=i-2;j>=0;j--){
printf("%d",abs(n[j]));
}
printf("\n");
i=0;
}
return 0;
}