1.分别输入长方形的长和宽,计算周长和面积。
#include<stdio.h>
int main()
{int a,b,c,s;printf("请输入长方形的长和宽:");scanf("%d%d",&a,&b);c=2*(a+b);s=a*b;printf("长方形的周长为%dn面积为%dn",c,s);return 0;
}
2.根据从键盘输入的圆的半径,求圆的周长和面积。
#include<stdio.h>
#define PI 3.14
int main()
{float r,c,s;printf("请输入圆的半径:");scanf("%f",&r);c=2*PI*r;s=PI*r*r;printf("圆的周长为%5.2fn面积为%5.2fn",c,s);return 0;
}
3.假如我国国民生产总值的年增长率为7%,计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为p=(1+r)^n。(r为年增长率n为年数,p为与现在相比的倍数)。
#include<stdio.h>
int main()
{
float r,p;
r=0.07;
p=(1+r)*(1+r)*(1+r)*(1+r)*(1+r)*(1+r)*(1+r)*(1+r)*(1+r)*(1+r);
printf("p=%fn",p);
return 0;
}
4.存款利息的计算。有1000元,想存五年,可按以下五种办法存:
(1)一次存五年期;
(2)先存两年期到期后将本息再存三期;
(3)先存三年期,到期后将本息再存两年期;
(4)先存一年期,到期后将本息再存一年期,连续存五次;
(5)存活期存款。活期利息每一季度结算一次。
2017年的银行存款利息如下:
一年期定期存款利息为1.5%;
二年期定期存款利息为2.1%;
年羁定期存款利息为2.75%;
年期定期存款利息为3%;
活期存款款利息为0.35%(活期存款每一季度结算一次利息)
如果r年利率,n为存款年数,则计算本息和的公式如下
一年期本息和p=1000*(1+r);
n年期本息和p=1000*(1+n*r);
存n次1年期的本息和p=1000*(1+r)^n
活期存款本息和:p=1000*(1+r/4)^4n。
说明:1000*(1+r/4)是一个季度的本息和
#include<stdio.h>
int main()
{
float r1,r2,r3,r4,r5,p1,p2,p3,p4,p5;
r1=0.0035;
r2=0.015;
r3=0.021;
r4=0.0275;
r5=0.03;
p1=1000*(1+r5*5);
p2=1000*(1+r3*2)*(1+r4*3);
p3=1000*(1+r4*3)*(1+r3*2);
p4=1000*(1+r2)*(1+r2)*(1+r2)*(1+r2)*(1+r2);
p5=1000*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4)*(1+r1/4);
printf("p1=%fnp2=%fnp3=%fnp4=%fnp5=%fn",p1,p2,p3,p4,p5);
return 0;
}
5.从键盘上输入某学生5门课的成绩,计算出总成绩和平均成绩。
#include<stdio.h>
int main()
{int a,b,c,d,e,sum,gpa; printf("请输入该学生五门课的成绩:n");scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);sum=a+b+c+d+e;gpa=(a+b+c+d+e)/5;printf("该学生的总成绩和平均成绩分别为:%d,%d",sum,gpa);return 0;
}
6.输入一个三位数(整数),分别输出这个数的个位、十位、百位数字。
#include<stdio.h>
int main()
{int a,b,c,d;printf("请输入一个三位整数:");scanf("%d",&a);b=a%10;c=a%100/10;d=a/100;printf("该整数的个位为%d,十位为%d,百位为%dn",b,c,d);return 0;
}
7.从键盘上输入一个小写字母,改用大写字母输出。
#include<stdio.h>
int main()
{char c1,c2;printf("请输入一个小写字母:");scanf("%c",&c1);c2=c1-32;printf("%cn",c2);return 0;
}
8.从键盘上输入两个整数分别放到A和B中,输出“A=”和“B=”的值,交换两个变量的值,并输出。
#include<stdio.h>int main(){int A,B,t=0;printf("请输入两个整数:n");scanf("%d%d",&A,&B);printf("%dn",A);printf("%dn",B);t=A;A=B;B=t;printf("A=%d,B=%dn",A,B);return 0;}
9.定义整型变量int a=12,long b=2269978;请将a的值正常整数输出,6位宽度、6位左对齐、6位高位补零输出;将b按8位输出;将a按十进制、八进制、十六进制、无符号数输出。
#include <stdio.h>
int main()
{ int a=12,b=2269978; printf("%dn%6dn%-6dn%06dn",a,a,a,a);printf("%8dn",b);return 0;}
10.定义浮点数变量float x=1234.567;double y=1234.5678;完成下列输出操作:(1)请将x和y按照正常浮点数输出;(2)将x按总长度8位小数位3位; y按总长度10位小数位3位;(3)将x以科学计数法输出。
#include<stdio.h>
main()
{float x=1234.567;double y=1234.5678;printf("x=%f,x=%8.3f,x=%en",x,x,x);printf("y=%lf,y=%10.3lfn",y,y);printf("n");}
11.输入任意三个整数给变量a、b、c,求三个数中的最大值。
#include<stdio.h>
int main()
{int a,b,c,max;printf("请输入三个整数:n");scanf("%d%d%d",&a,&b,&c);if(a>b)max=a;elsemax=b;if(a>c)max=a;elsemax=c;if(b>c)max=b;elsemax=c;printf("三个数中最大值为%d",max);return 0;
}
12.用if语句编程,输入一个数,输出这个数的绝对值。
#include<stdio.h>
int main()
{int a,;printf("请输入一个整数:n");scanf("%d",&a);if(a>=0)printf("%dn",a);if(a<0)printf("%dn",-a);return 0;
}
13.用户输入密码,如果密码是123,则输出“恭喜你,登录成功!”,否则输出“很抱歉,登录失败!”。
#include<stdio.h>
int main()
{char code;printf("请输入密码:");scanf("%d",&code);if(code==123)printf("恭喜你,登录成功",code);if(code!=123)printf("很抱歉,登录失败",code);return 0;
}
14.根据上网用户输入的年龄,决定弹出信息,如年龄小于18则弹出“你太小了,还不能进网吧”否则弹出“ok,没问题祝你玩的愉快”。
#include<stdio.h>
int main()
{char age;printf("请输入你的年龄:");scanf("%d",&age);if(age<18)printf("你太小了,还不能进网吧",age);if(age>=18)printf("OK,没问题祝你玩得愉快",age);return 0;
}
15.根据用户输入的数,判断:
(1)是否能3整除,如能,输出能被3整除,如不能被3整除,则输出:不能被3整除
(2) 是否能5整除,如能,输出能被5整除,如不能被5整除,则输出:不能被5整除
(3)判断用户输出的数能否被3和5同时整除,如能,输出能被3和5整除。
#include<stdio.h>
int main()
{int a;printf("请输入一个整数:");scanf("%d",&a);if(a%3==0)printf("能被3整除n",a);elseprintf("不能被3整除n",a);if(a%5==0)printf("能被5整除n",a);elseprintf("不能被5整除n",a);if(a%3==0&&a%5==0)printf("能被3和5整除n",a);return 0;
}
16.输入一个数,判断它是奇数还是偶数,如果是奇数则进一步判断它是否为5的倍数。
#include<stdio.h>
int main()
{int a;printf("请输入一个数:");scanf("%d",&a);if(a%2==0)printf("该数是偶数n",a);if(a%2!=0){printf("该数是奇数n",a);if(a%5==0)printf("该数是5的倍数n",a);elseprintf("该数不是5的倍数n",a);}return 0;
}
17.从键盘输入字符,判断输入的字符属于大写、小写、数字和其他字符中的哪一种。
#include<stdio.h>
int main()
{char ch;ch=getchar();putchar(ch);if(65<=ch&&ch<=88)printf("这是大写字母n");elseif(97<=ch&&ch<=121)printf("这是小写字母n");elseif(48<=ch&&ch<=57)printf("这是数字n");elseprintf("这是其他字符n");return 0;
}
18.某超市有3种产品促销:产品1,2.5元;产品2,12.8元,10件以上9折;产品3,4.6元,20件以上8折。编程:输入客户购买的品种和数量,计算应付金额.。
#include<stdio.h>
int main()
{int type,num,sum;f[oat sum;printf("请输入产品的类型:");scanf("%d,&type);switch(type){case 1: printf("请输入产品的数量:");scanf("%d",&num);sum=2.5*num;break;case 2: printf("请输入产品的数量:");scanf("%d",&num);if(num>=10)sum=12.8*num*0.9;elsesum=12.8*num;break;case 3: printf("请输入产品的数量:");scanf("%d",&num);if(num>=20)sum=4.6*num*0.8;elsesum=4.6*num;break;}default("输入的产品类型有误:n");}printf("产品的类型%d,产品的数量:%d,总价%fn",type,num,sum);return 0;
}
19.从键盘输入三个数,按照从大到小的顺序输出。
#include<stdio.h>
int main()
{float a,b,c,t;scanf("%f%f%f",&a,&b,&c);if(a<b){t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}if(b<c){t=c;c=b;b=t;}printf("%5.2f,%5.2f,%5.2fn",a,b,c);return 0;
}
19.求s=1*2*…*n。
#include<stdio.h>
int main()
{int n,i=1,sum=1;printf("请输入一个数字:");scanf("%d",&n);while(i<=n){sum=sum*i;i=i+1;}printf("sum=%dn",sum);return 0;
}
20.求s=1+3+…+99。
#include<stdio.h>
int main()
{
int i=1,sum=0;
for(i=1;i<100;i++)
sum=sum+i;
printf("sum=%dn",sum);
return 0;
}
21.统计输入的整数的个数(输入-1时结束,-1不计在内)。
#include<stdio.h>
int main()
{int i=1,s1=1,sum=0;while(i<=99){sum=sum+i;i=i+2;}printf("sum=%dn",sum);return 0;
}
22.编程求1!+2!+3!+……+10!的值。
#include<stdio.h>
int main()
{int s1=1,i=1,sum=0;while(i<=10){s1=s1*i;sum=sum+s1;i=i+1;}printf("sum=%dn",sum);return 0;
}
23.打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其中各位数字的立方和等于该数本身。如:153=13+53+33。
#include<stdio.h>
int main()
{int a=0,b=0,c=0,i=0;for(i=100;i<1000;i++){a=i/100;b=(i%100)/10;c=(i%100)%10;if(i==a*a*a+b*b*b+c*c*c){printf("水仙花数有:%dn",i); //水仙花数:daffodil number.}}return 0;
}
24.把100~200之间不能被3整除的数输出,每行输出10个数。
#include<stdio.h>
int main()
{int count=0;for(int i=100;i<=200;i++)if(i%3!=0){printf("%dt",i);count++;if(count%10==0)printf("n");}printf("n");return 0;
}
25.打印显示如下的10*10的数据阵列:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
#include<stdio.h>
int main()
{int i,j,n=0;for(i=1;i<=10;i++)for(j=1;j<=10;j++,n++){if(n%10==0)printf("n");printf("%dt",i*j);}printf("n");return 0;
}
26.打印九九乘法表。
#include<stdio.h>
int main()
{int i,j,n;for(i=1;i<10;i++){for(j=1;j<10;j++){if(j<=i){n=i*j;printf("%d*%d=%dt",i,j,n);}}printf("n");}return 0;
}
27.打印三角形
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
#include<stdio.h>
int main()
{int k,i,j;for(i=1;i<9;i++){for(j=0;j<8-i;j++){printf(" ");}for(k=1;k<=2*i-1;k++){printf("*");}printf("n");}return 0;
}
28.用数组来处理求Fibonacci数列问题。
#include<stdio.h>
int main()
{int i;int f[20]={1,1}; //对最前面两个元素f[0]和f[1]赋初值1for(i=2;i<20;i++)f[i]=f[i-2]+f[i-1]; //先后求出f[2]~f[19]的值for(i=0;i<20;i++){if(i%5==0) printf("n"); //控制每输出5个数后换行printf("%12d",f[i]); //输出一个数}printf("n");return 0;
}
29.从键盘输入10个人的工资,统计出工资总和与平均,并打印输出每个人的工资(每行打印5个数)、工资总和、平均工资。
#include<stdio.h>
int main()
{int i;float a[10],sum=0,avg;for(i=0;i<=9;i++){printf("请输入第%d个人的薪水:",i+1);scanf("%f",&a[i]);sum=sum+a[i];avg=sum/10.0;}for(i=0;i<=9;i++){if(i%5==0)printf("n");printf("%10.2ft",a[i]);if(i==9)printf("n");}printf("%5.2ft",sum);printf("%5.2fn",avg);return 0;
}
30.从键盘输入5个数,找出其中最大数。
#include<stdio.h>
int main()
{int i,a[5],max;printf("input 5 numbers:");for(i=0;i<5;i++)scanf("%d",&a[i]);max=a[0];for(i=1;i<5;i++)if(a[i]>max)max=a[i];printf("max=%dn",max);return 0;
}
31.用冒泡法对输入的10个数进行降序排序。
#include<stdio.h>
int main()
{int a[10],i,j,t;for(i=0;i<10;i++)scanf("%d",&a[i]);for(j=1;j<10;j++)for(i=0;i<10-j;i++){if(a[i]<a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}}for(i=0;i<10;i++)printf("%-3d",a[i]);}
32.用冒泡法对输入的10个数进行降序排序并存入数组中,然后输入一个数,查找该数是否在数组中存在。如果存在,则打印出该数在数组中对应的下标值。
#include <stdio.h>
int main()
{int f[10],i,j,t,a;printf("请任意输入10个整数n");for(i=0;i<10;i++)scanf("%d",&f[i]);for(j=0;j<10;j++){for(i=0;i<10-j;i++){if(f[i]>f[i+1]){t=f[i];f[i]=f[i+1];f[i+1]=t;}}}printf("顺序为:n");for(i=0;i<10;i++)printf("%5dn",f[i]);printf("请输入你想查找的数n");scanf("%d",&t);for(i=0;i<10;i++){if(t==f[i]){printf("该数存在数组中,下标值为:%dn",i);a=1;}}if(a!=1)printf("该数不存在数组中n");return 0;
}
33.改进冒泡排序(减少交换次数)。
#include<stdio.h>
main()
{int i,k,l,a[10];for(i=0;i<=9;i++){printf("请输入一个数:");scanf("%d",&a[i]);}for(i=1;i<=9;i++){for(k=1;k<=9-i;k++)if(a[0]<a[k]){l=a[k];a[k]=a[0];a[0]=l;}if(a[0]>a[10-i]){l=a[10-i];a[10-i]=a[0];a[0]=l;}}printf("nnn请输入一个任意数:");scanf("%d",&l);k=0;for(i=0;i<=9;i++){if(l==a[i]){printf("这个数是该数组的第%d个数n",i+1);k=1;}}if(k!=1)printf("这个数不存在于这个数组n");
}
34.从键盘输入10个数,按照从小到大排序,每行输出5个数。
#include<stdio.h>
int main()
{int a[10];int i,j,t;printf("input 10 numbers:n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("n");for(j=0;j<9;j++) for(i=0;i<9-j;i++) if(a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("the sorted numbers:n");for(i=0;i<10;i++)printf(" %d",a[i]);printf("n");return 0;
}
35.找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。
#include<stdio.h>
#define N 4
#define M 5
int main()
{int i,j,k,a[N][M],max,maxj,flag;printf("please input matrix:n");for(i=0;i<N;i++)for(j=0;j<M;j++)scanf("%d",&a[i][j]);for(i=0;i<N;i++){max=a[i][0];maxj=0;for(j=0;j<M;j++)if(a[i][j]>max){max=a[i][j];maxj=j;}flag=1;for(k=0;k<N;k++)if(max>a[k][maxj]){flag=0;continue;}if(flag){printf("a[%d][%d]=%dn",i,maxj,max);break;}}if(!flag)printf("It is not exist!n");return 0;
}
36.编一程序,将两个字符串连接起来,不要用strcat函数。
#include<stdio.h>
int main()
{char s1[80],s2[40];int i=0,j=0;printf("input string1:");scanf("%c",s1);printf("input string2:");scanf("%s",s2);while(s1[i]!='