C语言入门题库及答案
一:计算N!的值***
# include
# include
int main ( )
{ int i, p= 1 , n; scanf ( "%d" , & n) ; for ( i= 1 ; i<= n; i++ ) p= p* i; printf ( "%d" , p) ; return 0 ;
}
二:求1!+2!+…+10! **
# include
# include
int main ( )
{ int p= 1 , j, i, n= 10 ; long sum= 0 ; for ( i= 1 ; i<= n; i++ ) { for ( j= 1 ; j<= i; j++ ) p= p* j; sum= sum+ p; } printf ( "%d" , sum) ; return 0 ;
}
三:编写九九乘法表
# include
# include
int main ( )
{ int i, j, p; printf ( " 1 2 3 4 5 6 7 8 9 \n" ) ; printf ( " --------------------------------------------------\n" ) ; for ( i= 1 ; i<= 9 ; i++ ) { printf ( "%d|" , i) ; for ( j= 1 ; j<= 9 ; j++ ) { printf ( " %2d " , j* i) ; } printf ( "\n" ) ; } return 0 ;
}
四:输出金字塔
# include
# include int main ( )
{ int i, j, n; scanf ( "%d" , & n) ; for ( i= 1 ; i<= n; i++ ) { for ( j= 1 ; j<= i; j++ ) { printf ( "*" ) ; } printf ( "\n" ) ; } return 0 ;
}
五:从键盘输入n个数,求最大值
# include
# include
int main ( )
{ int a, m, n, max; printf ( "请输入整数比较大小:" ) ; scanf ( "%d%d" , & n, & m) ; max= m> n? m: n; printf ( "max=%d\n" , max) ; printf ( "继续输比大小\n" ) ; for ( ; ; ) { scanf ( "%d" , & a) ; max= max> a? max: a; printf ( "max=%d \n" , max) ; printf ( "继续输入比大小\n" ) ; } return 0 ;
}
六:输出所有的“水仙花数”,水仙花数是3位数,其个位数字立方和等于该数 本身,如153=13+5 3+3^3.
# include
# include
int main ( )
{ int i, j, a, b, c, n; for ( i= 100 ; i<= 999 ; i++ ) { a= i/ 100 ; b= ( i- 100 * a) / 10 ; c= i% 10 ; if ( a* a* a+ b* b* b+ c* c* c== i) printf ( "%d\n" , i) ; } return 0 ;
}
七:输出100~200之间不能被3整除的数
# include
# include
int main ( )
{ int i, j= 1 ; for ( i= 100 ; i<= 200 ; i++ ) { if ( i% 3 == 0 ) continue ; else printf ( "%d不能背3整除\n" , i) ; j++ ; } printf ( "\n共有%d位数\n" , j) ;
}
八:求Fibonacci数列前40项, 1,1,2,3,5,,8…
# include
# include
int main ( )
{ int j= 1 ; int i= 1 , q, a, b; printf ( "1\n1" ) ; for ( q= 1 ; q<= 40 ; q++ ) { a= i; i= j; j= a+ i; printf ( "%d\n" , j) ; }
}
九:编程找出1000内所有“完整”一个数恰好是它的因子之和,如6+1+2+3
# include
# include int main ( )
{ int i, j, sum, q; for ( i= 1 ; i<= 1000 ; i++ ) { sum= 0 ; for ( j= 1 ; j< i; j++ ) { if ( i% j== 0 ) sum= sum+ j; else continue ; } if ( sum== i) printf ( "%d\n" , i) ; else continue ; }
}
十:用迭代法求杨辉三角
# include
# include int fun ( int m, int n)
{ int i= 1 , p= 1 ; int x= 1 , y= 1 ; do { x*= m; m-- ; i++ ; } while ( i<= n) ; do { y*= n; n-- ; p++ ; } while ( n>= 1 ) ; printf ( "%d" , x/ y) ; } int main ( )
{ int m, n; printf ( "请输入行数:" ) ; scanf ( "%d" , & m) ; printf ( "请输入列数:" ) ; scanf ( "%d" , & n) ; fun ( m- 1 , n- 1 ) ; return 0 ;
}
十一.金字塔
# include
int main ( )
{ int x, i, j, k; scanf ( "%d" , & x) ; for ( i = 1 ; i <= x; i++ ) { for ( j = 0 ; j < x - i; j++ ) { printf ( " " ) ; } for ( k = 0 ; k < 2 * i - 1 ; k++ ) { printf ( "*" ) ; } printf ( "\n" ) ; } return 0 ;
}
十二,字符,数字类型判断—
# include
# include int main ( )
{ char ch; printf ( "Input simple:\n" ) ; scanf ( "%c" , & ch) ; if ( ch>= 65 && ch<= 90 || ch>= 97 && ch<= 122 ) printf ( "It is an English character.\n" ) ; else if ( ch>= 48 && ch<= 57 ) printf ( "It is a digit character.\n" ) ; else printf ( "It is other character.\n" ) ; return 0 ;
}
十三, 存款利率计算器
# include # include int main ( ) { char x; int n; float capital, rate, deposit; printf ( "Input rate, year, capital:" ) ; scanf ( "%lf,%d,%lf" , & rate, & n, & capital) ; printf ( "Compound interest (Y/N)?" ) ; scanf ( " %c" , & x) ; switch ( x) { case 'Y' : deposit= capital* pow ( 1 + rate, n) ; break ; case 'y' : deposit= capital* pow ( 1 + rate, n) ; break ; case 'N' : deposit= capital* ( 1 + rate* n) ; break ; case 'n' : deposit= capital* ( 1 + rate* n) ; break ; } printf ( "deposit = %.4f\n" , deposit) ; return 0 ; }
十四,斐波那锲数列求和
int main ( )
{ int x1= 1 , n; int x2= 1 ; int x, i; int sum= 2 ; scanf ( "%d" , & n) ; for ( i= 3 ; i<= n; i++ ) { x= x1+ x2; x1= x2; x2= x; sum= sum+ x; } printf ( "%d\n" , sum) ; return 0 ; }
十五,下三角矩阵求和
int main ( )
{ int n, sum= 0 , i, j, k, o; int a[ 50 ] [ 50 ] ; scanf ( "%d" , & n) ; for ( i= 0 ; i< n; i++ ) { for ( j= 0 ; j< n; j++ ) { scanf ( "%d" , & a[ i] [ j] ) ; } } for ( k= 0 ; k< n; k++ ) { for ( o= 0 ; o< n; o++ ) { if ( k>= o) { sum= sum+ a[ k] [ o] ; } } } printf ( "%d" , sum) ;
}
十六,求H.C.F或L.C.M
# include
# include
void hfc ( int x, int y)
{ int t; t= x< y? x: y; for ( ; t>= 0 ; t-- ) { if ( x% t== 0 && y% t== 0 ) { printf ( "%d " , t) ; break ; } }
} void lcm ( int x, int y)
{ int t; t= x> y? x: y; for ( ; ; t++ ) { if ( t% x== 0 && t% y== 0 ) { printf ( "%d" , t) ; break ; } } } int main ( )
{ int x, y, m; scanf ( "%d%d%d" , & x, & y, & m) ; if ( m== 1 ) hfc ( x, y) ; if ( m== 2 ) lcm ( x, y) ; return 0 ;
}
十七,判断是否是素数
# include
int main ( )
{ int t= 1 , i, x; scanf ( "%d" , & x) ; for ( i= 2 ; i< x; i++ ) { if ( x% i!= 0 ) t++ ; } if ( t== x- 1 ) printf ( "%d" , x) ; else printf ( "0" ) ; return 0 ;
}
十八,素数求和
# include
# include
int primenumber ( int x)
{ int t= 1 , i; for ( i= 2 ; i< x; i++ ) { if ( x% i!= 0 ) t++ ; } if ( t== x- 1 ) return x; else return 0 ; return 0 ;
} int main ( )
{ int n, sum= 0 , i; scanf ( "%d" , & n) ; for ( i= 100 ; i< n; i++ ) { sum= sum+ primenumber ( i) ; } printf ( "%d" , sum) ; return 0 ;
}
十九,斐波那契数列
# include # include int main ( ) { int x[ 100 ] , i, n; x[ 0 ] = 1 ; x[ 1 ] = 1 ; for ( i= 2 ; i< 100 ; i++ ) { x[ i] = x[ i- 1 ] + x[ i- 2 ] ; } scanf ( "%d" , & n) ; printf ( "%d" , x[ n- 1 ] ) ; return 0 ; }
二十,一个自然数各位数之和
# include
# include int numbersum ( int x[ 3 ] )
{ int i, j, sum= 0 ; for ( i= 0 ; i< 3 ; i++ ) { scanf ( "%d" , & x[ i] ) ; } for ( j= 0 ; j< 3 ; j++ ) { sum= sum+ x[ i] ; } printf ( "%d" , sum) ; return sum; } int main ( )
{ int x[ 3 ] = { 0 } ; int sum; sum= numbersum ( x[ 3 ] ) ; printf ( "%d" , sum) ; return 0 ;
}
二十一, 素数求和
# include
# include
int main ( )
{ int n, i, j; int y= 0 ; scanf ( "%d" , & n) ; for ( i= 100 ; i< n; i++ ) { for ( j= 2 ; j< n; j++ ) { if ( i% j!= 0 ) continue ; } y++ ; } printf ( "%d" , y) ; return 0 ;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】 进行投诉反馈!