1.生成3的乘方表3
输入一个非负整数n,生成一张3的乘方表,输出30 ~3n 的值。可调用幂函数计算3的乘方。
输入格式:
输入在一行中给出一个非负整数n。
输出格式:
按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。
输入样例:
3
输出样例:
pow(3,0) = 1
pow(3,1) = 3
pow(3,2) = 9
pow(3,3) = 27
(1)编程思路。
简单的循环处理。程序中无需调用幂函数计算3的乘方。因为3n=3n-1×3。
(2)源程序。
#include <stdio.h>
int main()
{
int i,n;
long long p=1;
scanf("%d",&n);
for (i=0;i<=n;i++)
{
printf("pow(3,%d) = %lld\n",i,p);
p=p*3;
}
return 0;
}
2.统计学生成绩
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
输入格式:
输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。
输出格式:
在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。
输入样例:
7
77 54 92 73 60 65 69
输出样例:
1 0 2 3 1
(1)编程思路。
简单的循环处理。
(2)源程序。
#include <stdio.h>
int main()
{
int i,n;
scanf("%d",&n);
int score,a=0,b=0,c=0,d=0,e=0;
for (i=1;i<=n;i++)
{
scanf("%d",&score);
if (score>=90) a++;
else if (score>=80) b++;
else if (score>=70) c++;
else if (score>=60) d++;
else e++;
}
printf("%d %d %d %d %d\n",a,b,c,d,e);
return 0;
}
3.输出闰年
输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入格式:
输入在一行中给出21世纪的某个截止年份。
输出格式:
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"In
valid year!"。若不存在任何闰年,则输出“None”。
输入样例1:
2048
输出样例1:
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
输入样例2:
2000
输出样例2:
Invalid year!
(1)编程思路。
闰年的判定条件是:①能被4整除,但不能被100整除的年份都是闰年,如1996年,2004年是闰年;②能被100整除,又能被400整除的年份也是闰年。如2000年是闰年。可以用一个逻辑表达式来表示:
(year%4==0&&year%100! =0) | | year%400==0
当year为某一整数值时,如果上述表达式值为true(1),则year为闰年;否则year为非闰年。
(2)源程序。
#include <stdio.h>
int main()
{
int endyear;
scanf("%d",&endyear);
int i,cnt=0;
if (endyear<=2000 || endyear>2100)
printf("Invalid year!\n");
else
{
for (i=2001;i<=endyear;i++)
{
if (i%4==0 && i%100!=0 || i%400==0)
{
printf("%d\n",i);
cnt++;
}
}
if (cnt==0) printf("None\n");
}
return 0;
}
4.寻250
对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中到“250”这个高大上的感人数字。
输入格式:
输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。
输出格式:
在一行中输出第一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。
输入样例:
888 666 123 -233 250 13 250 -222
输出样例:
5
(1)编程思路。
由于输入的数据个数未知,因此采用循环 while (scanf("%d",&x)!=EOF) 输入各数据。
(2)源程序。
#include <stdio.h>
int main()
{
int ans=0,cnt=0,x;
while (scanf("%d",&x)!=EOF)
{
cnt++;
if (x==250 && ans==0) ans=cnt;
}
printf("%d\n",ans);
return 0;
}
5.最佳情侣身高差
专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。
下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。
输入格式:
输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。
输出格式:
对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。
输入样例:
2
M 1.75
F 1.8
输出样例:
1.61
1.96
(1)编程思路。
简单的循环处理。
(2)源程序。
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
c语言斐波那契数列 for (int i=1;i<=n;i++)
{
char sex;
float height;
getchar();
scanf("%c%f",&sex,&height);
if (sex=='M')
printf("%.2f\n",height/1.09);
else
printf("%.2f\n",height*1.09);
}
return 0;
}
6.作品评分
全国中小学生Scratch作品大赛拉开了序幕。每个参赛选手可以通过网络直接上传作品。本次比赛人人可做评委。每个网络评委可以通过网络对每一件作品进行打分。评分系统也是请程序高手设计的,能自动去掉一个最高分和一个最低分,求出平均分。
输入格式:
输入数据包括两行: 第一行为n,表示n个评委,n>2。 第二行是n个评委的打分,分数之间有一个空格。打分是可以带有小数部分的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论