C语言上机练习题及答案 下载本文

.

a+b>c? ok++:0; a+c>b? ok++:0; b+c>a? ok++:0;

ok==3

(s=1/2*(a+c+b);

area=sqrt (s*(s-a)*(s-b)*(s-c) );

printf (\}

10输入2个数,比较其大小,将较大的数输出。

#include void main() {

int a,b,c,max,min; printf(“Input a=”); scanf(“%d”,&a); printf(“Input b=”); scanf(“%d”,&b); If(a>b)

printf(“较大的数是%d\\n”,a); else

printf(“较大的数是%d\\n”,b);

}

11输入任意三个整数,求它们的和及平均值。

#include“stdio.h\ void main() { int a,b,c,sum; float ave; scanf(\ sum=a+b+c; ave=(a+b+c)/3.0; printf(\三个数的和为: %d\\n\ printf(\三个数的平均值为: %f\\n\ }

12求解方程ax2+bx+c=0的实数根。a,b,c由键盘输入,#include #include void main() { float a, b, c, x1, x2; printf(\请输入a, b, c的值:\ scanf(\

.

a≠0且b2-4ac>0。

.

if (b*b - 4*a*c <= 0)

printf(\输入的系数不对,b2-4ac不大于0!程序退出!\\n\ else { x1 = (-b + sqrt(b*b - 4*a*c))/2*a; x2 = (-b - sqrt(b*b - 4*a*c))/2*a; printf(\ printf(\ }

13写一个程序,输入一个班学生的成绩,求全班的平均成绩。#include using

namespace std; void failnum(int score[], int num) { int n = 0; for(int i = 0; i < num; i++) { if(score[i] < 60) n++; } cout<<\不及格人数:\num; i++) sum = sum + score[i]; n = (sum * 1.0) / num; for(i = 0; i < num; i++) { if(score[i] >= n) number++; } cout<<\平均分为:\成绩在全班平均分及平均分之上的学生人数:\int num) { int n1 = 0, n2 = 0, n3 = 0, n4 = 0, n5 = 0; for(int i = 0; i < num; i++) { if(score[i] < 60) n1++; else if(score[i] <= 69) n2++; else if(score[i] <= 79) n3++; else if(score[i] <= 89) n4++; if(score[i] >= 90) n5++; } cout<<\分数在60以下占:\分数在60-69占 :\分数在70-79占 :\分数在80-89占 :\cout<<\分数在90以上占:\输入全班总人数:\cin>>num; cout<<\输入内容(每个数不超出 0-100),用空格分开:\for(int i = 0; i < num; i++) cin>>score[i]; failnum(score, num); average_num(score, num); stastics(score, num); return 0; }

14编写程序输出如下图形:(没有的!!!!)

* * * * * * * * * *

从键盘输入一个整数判断是否为素数。

# include\ void main() int i,n;

printf(\ scanf(\for(i=2;i<=n-1;i++) {

if(n%i==0)break; }

if(i<=n-1) printf(\不是素数\\n\ else printf(\不是素数\\n\ }

.

.

15输入一个三位数,判断是否是一个“水仙花数”,水仙花数是指3位数的各位数字的立方和等于这个三位数本身。例如153=1*1*1+5*5*5+3*3*3。#include

void main() { int x,a,b,c; scanf(\

a=x/100; b=(x/10); c=x; if(x==a*a*a+b*b*b+c*c*c) printf(\ }

16输入年号,判断它是否为闰年。

#include void main() { int y; scanf(\

if(y@0==0||y%4==0&&y0!=0) printf(\ else printf(\ }

17用for循环语句求n! 用递归法求n! # include

int fac(int n); void main()

{

int n;

printf(\ scanf(\

printf(\ }

int fac(int n)

.

.

{ int t;

if (n==0||n==1) t=1; else t=n*fac(n-1); else return (t); }

18用函数实现求最大公约数的程序。

# include int gcd(int a,int b); void main() {int a,b,m;

printf(\scanf(\m=gcd (a,b);

printf(\int gcd(int a,int b) { int t do{t=a%d; a=b;b=t;} while(b!=0); return(a); }

19用函数实现求最小公倍数的程序。

# include int gcd(int a,int b); int lcm(int a,int b); void main() {int a,b,m,n;

.