练习2-1 Programming in C is fun! (5分)
#include <stdio.h>
int main ( )
{
printf ( "Programming in C is fun!" ) ;
return 0 ;
}
练习2-3 输出倒三角图案 (5分)
#include <stdio.h>
int main ( )
{
printf ( "* * * *\n" ) ;
printf ( " * * *\n" ) ;
printf ( " * *\n" ) ;
printf ( " *\n" ) ;
return 0 ;
}
练习2-4 温度转换 (5分)
#include <stdio.h>
int main ( )
{
int F= 150 ;
int C = 5 * ( F- 32 ) / 9 ;
printf ( "fahr = 150, celsius = %d" , C) ;
return 0 ;
}
练习2-6 计算物体自由下落的距离 (5分)
#include <stdio.h>
int main ( )
{
float h= 10 * 3 * 3 / 2 ;
printf ( "height = %.2f" , h) ;
return 0 ;
}
练习2-8 计算摄氏温度 (10分)
#include <stdio.h>
int main ( )
{
int F;
scanf ( "%d" , & F) ;
int C= 5 * ( F- 32 ) / 9 ;
printf ( "Celsius = %d" , C) ;
return 0 ;
}
练习2-9 整数四则运算 (10分)
#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 ;
}
练习2-10 计算分段函数[1] (10分)
#include <stdio.h>
int main ( )
{
double x= 0.0 ;
scanf ( "%lf" , & x) ;
if ( x== 0 ) {
printf ( "f(0.0) = 0.0" ) ;
}
else {
printf ( "f(%.1lf) = %.1lf" , x, 1 / x) ;
}
return 0 ;
}
练习2-11 计算分段函数[2] (10分)
#include <stdio.h>
#include <math.h>
int main ( )
{
double x= 0 , f= 0 ;
scanf ( "%lf" , & x) ;
if ( x>= 0 ) {
f= sqrt ( x) ;
}
else {
f= pow ( x+ 1 , 2 ) + 2 * x+ 1 / x;
}
printf ( "f(%.2lf) = %.2lf" , x, f) ;
return 0 ;
}
练习2-12 输出华氏-摄氏温度转换表 (15分)
#include <stdio.h>
int main ( )
{
int f= 0 , lower= 0 , upper= 0 ;
double c= 0.0 ;
scanf ( "%d %d" , & lower, & upper) ;
if ( lower<= upper) {
f= lower;
printf ( "fahr celsius" ) ;
while ( f<= upper) {
c= 5.0 * ( f- 32 ) / 9 ;
printf ( "\n%d%6.1lf" , f, c) ;
f= f+ 2 ;
}
}
else {
printf ( "Invalid." ) ;
}
return 0 ;
}
练习2-13 求N分之一序列前N项和 (15分)
#include <stdio.h>
int main ( )
{
int i= 1 , n= 0 ;
scanf ( "%d" , & n) ;
double m= 0.0 , sum= 0.0 ;
while ( i<= n) {
m= 1.0 / i;
sum= sum+ m;
i++ ;
}
printf ( "sum = %.6lf" , sum) ;
return 0 ;
}
练习2-14 求奇数分之一序列前N项和 (15分)
#include <stdio.h>
int main ( )
{
int i= 1 , n= 0 ;
scanf ( "%d" , & n) ;
double m= 0.0 , sum= 0.0 ;
while ( i<= 2 * n- 1 ) {
m= 1.0 / i;
sum= sum+ m;
i= i+ 2 ;
}
printf ( "sum = %.6lf" , sum) ;
return 0 ;
}
练习2-15 求简单交错序列前N项和 (15分)
#include <stdio.h>
int main ( )
{
int i= 1 , n= 0 ;
scanf ( "%d" , & n) ;
double m= 0.0 , sum= 0.0 ;
while ( i<= 3 * n- 2 ) {
m= pow ( - 1 , i+ 1 ) * 1.0 / i;
sum= sum+ m;
i= i+ 3 ;
}
printf ( "sum = %.3lf" , sum) ;
return 0 ;
}
练习2-17 生成3的乘方表 (15分)
#include <stdio.h>
int main ( )
{
int i= 0 , n= 0 , p= 0 ;
scanf ( "%d" , & n) ;
while ( i<= n) {
p= pow ( 3 , i) ;
printf ( "pow(3,%d) = %d\n" , i, p) ;
i++ ;
}
return 0 ;
}
*练习2-18 求组合数 (15分)
#include <stdio.h>
double fact ( int n)
{
int i= 1 ;
double p= 1 ;
while ( i<= n) {
p= p* i;
i++ ;
}
return p;
}
int main ( )
{
int m= 0 , n= 0 ;
scanf ( "%d %d" , & m, & n) ;
double y= fact ( n) / fact ( m) / fact ( n- m) ;
printf ( "result = %.0lf" , y) ;
return 0 ;
}
习题2-1 求整数均值 (10分)
#include <stdio.h>
int main ( )
{
int a, b, c, d;
scanf ( "%d %d %d %d" , & a, & b, & c, & d) ;
printf ( "Sum = %d; Average = %.1lf" , a+ b+ c+ d, ( a+ b+ c+ d) / 4.0 ) ;
return 0 ;
}
习题2-2 阶梯电价 (15分)
#include <stdio.h>
int main ( )
{
double x, y;
scanf ( "%lf" , & x) ;
if ( x< 0 ) {
printf ( "Invalid Value!" ) ;
}
else if ( x<= 50 ) {
printf ( "cost = %.2lf" , 0.53 * x) ;
}
else {
printf ( "cost = %.2lf" , 0.53 * 50 + ( x- 50 ) * 0.58 ) ;
}
return 0 ;
}