本题要求编写程序,输出一个短句“Programming in C is fun!”。
输入格式:
本题目没有输入。
输出格式:
在一行中输出短句“Programming in C is fun!”。
完整代码:
#include <stdio.h> int main() { printf("Programming in C is fun!"); }</pre>
本题要求编写程序,输出指定的由“*”组成的倒三角图案。
输入格式:
本题目没有输入。
输出格式:
按照下列格式输出由“*”组成的倒三角图案。
* * * *
* * *
* *
*
完整代码:
#include <stdio.h> int main() { printf("* * * *\n"); printf(" * * *\n"); printf(" * *\n"); printf(" *\n"); return 0; }
本题要求编写程序,计算华氏温度150°F对应的摄氏温度。计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
输入格式:
本题目没有输入。
输出格式:
fahr = 150, celsius = 计算所得摄氏温度的整数值
完整代码:
#include <stdio.h> int main() { int fahr=150,celsius; celsius = 5*(fahr-32)/9; printf("fahr = 150, celsius = %d",celsius); return 0; }
一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒^2 。
输入格式:
本题目没有输入。
输出格式:
height = 垂直距离值
结果保留2位小数。
完整代码:
#include <stdio.h> int main() { float height; height=0.5*10*3*3; printf("height = %.2f\n",height); return 0; }
给定一个华氏温度F,本题要求编写程序,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出一个华氏温度。
输出格式:
在一行中按照格式“Celsius = C”输出对应的摄氏温度C的整数值。
输入样例:
150
输出样例:
Celsius = 65
3 - 2 = 1
3 * 2 = 6
3 / 2 = 1
完整代码:
#include <stdio.h> int main() { int fahr,celsius; scanf("%d",&fahr); celsius = 5*(fahr-32)/9; printf("Celsius = %d",celsius); return 0; }
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
输入格式:
输入在一行中给出2个正整数A和B。
输出格式:
在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。
输入样例:
3 2
输出样例:
3 + 2 = 5
3 - 2 = 1
3 * 2 = 6
3 / 2 = 1
完整代码:
#include <stdio.h> int main(){ int a,b; scanf("%d%d",&a,&b); printf("%d + %d = %d\n",a,b,a+b); printf("%d - %d = %d\n",a,b,a-b); printf("%d * %d = %d\n",a,b,a*b); printf("%d / %d = %d\n",a,b,a/b); return 0; }
本题目要求计算下列分段函数f(x)的值:
输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。
输入样例1:
10
输出样例1:
f(10.0) = 0.1
输入样例2:
0
输出样例2:
f(0.0) = 0.0
完整代码:
#include <stdio.h> int main() { double x; scanf("%lf",&x); if(x==0) printf("f(0.0) = 0.0"); else printf("f(%.1f) = %.1f",x,1/x); return 0; }
本题目要求计算下列分段函数f(x)的值:

注:可在头文件中包含math.h
,并调用sqrt
函数求平方根,调用pow
函数求幂。
输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。
输入样例1:
10
输出样例1:
f(10.00) = 3.16
输入样例2:
-0.5
输出样例2:
f(-0.50) = -2.75
完整代码:
#include <stdio.h> #include <math.h> int main() { double x,y; scanf("%lf",&x); if(x>=0) { y = pow(x,0.5); printf("f(%.2f) = %.2f",x,y); } else { y = pow(x+1,2) + 2*x + 1/x; printf("f(%.2f) = %.2f",x,y); } return 0; }
输入2个正整数lower
和upper
(lower
≤upper
≤100),请输出一张取值范围为[lower
,upper
]、且每次增加2华氏度的华氏-摄氏温度转换表。
温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。
输入格式:
在一行中输入2个整数,分别表示lower
和upper
的值,中间用空格分开。
输出格式:
第一行输出:"fahr celsius"
接着每行输出一个华氏温度fahr(整型)与一个摄氏温度celsius(占据6个字符宽度,靠右对齐,保留1位小数)。
若输入的范围不合法,则输出"Invalid."。
输入样例1:
32 35
输出样例1:
fahr celsius
32 0.0
34 1.1
输入样例2:
40 30
输出样例2:
Invalid.
完整代码:
#include <stdio.h> int main(void) { int fahr, lower, upper; double celsius; scanf("%d %d", &lower, &upper); if(lower <= upper){ printf("fahr celsius\n"); for(fahr = lower; fahr <= upper; fahr=fahr+2){ celsius = 5.0* (fahr-32)/9.0; printf("%d%6.1f\n", fahr, celsius); } }else printf("Invalid."); return 0; }
本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
输入样例:
6
输出样例:
sum = 2.450000
完整代码:
#include <stdio.h> int main(void) { int i; double s=0,x; scanf("%lf",&x); for(i=1;i<=x;i++){ s = s + 1.0/i; }; printf("sum = %.6f",s); return 0; }
本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
输入样例:
23
输出样例:
sum = 2.549541
完整代码:
#include <stdio.h> int main(void) { int i; double s=0,x; scanf("%lf",&x); for(i=1;i<=x;i++){ s = s + 1.0/(2*i-1); }; printf("sum = %.6f",s); return 0; }
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。
输入样例:
10
输出样例:
sum = 0.819
完整代码:
#include <stdio.h> int main(void) { int i; double s=0,x; scanf("%lf",&x); for(i=1;i<=x;i++){ if(i%2==1){ s = s + 1.0/(3*i-2); } else{ s = s - 1.0/(3*i-2); } }; printf("sum = %.3f",s); return 0; }
输入一个非负整数n,生成一张3的乘方表,输出3^0 ~3^n 的值。可调用幂函数计算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
完整代码:
#include <stdio.h> #include <math.h> int main(void) { int x,i,y=0,z; scanf("%d",&x); for(i=0;i<=x;i++){ z = pow(3,y); printf("pow(3,%d) = %d\n",y,z); y = y + 1; } return 0; }
本题要求编写程序,根据以下公式算出从n个不同元素中取出m个元素(m≤n)的组合数。

建议定义和调用函数fact(n)
计算n!
,其中n
的类型是int
,函数类型是double
。
输入格式:
输入在一行中给出两个正整数m和n(m≤n),以空格分隔。
输出格式:
按照格式“result = 组合数计算结果”输出。题目保证结果在double
类型范围内。
输入样例:
2 7
输出样例:
result = 21
完整代码:
#include <stdio.h> double fact(int n){ double res = 1; for(int i=1;i<=n;i++){ res *= i; } return res; } int main(void) { int m,n; double result; scanf("%d%d",&m,&n); result = fact(n)/(fact(m)*fact(n-m)); printf("result = %.0f",result); return 0; }
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出4个整数,其间以空格分隔。
输出格式:
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。
输入样例:
1 2 3 4
输出样例:
Sum = 10; Average = 2.5
完整代码:
#include <stdio.h> int main() { int sum,a,b,c,d; float ave; scanf("%d%d%d%d",&a,&b,&c,&d); sum = a+b+c+d; ave = sum/4.0; printf("Sum = %d; Average = %.1f",sum,ave); return 0; }
为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。
输入格式:
输入在一行中给出某用户的月用电量(单位:千瓦时)。
输出格式:
在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出"Invalid Value!"。
输入样例1:
10
输出样例1:
cost = 5.30
输入样例2:
100
输出样例2:
cost = 55.50
完整代码:
#include <stdio.h> int main() { double dianf,cost; int dianl; scanf("%d",&dianl); if(dianl<0){ printf("Invalid Value!"); } else if(dianl<=50){ cost = dianl*0.53; printf("cost = %.2f",cost); } else{ cost = dianl*0.53+(dianl-50)*0.05; printf("cost = %.2f",cost); }; return 0; }
本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m^2 +1/m+(m+1)^2 +1/(m+1)+⋯+n^2 +1/n。
输入格式:
输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。
输入样例:
5 10
输出样例:
sum = 355.845635
完整代码:
#include <stdio.h> int main() { int m,n,i,s1; double s2,sum=0.0; scanf("%d%d",&m,&n); for(i=m;i<=n;i++){ s1 = i*i; s2 = 1.0/i; sum = s1+s2+sum; }; printf("sum = %.6f",sum); return 0; }
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,结果保留三位小数。
输入样例:
5
输出样例:
0.917
完整代码:
#include <stdio.h> int main() { int n,i,b; double sum=0.0,a; scanf("%d",&n); for(i=1;i<=n;i++){ if(i%2==0){ a = i*(-1.0); b = i*2-1; sum += a/b; } else{ a = i*(1.0); b = i*2-1; sum += a/b; } } printf("%.3f",sum); return 0; }
本题要求编写程序,计算平方根序列√1 +√2 +√3 +⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。
输入样例:
10
输出样例:
sum = 22.47
完整代码:
#include <stdio.h> #include <math.h> int main() { int n,i; double sum=0.0; scanf("%d",&n); for(i=1;i<=n;i++){ sum += sqrt(i); } printf("sum = %.2f",sum); return 0; }
本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。
输入格式:
输入在一行中给出一个不超过12的正整数N。
输出格式:
在一行中输出整数结果。
输入样例:
5
输出样例:
153
完整代码:
#include <stdio.h>int main()
{
int n,i,j,a,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++){ for(j=1;j<=i;j++){ a *= j; } sum += a; a = 1; } printf("%d",sum); return 0; }