- C语言简单程序设计题01
- 1、打印hello Word
- 2、圆的周长及面积
- 3、存款利率
- 4、判断闰年
- 5、数字翻转
- 6 、求方程的解
- 7、求薪水
- 8、1+2+3+…+100
- 9、100!
- 10、2^100
- 11、计算1+1/2+1/3+…+1/100之和
- 12、判断闰年
- 13、韩信点兵
- 14、最大公约数
#include2、圆的周长及面积void main() { printf("Hello World!n"); }
编程并输出半径r=5.3的圆的周长及该圆的面积PI取3.14159。要求必须利用宏常量表示。
#include#define PI 3.14159 void main() { float r = 5.3; printf("circum = %fn", 2*PI*r); printf("area = %fn", PI*r*r); }
思考:如何改进?求任意圆的面积?
3、存款利率设银行定期存款的年利率rate为2.25%,已知存款期为n年,存款本金为capital元,试编程计算并输出n年后的本利之和deposit。要求分别使用%lf, %8.2lf格式输出结果。
#include4、判断闰年void main() { int i,n; float rate; double capital,deposit; printf("Please enter rate, year, capital:n"); scanf("%f,%d,%lf", &rate, &n, &capital); for(i=1;i<=n;i++) capital=capital*(1+rate); deposit=capital; printf("deposit=%lfn",deposit); printf("deposit=%8.2lfn",deposit); }
编程实现如下功能:从键盘任意输入一个年号,判断它是否是闰年。若是闰年输出“Yes”,否则输出“No”。
提示:使用if-else双分支语句。
已知符合下列条件之一者是闰年:
(1)能被4整除,但不能被100整除;
(2)能被400整除。
#include5、数字翻转void main() { int n; printf("Please input n:"); scanf("%d",&n); if((n%4==0 && n%100!=0) || n%400==0) printf("Yes!n"); else printf("No!n"); }
输入123,由123分离出其百位1、十位2、个位3,然后计算3100+210+1 = 321,并输出321;
#includevoid main() { int x=123; int a,b,c; a=x/100; //b=x/10%10; b=x%100/10; c=x%10; printf("%dn",c*100+b*10+1);
思考1:从键盘任意输入一个3位整数,编程计算并输出它的逆序数。
思考2:从键盘任意输入一个整数,编程计算并输出它的逆序数。
从键盘上输入ax^2+bx+c=0方程的三个系数a,b,c,编程求出该方程的解。
提示:使用else if多分支。
区分四种情况:
a<>0; delta>0; delta==0; delt<0(要求打印输出复数根);
#include7、求薪水#include void main() { float a,b,c,d; printf("Please input a,b,c:"); scanf("%f,%f,%f",&a,&b,&c); d=b*b-4*a*c; if(a==0) printf("x=%fn",-b/c); else if(d>0) { printf("x1=%fn", (-b+sqrt(d))/(2*a)); printf("x2=%fn", (-b-sqrt(d))/(2*a)); } else if(d==0) printf("x1=x2=%fn",(-b)/(a*2)); else { printf("x1=%f+%fin", (-b)/(2*a),sqrt(-d)/(2*a)); printf("x2=%f-%fin", (-b)/(2*a),sqrt(-d)/(2*a));
已知某公司员工的保底薪水为500,某月所接工程的利润profit(整数)与利润提成的关系如下(计量单位:元):
profit<=1000 没有提成; 1000要求输入某员工的某月的工程利润,输出该员工实领薪水。
版本1:if else版本#includevoid main() { long profit; int grade; float salary=500; printf("Input profit:"); scanf("%ld",&profit); if(profit<0) printf("Input error!"); else { if (profit>0 && profit<=1000) salary=salary; else if(profit>1000 && profit<=2000) salary=salary+(profit-1000)*0.1; else if(profit>2000 && profit<=5000) salary=salary+1000*0.1+(profit-2000)*0.15; else if(profit>5000 && profit<=10000) salary=salary+1000*0.1+3000*0.15+(profit-5000)*0.2; else salary=salary+1000*0.1+3000*0.15+5000*0.2+(profit-10000)*0.25; printf("salary=%8.2fn",salary); } } 版本2:switch case 版本
#include8、1+2+3+…+100void main() { long profit; int grade; float salary=500; printf("Input profit:"); scanf("%ld",&profit); if( profit<0) printf("Input error!n"); else { grade=(profit-1)/1000; switch(grade) { case 0: break; case 1: salary=salary+(profit-1000)*0.1; break; case 2: case 3: case 4: salary=salary+1000*0.1+(profit-2000)*0.15;break; case 5: case 6: case 7: case 8: case 9: salary=salary+1000*0.1+3000*0.15+(profit-5000)*0.2;break; default: salary=salary+1000*0.1+3000*0.15+5000*0.2+(profit-10000)*0.25; } printf("salary=%8.2fn",salary); #include9、100!void main() { int i; int sum; sum=0; for(i=1;i<=100;i++) sum=sum+i; printf("sum=%dn",sum); } #include10、2^100void main() { int i; float sum; sum=1; for(i=1;i<=100;i++) { sum=sum*i; printf("sum=%fn",sum); } printf("sum=%fn",sum); } #include11、计算1+1/2+1/3+…+1/100之和void main() { int i; float sum; sum=1; for( i=1;i<=100;i++) sum=sum*2; printf("sum=%fn“ , sum); printf("sum=%en“ , sum); } #include12、判断闰年void main() { int i; float sum; sum=0; for(i=1;i<=100;i++) sum=sum+1.0/i; printf("sum=%fn",sum); 判断输出1000-2000之间所有年份是否闰年。若是闰年输出“Yes”,否则输出“No”。
#include13、韩信点兵void main() { int i; for(i=1000;i<=2000;i++) if((i%4==0 && i%100!=0) || i%400==0) printf("%d is Yes!n",i); else printf("%d is No!n",i); } 韩信有一队兵,按从1至5排队报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。请问韩信至少有多少兵。
版本1://for,exit#includevoid main() { int x; for(x=1; ;x++) { if(x%5==1 && x%6==5 && x%7==4 && x%11==10) { printf("x=%dn",x); break; } } } 版本2://for,标志变量flag
#includevoid main() { int x;int flag=0; for(x=1; !flag ;x++) { if(x%5==1 && x%6==5 && x%7==4 && x%11==10) { printf("x=%dn",x); flag=1; } } } 版本3://while
#includevoid main() { int x=0; while(!(x%5==1 && x%6==5 && x%7==4 && x%11==10)) { x++; } printf("x=%dn",x); } 版本4://do while
#includevoid main() { int x=0; do { x++; }while(!(x%5==1 && x%6==5 && x%7==4 && x%11==10)); printf("x=%dn",x); } 思考:总结while 、do while、 for 的异同
14、最大公约数输入两个正整数,用辗转相除法求它们的最大公约数
版本1://while#includemain() { int m,n,t,m0,n0; printf("m,n:"); scanf("%d%d",&m,&n); m0=m;n0=n; while(m%n!=0) { t=m; m=n; n=t%n; } printf("gcd(%d,%d)=%dn",m0,n0,n); } 版本2://do-while
#includemain() { int m,n,t,m0,n0; printf("m,n:"); scanf("%d%d",&m,&n); m0=m;n0=n; if(m%n==0) printf("gcd(%d,%d)=%dn",m0,n0,n); else { do { t=m; m=n; n=t%n; }while(m%n!=0); printf("gcd(%d,%d)=%dn",m0,n0,n); } } 版本3://for
#includemain() { int m,n,t,m0,n0; printf("m,n:"); scanf("%d%d",&m,&n); m0=m;n0=n; for(;m%n!=0;) { t=m; m=n; n=t%n; } printf("gcd(%d,%d)=%dn",m0,n0,n); } 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)