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

精品文档

1输入三个整数x,y,z,把这三个数由小到大输出。 # include void main() {

int x,y,z,a;

scanf (\ if(x>y) {a=x; x=y;y=a; }

if(x>z) { a=x; x=z; z=a; }

if(y>z) {a=y; y=z; z=a; }

printf(\}

2输入圆的半径,输出圆的周长和面积。

# include # define PI 3.1415926 # define S ==PI*r*r # define V (4.0/3)*PI*r*r*r void main()

{

double r;

printf(\ scanf(\

printf(\ printf(\ }

输入正方形的边长,输出正方形的周长和面积。

# include void main() {

float c,zc,mj;

printf(\输入你的正方形\scanf(\zc=4*c; mj=c*c;

printf(\周长%f,面积%f,边长%f\}

3用格式输入函数输入

3个字符,并用输出函数反向输出3个字符和他们的ASCII

码。

# include int main() {char-ch1,ch2,ch3;

printf(\

1欢迎下载

精品文档

scanf(\printf(\printf(\printf(\}

输入一个摄氏温度,要求输出华氏温度。公式为f=9/5*c+32。

# include void main() {

float C,F; }

scanf(\ C=5.0/9*(F-32); printf(\

4。比较两个数大小的题

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

scanf(\ if(a>b) printf(\else printf(\}

第二题: 此题作废(千万不要用)

#include voidmain() { char a,b,c;

scanf(\

while((a<97||a>122)||(b<97||b>122)||(c<97||c>122)); {

printf(\您输入非三个小写字母,请重新输入:\\n\scanf(\}

printf(\ }

5输入任意10个数,求他们的平均值。

# include void main() {

Printf( \请输入10个整数:\int a[10], k = 0, sum = 0; for (int i = 0; i < 10; ++i) ; {

2欢迎下载

精品文档

i>a[i];

if 10>=a[i] >0 ++k; sum = sum+a[i]; }

float ave=sum / 10 .0 printf( \平均值为:%f\\n\ }

6实现从键盘输入两个整数,按从小到大次序输出这两个数。 # include void main() {

int a, b, tem;

printf(\scanf(\if(a>b) {

tem=a;a=b;b=tem; }

printf (\

7从键盘输入三个整数,输出最大的那个数。

#include void main() {

int a,b,c,max;

printf(\请输入三个整数:\\n\ scanf(\max=a>b?a:b;

max=max>c?max:c;

printf(“max=%d\\n”,max); } } 8

输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321)。#

include void main() { }

int x,y,z,n;

printf(\ scanf(\

x=n/100; n=n-100*x; y=n/10;z=n-10*y; if (x>0)printf(\ else if(y>0) printf(\ else printf(\

9输入三角形的边长,求三角形面积。(面积=sqrt( s ( s-a ) (s-b)

3欢迎下载

精品文档

(s-c) ),s=(a+b+c)/2 )。

# include void main() {

printf (\}

float a,b,c,s,area; int ok=0;

printf(\ scanf (\ {

ok==3

(s=1/2*(a+c+b); a+b>c? ok++:0; a+c>b? ok++:0; b+c>a? ok++:0;

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

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由键盘输入,a≠0且b2-4ac>0。 #include

4欢迎下载

精品文档

#include void main() {

float a, b, c, x1, x2; printf(\请输入a, b, c的值:\scanf(\ 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<<\不及格人数:\= 0; float n = 0; for(int i = 0; i < num; i++) sum = sum + score[i]; n = (sum * 1.0) / num; for(i = 0; i < num; i++) { if(score[i] >= n) number++; } cout<<\平均分为:\成绩在全班平均分及平均分之上的学生人数:\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以下占:\(n1* 1.0) / num)*100<<\分数在60-69占 :\分数在70-79占 :\分数在80-89占 :\cout<<\分数在90以上占:\输入全班总人数:\输入内容(每个数不超出 0-100),用空格分开:\< 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位数的各位

5欢迎下载