目录
C语言练习题专栏: C语言习题_繁星Starry的博客-CSDN博客
试题1
【问题描述】
从键盘输入正整数n,编程计算并输出1~n的和。
【输入】
正整数n
【输出】
1~n的和
【样例输入】
100
【样例输出】
5050
例如:
输入 | Result |
---|---|
100 | 5050 |
20 | 210 |
50 | 1275 |
200 | 20100 |
#include<stdio.h>
int main()
{
int i=1,sum=0,n;
scanf("%d",&n);
while(i<=n)
{
sum+=i;
i++;
}
printf("%d",sum);
return 0;
}
试题2
【题目描述】
编写程序,输入n的值,求:1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n (保留四位小数)。
【输入】
正整数n。
【输出】
上述算式的求和结果(结果保留四位小数)。
【样例输入】
10
【样例输出】
sum=0.6456
例如:
输入 | Result |
---|---|
10 | sum=0.6456 |
20 | sum=0.6688 |
#include<stdio.h>
int main()
{
int i=1,n,m=1;
double sum=0;
scanf("%d",&n);
while(i<=n)
{
sum+=(m*1.0/i);
i++;
m*=-1;
}
printf("sum=%.4f",sum);
return 0;
}
试题3
【问题描述】
求1+2!+3!+...+n!的和。
【输入】
正整数n(n〈=10)
【输出】
1+2!+3!+...+n!的和 (结果为整数形式)
【样例输入】
3
【样例输出】
9
例如:
输入 | Result |
---|---|
4 | 33 |
6 | 873 |
#include<stdio.h>
int main()
{
int i,n,num=1,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
num*=i;
sum+=num;
}
printf("%d",sum);
return 0;
}
试题4
【问题描述】
编程计算并输出a+aa+aaa+ 的和,a和n由键盘输入。
【输入】
两个整数a和n(a和n都小于9)
【输出】
a+aa+aaa+ 的和
【样例输入】
2 4↙
【样例输出】
2468
例如:
输入 | Result |
---|---|
2 4 | 2468 |
6 8 | 74074068 |
3 5 | 37035 |
5 7 | 6172835 |
#include<stdio.h>
int main()
{
int a,n,i,sum=0,ini;
scanf("%d%d",&a,&n);
ini=a;
for(i=1;i<=n;i++)
{
sum+=a;
a=10*a+ini;
}
printf("%d",sum);
return 0;
}
试题5
【题目描述】
假期里,小明大鱼大肉吃的不少,感觉体重猛增。开学后,小明立志要减肥了。小明的计划是每天晨练1小时。可是,小明并不是一个意志特坚强的人,刚晨练几天,就坚持不住了。小明想知道最近一周(每周7天)平均每天晨练多长时间,你能帮他算算吗?
【输入】
第一行一个整数n(0≤n≤7),表示最近一周晨练的次数,第二行n个实数,表示每次晨练的时长(分钟)。
【输出】
一个实数(保留1位小数),表示最近一周晨练平均时长
【样例输入】
3
38 65 75
【样例输出】
25.4
例如:
输入 | Result |
---|---|
3 38 65 75 | 25.4 |
5 55 60 70 80 88 | 50.4 |
6 50 66 76 86 80 88 | 63.7 |
#include<stdio.h>
int main()
{
int n,time,i,sum=0;
double average;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&time);
sum+=time;
}
average=sum*1.0/7;
printf("%.1f",average);
return 0;
}
试题6
【题目描述】
妈妈带着小明去购物,小明可开心啦。他知道自己的鞋码是33号,可是当他看到很多漂亮的鞋子,他做了一个贪心的决定:33、34号的鞋都买了!毕竟自己还会再长高嘛!现在营业员告诉他,这里有n双鞋,并且依次报出了每双鞋的鞋码。小明很想知道,自己能买下多少双鞋呢!请你编程解决这个问题。
【输入】
第一行1个整数n,表示有多少双鞋。
第二行n个整数,依次表示每双鞋的鞋码。
【输出】
输出一个整数,表示小明能买下多少双鞋。
【样例输入】
7
33 40 33 35 37 36 34
【样例输出】
3
例如:
输入 | Result |
---|---|
7 33 40 33 35 37 36 34 | 3 |
5 33 34 35 36 37 | 2 |
#include<stdio.h>
int main()
{
int n,i,size,num;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&size);
if(size==33||size==34)
num++;
}
printf("%d",num);
return 0;
}
试题7
【题目描述】
输出所有的"水仙花数"。所谓"水仙花数"是指这样的一个三位数:其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=3^3+7^3+1^3.
【输入】
无
【输出】
输出所有的"水仙花数"(从小到大的顺序输出),每个数据占一行。
#include<stdio.h>
int main()
{
int ge,shi,bai;
for(bai=1;bai<=9;bai++)
{
for(shi=0;shi<=9;shi++)
{
for(ge=0;ge<=9;ge++)
{
if(bai*100+shi*10+ge==bai*bai*bai+shi*shi*shi+ge*ge*ge)
printf("%d\n",bai*100+shi*10+ge);
}
}
}
return 0;
}
试题8
【题目描述】
输入两个正整数m和n,求出[m,n]区间的所有素数。
【输入】
两个整数m和n(1<m<n)。
【输出】
[m,n]区间的所有素数,每个素数之前有一个空格。
【样例输入】
10 20
【样例输出】
11 13 17 19
例如:
输入 | Result |
---|---|
10 20 | 11 13 17 19 |
5 25 | 5 7 11 13 17 19 23 |
50 70 | 53 59 61 67 |
#include<stdio.h>
int main()
{
int m,n,i,num;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
for(num=2;num<=i;num++)
{
if(i%num==0)
break;
}
if(num==i)
printf("\ %d",i);
}
return 0;
}
试题9
【题目描述】
两个正整数,计算这两个数的最小公倍数。
【输入】
仅一行,包括两个不大于1000的正整数。
【输出】
仅一行,这两个数的最小公倍数。
【样例输入】
10 14
【样例输出】
70
例如:
输入 | Result |
---|---|
10 14 | 70 |
25 35 | 175 |
15 20 | 60 |
#include<stdio.h>
int main()
{
int a,b,num;
scanf("%d%d",&a,&b);
for(num=1;num>=1;num++)
{
if(num%a==0&&num%b==0)
break;
}
printf("%d",num);
return 0;
}
试题10
【题目描述】
国际象棋棋盘有64格,若在第1格放1粒谷;第2格放2粒谷;第3格放4粒谷;第4格放8粒谷……如此一直放到第n格(n小于等于64)。假设2000000粒谷有一吨重,问需要多少吨谷才能存满n格?
【输入】
仅一行,一个整数n。
【输出】
谷粒的重量(吨,结果保留整数)。
【样例输入】
64↙
【样例输出】
9223372036855
例如:
测试 | 输入 | Result |
---|---|---|
【测试用例1】 | 24 | 8 |
【测试用例2】 | 32 | 2147 |
【测试用例3】 | 48 | 140737488 |
#include<stdio.h>
int main()
{
int n,i;
double j=1,sum,num;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=j;
j*=2;
}
num=1.0*sum/2000000;
printf("%.0f",num);
return 0;
}
试题11
【题目描述】
求π的近似值。利用级数公式: 1+1/2^2+1/3^2+1/4^2+1/5^2+......=π^2/6,当数列的最后一项小于10的-6次方为止,输出π值,小数点后保留6位有效数字。
【输入】
无
【输出】
输出π值。
【样例输入】
无↙
【样例输出】
3.140638
#include<stdio.h>
#include<math.h>
int main()
{
int i;
double j=1,sum,pai;
for(i=1;j>=0.000001;i++)
{
j=1.0/(i*i);
sum+=j;
}
pai=sqrt(6*sum);
printf("%.6f",pai-0.000001);
return 0;
}
试题12
【题目描述】
键盘输入一段英文,输出其中的单词个数。
【输入】
一段英文单词
【输出】
单词的个数
【样例输入】
I love China and the people↙
【样例输出】
6
例如:
输入 | Result |
---|---|
I like programming lesson | 4 |
I am a student | 4 |
#include<stdio.h>
int main()
{
int i=1,c;
while((c=getchar())!='\n')
{
if(c==' ')
i++;
}
printf("%d",i);
return 0;
}
本文就到这里啦,如有帮助,请多支持~