2、Fibonacci数列为1、1、2、
3、5、8、13、……,编程输出该数列的前20项。#include "stdio.h"
#include "conio.h"
int main(void)
{int i,x1,x2,x;
x1=1;
x2=1;
printf("%6d%6d",x1,x2);
for(i=1;i<=18;i++){
x=x1+x2;
printf("%6d",x);
x1=x2;
x2=x;
}
getch();
}
3、有3*4的二维数组,求该二维数组的各个元素的和。
#include "stdio.h"
#include "conio.h"
main()
{ int i,j,s;
int a[3][4];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
s=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
s=s+a[i][j];
printf("%f",s);
getch();
}
4、输入三个整数,输出中间的数(不大不小的数)。
#include
int main()
{
int a,b,c;
printf("enter three numbers\n");
scanf("%d%d%d",&a,&b,&c);
if(a>b&&a printf("%d",a); else if(b>a&&b printf("%d",b); else printf("%d",c); getch(); } 5、输入三个数,按由小到大的顺序排列并输出。 #include "stdio.h" #include "conio.h" main() { int x,y,z,t; scanf("%d%d%d",&x,&y,&z); if (x>y) {t=x;x=y;y=t;} if(x>z) {t=z;z=x;x=t;} if(y>z) {t=y;y=z;z=t;} printf("small to big: %d %d %d\n",x,y,z); getch(); } 6、编写程序,打印出下三角的99乘法表。 #include "stdio.h" #include "conio.h" main() { int i,j,result; printf("\n"); for (i=1;i<10;i++) { for(j=1;j<10;j++) { result=i*j; printf("%d*%d=%-3d",i,j,result); } printf("\n"); } getch(); } 7。编写程序,输入两个整数,计算并输出它们的立方和。#include "stdio.h" int main() { int a,b,sum; printf("enter two numbers\n"); scanf("%d%d",&a,&b); sum=a*a*a+b*b*b; printf("sum=%d\n",sum); getch(); } 8、有4*4的二维数组,求该二维数组的各个元素的和。 #include "stdio.h" #include "conio.h" main() { int i,j,s; int a[4][4]; for(i=0;i<4;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]); s=0; for(i=0;i<4;i++) for(j=0;j<4;j++) s=s+a[i][j]; printf("%f",s); getch(); } 9、某超市为了促销,规定:购物不足50元的按原价付款,超过50不足100的,超过部分按九折付款,超过100元的,超过部分按八折付款。编一程序完成超市的自动计费的工作。#include int main(void) { int i,j; scanf("%d",&i); if(i<50) j=i; if(i<100) j=50+(i-50)*0.9; else j=50+50*0.9+(i-100)*0.8; printf("%d",j); getch(); } 10、编写程序打印输出所有"水仙花数"。所谓"水仙花数"是指一个三位数,其各位数字立 方和等于该数本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3 #include "stdio.h" #include "conio.h" main() { int i,j,k,n; printf("'water flower'number is:"); for(n=100;n<1000;n++) { i=n/100; j=n/10%10; k=n%10; if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) printf("%-5d",n); } getch(); } 11、利用数组编程,有10个学生,3门课,求每个学生的平均分,和每门课的平均分并输出main(void) { int i,j,sum,avg1,avg2; int a[10][3]; printf("enter numbers\n"); for(i=0;i<10;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); sum=0; for(i=0;i<10;i++){ for(j=0;j<3;j++) sum=sum+a[i][j]; avg1=sum/3; printf("avg1=%f",avg1); return 0; } for(j=0;j<3;j++){ for(i=0;i<10;i++) sum=sum+a[i][j]; avg1=sum/10; printf("avg2=%f",avg2); return 0; } getch(); } 12、编写程序,输入三角形的三边,计算并输出三角形的周长。 #include int main(void) { int a,b,c,sum; scanf("%d",&a); scanf("%d",&b); scanf("%d",&c); if(a+b>c,a+c>b,b+c>a) sum=a+b+c; printf("%d",sum); getch(); } 13、计算并输出s=50+49+48+ (1) #include int main(void) { int i,sum; sum=0; for(i=1;i<=50;i++) sum=sum+i; printf("%d",sum); getch(); } 14编写程序,输入两个整数,计算并输出它们的立方和。#include int main() { int a,b,sum; printf("enter two numbers\n"); scanf("%d%d",&a,&b); sum=a*a*a+b*b*b; printf("sum=%d\n",sum); getch(); } 15判定给定一个5位数,判断它是不是回文数。 #include "stdio.h" #include "conio.h" main( ) { long ge,shi,qian,wan,x; scanf("%ld",&x); wan=x/10000; qian=x%10000/1000; shi=x%100/10; ge=x%10; if(ge==wan&&shi==qian) printf("this number is a huiwen\n"); else printf("this number is not a huiwen\n"); getch(); } 16求一个3*3矩阵(二维数组),对角线元素之和 #include "stdio.h" #include "conio.h" static void dummyfloat(float *x){ float y; dummyfloat(&y);} main() { float a[3][3],sum=0; int i,j; printf("please input rectangle element:\n"); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%f",&a[i][j]); for(i=0;i<3;i++) sum=sum+a[i][i]; printf("duijiaoxian he is %6.2f",sum); getch(); } 17输入一个正整数n,判断它是否为素数。 #include #include main() { int n,i; float disc; scanf("%d",&n); disc=sqrt(n); for(i=2;i<=disc;i++) { if(n%i==0) break; } if(i>disc) printf("%d is ",n); else printf("%d is not ",n); printf("a prime number"); } 18输入一个整数,判断并输出其奇偶性。 #include int main(void) {int number; printf("Enter a number:"); scanf("%d",&number); if(number%2 == 0 ) { printf("The number is even\n"); } else{ printf("The number is odd\n"); } return 0; }19输入华氏温度,计算输出摄氏温度,计算公式为c=5/9*(F-32)#include int main(void) {int fahr,lower,upper; double celsius; printf("Enter lower:"); scanf("%d",&lower); printf("Enter upper:"); scanf("%d",&upper); printf("fahr celsius\n"); for(fahr=lower;fahr<=upper;fahr++){ celsius=(5.0/9.0)*(fahr-32); printf("%d%6.lf\n",fahr,celsius); } return 0; } 20 搬砖问题:36块,36人搬,男搬4,女搬3,两个小孩抬一块,问要求一次全搬完,男女小孩各若干? #include main() { int men,women,child; for(men=0;men<=36;men++) for(women=0;women<=36;women++) for(childs=0;childs<=36;childs++) if(men+women+childs==36&&4*men+child*0.5+3*women==36) printf("men=%d,women=%d,child=%d\n",men,women,child); return 0; } 21输入三个数,计算并输出三个数的和及平均值。 #include "stdio.h" #include "conio.h" main() { int a,b,c,sum; scanf("%d%d%d",&a,&b,&c); sum=a+b+c; printf("%d\n",sum); printf("%f",sum/3.0); getch(); } 22、计算并输出50-100间的偶数和。 #include "stdio.h" #include "conio.h" main() { int i,s; s=0; for(i=50;i<=100;i=i+2) s=s+i; printf("%d",s); getch(); } 23输入半径r的值,计算并输出圆的周长和面积。 #include "stdio.h" main() { int r; float s1,s2; scanf("%d",&r); s1=3.14*2*r; s2=3.14*r*r; printf("%f\n",s1); printf("%f",s2); getch(); } 24输入三个数,计算并输出它们的立方和。 #include "stdio.h" #include "math.h" main() { int a,b,c,sum; scanf("%d%d%d",&a,&b,&c); sum=pow(a,3)+pow(b,3)+pow(c,3); printf("%d",sum); getch(); } 25输入三角形的三边,计算并输出三角形的面积值。 #include "stdio.h" #include "math.h" main() { int a,b,c; float p,s; scanf("%d%d%d",&a,&b,&c); p=(a+b+c)/2.0; s=sqrt(p*(p-a)*(p-b)*(p-c)); printf("%f",s); getch(); } 26输入三个数,如果能够成三角形的三边,计算并输出三角形的面积,否则输出“Data error!” # include # include int main(void) { int a,b,c; double p,S; printf("Enter a:"); printf("Enter b:"); printf("Enter c:\n"); scanf("%d%d%d",&a,&b,&c); if(a+b>c&a+c>b&b+c>a) { p=(a+b+c)/2; S=sqrt(p*(p-a)*(p-b)*(p-c)); } else{printf("Data error!\n");} printf("S=%.2f\n",S); getch(); } 27输入一学生的百分制成绩,计算并输出等级。成绩等级分为五级,分别为A(90-100)、B(80-89)、C(70-79)、D(60-69)和E(0-59)。 # include int main(void) { char A,B,C,D,E; double w; scanf("%lf",&w); printf("the rank is:\n"); if (w>=90&&w<=100) printf("%c",'A'); else if(w>=80&&w<90) printf("%c",'B'); else if(w>=70&&w<80) printf("%c",'C'); else if(w>=60&&w<70) printf("%c",'D'); else if(w>=0&&w<60) printf("%c",'E'); getch(); } 28设计一个简易计算器,以计算两个数的和、差、积、商。 # include int main(void) { double x,y,a,b,c,d; printf("Enter x:\n"); printf("Enter y:\n"); scanf("%lf%lf",&x,&y); a=x+y; b=x-y; c=x*y; d=x/y; printf("%f\n%f\n%f\n%f\n",a,b,c,d); getch(); } 29输入参数a,b,c,求一元二次方程ax2+bx+c=0的根。 #include "stdio.h" #include "math.h" main() { int a,b,c,x1,x2; printf("Enter a=",a); scanf("%d",&a); printf("Enter b=",b); scanf("%d",&b); printf("Enter c=",c); scanf("%d",&c); x1=(-b+sqrt(b*b-4*a*c))*1.0/2*a; x2=(-b-sqrt(b*b-4*a*c))*1.0/2*a; if((b*b-4*a*c)>0) {printf("x1=%2d\n",x1); printf("x2=%2d",x2);} else printf("wu gen"); getch(); } 30输入一年份判断是否为闰年 #include main() { int year; printf("Enter year:"); scanf("%d",&year); if((year%4==0&&year%100!=0)||(year%400==0)) { printf("yes\n"); } else{ printf("no\n"); } return 0; } 31输入一个正整数n,计算下式求e的值(保留两位小数)。e=1+1/1!+1/2!+………+1/n! #include double fact(int n); int main(void) { int t,i; double e; printf("Enter t:"); scanf("%d",&t); e=1; for(i=1;i<=t;i++){ e=e+1.0/fact(i);} printf("%.2f",e); getch();} double fact(int n) { int i; double result,m; result=1; for(i=1;i<=n;i++){ result=result*i; } return result; } 32从键盘输入一批学生的成绩(以0作为结束标志),计算平均分,并统计大于80的成绩的个数。#include int main(void) { int num,count; double total,grade; num=0; total=0; count=0; printf("Enter grades:"); scanf("%lf",&grade); while(grade>=0){ total=total+grade; num++; scanf("%lf",&grade); if(grade>80&&grade>0) count++; } if(num!=0) printf("Average=%.2f\n",total/num); else printf("0\n"); printf("Number of failure=%d\n",count); getch();} 33百元买百鸡。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱,要求买 100只鸡,编写程序列出所有的可能结果。 #include "stdio.h" void main() { int x,y,z; for (x=0;x<=33;x++) for (y=0;y<=50;y++) {z=100-x-y; if (3*x+2*y+0.5*z==100) printf("x=%d,y=%d,z=%d\n",x,y,z); } getch(); } 34编写程序,打印出上三角的99乘法表。 #include"stdio.h" main() { int i,j; for(i=1;i<=9;i++){ for(j=1;j<=i;j++) printf("%d*%d=%d ",i,j,i*j); printf("\n"); } getch();} 35有n个整数元素的一维数组,将最小值与第一个元素交换,最大值与最后一个数交换,然后输出交换后的n个数。 #include "stdio.h" #include "conio.h" main() {int i,t,max,min,jmax,jmin,n; int a[100]; printf("Enter n:"); scanf("%d",&n); printf("Enter %d integers:\n",n); for(i=0;i {printf("a[%d]=",i); scanf("%d",&a[i]); } max=a[0]; min=a[0]; for(i=1;i { if(a[i]>=max){max=a[i];jmax=i;} if(a[i]<=min){min=a[i];jmin=i;} } t=a[jmin];a[jmin]=a[0];a[0]=t; t=a[jmax];a[jmax]=a[n-1];a[n-1]=t; for(i=0;i {printf("%5d",a[i]);} getch(); } 36 有n个整数元素的一维数组; 求:(1)平均值。 (2)统计低于平均值的元素个数并输出个数。 (3)将所有低于平均值的元素输出。 #include "stdio.h" #include "conio.h" main() { int n,i,s,count; int a[100]; float average; printf("Enter n:"); scanf("%d",&n); for(i=0;i {printf("a[%d]=",i); scanf("%d",&a[i]); } s=0; for(i=0;i s+=a[i]; average=s*1.0/n; printf("pingjunzhi=%.2f\n",average); printf("di yu pingjunzhi deshu you:"); for(i=0;i if(a[i] printf("%3d",a[i]);} printf("\n"); printf("ge shu wei%3d",count); getch(); } 37判断100-200之间有多少个素数,并输出所有素数。#include "stdio.h" #include "conio.h" #include "math.h" main() { int m,i,k,h=0,leap=1; printf("\n"); for(m=101;m<=200;m++) { k=sqrt(m+1); for(i=2;i<=k;i++) if(m%i==0) { leap=0; break; } if(leap) { printf("%-4d",m); h++; if(h%10==0) printf("\n"); } leap=1; } printf("\nThe total is %d",h); getch(); } 38铁路托运行李规定:行李重不超过50公斤的,托运费按每公斤0.15元计费;如超过50公 斤,超过部分每公斤加收0.10元。编一程序完成输入行李重,计算并输出托运费。 #include int main() {float i,sum; scanf("%f",&i); if(i>50) sum=50*0.15+(i-50)*0.1; else sum=50*0.15; printf("\n%f",sum); } 39输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交 换,然后输出交换后的n个数。 main() { int i,t,max,min,a[10],jmax,jmin; printf("input 10 numbers:\n"); for(i=0;i<10;i++) {scanf("%d",&a[i]); } max=a[0]; min=a[0]; for(i=0;i<10;i++) {if(a[i]>=max) {max=a[i];jmax=i; } if(a[i]<=min) {min=a[i]; jmin=i; } } t=a[jmax] ;a[jmax]=a[9] ;a[9] =t; t=a[jmin] ;a[jmin]=a[0] ;a[0] =t; for(i=0;i<10;i++) {printf("%d,",a[i]); } getch(); } 40.50到100的和 #include "stdio.h" #include "conio.h" main() { int i,sum; sum=0; for(i=50;i<=100;i++) sum=sum+i; printf("he wei %d",sum); getch(); } 41.输入一个整数,如果能被3整除,则输出这个数,否则输出余数。 #include "stdio.h" #include "conio.h" main() { int a,b; printf("Enter a number:"); scanf("%d",&a); if(a%3==0) printf("%d",a); else{ b=a%3; printf("%d",b);} getch(); } 42.编写程序计算并输出下面级数前n(n=45)项中所有偶数项的和。 1*2*3+3*4*5+5*6*7+·····+(2n-1)2n*(2n+1)+··· #include "stdio.h" #include "conio.h" main() { int i,b,sum; sum=0; for(i=1;i<=45;i++) {if(i%2==0) b=(2*i-1)*2*i*(2*i+1); else b=0; sum=sum+b;} printf("he wei %d",sum); getch(); } 43.输入2个整数,如果2个数都是2位数,输出他们的和,若果两个数都是三位数,则输出 他们的差。 #include "stdio.h" #include "conio.h" main() { int a,b,c,sum; printf("Enter a=",a); scanf("%d",&a); printf("Enter b=",b); scanf("%d",&b);