一、编程题
1、 求N分之一序列前N项和 :计算序列 1 + 1/2 + 1/3 + … 的前N项之和。
#include<stdio.h>
int main()
{
int m,i,n;
double item,sum;
scanf("%d",&n);
m=1;
sum=0;
for(i=1;i<=n;i++)
{
item=1.0/m;
sum=sum+item;
m=m+1;
}
printf("sum = %.6lf",sum);
return 0;
}
2、输出华氏-摄氏温度转换表 :输入2个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为[lower,upper]、且每次增加2华氏度的华氏-摄氏温度转换表。温度转换的计算公式C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。
#include <stdio.h>
int main()
{
int lower,upper,fahr;
double celsius;
scanf("%d%d",&lower,&upper);
if(lower<=upper&&lower<=100){
printf(“fahr celsius\n”);
for(fahr = lower;fahr<=upper;fahr=fahr+2)
{
celsius=(5.0/9.0)*(fahr-32);
printf("%d%6.1f\n",fahr,celsius);
}
}
else
printf(“Invalid.\n”);
return 0;
}
3、求组合数 :算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
#include <stdio.h>
double fact(int n);
int main()
{
int result,m,n;
scanf("%d %d",&m,&n);
result=fact(n)/(fact(m)*fact(n-m));
printf("result = %d",result);
return 0;
}
double fact(int n)
{
double i,fact=1;
for(i=1;i<=n;i++)
fact=fact*i;
return fact;
}
4、阶梯电价 :为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。
#include <stdio.h>
int main()
{
double n,cost;
scanf("%lf",&n);
if(n<0)
printf("Invalid Value!");
else{
if(n<=50){
cost=0.53*n;
printf("cost = %.2lf",cost);}
else {
cost=0.53*50+(0.53+0.05)*(n-50);
printf("cost = %.2lf",cost);}
}
return 0;
}
5、统计学生平均成绩与及格人数 :本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。
#include <stdio.h>
int main()
{
int n,i,count=0,a[10];
double sum=0,aver;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
if(a[i]>=60)
count++;
sum+=a[i];
}
if(n!=0)
aver=sum/n;
printf("average = %.1f\ncount = %d\n",aver,count);
return 0;
}
6、统计字符 :本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
#include <stdio.h>
int main()
{
int letter,blank,digit,other;
char ch;
int i;
letter=blank=digit=other=0;
for(i=1;i<=10;i++){
ch=getchar();
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
letter++;
else if(ch==' '||ch=='\n')blank++;
else if(ch>='0'&&ch<='9')
digit++;
else
other++;}
printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);
return 0;
}
版权声明:本文为qq_41415874原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。