文档库 最新最全的文档下载
当前位置:文档库 › C语言编程题

C语言编程题

C语言编程题
C语言编程题

编写程序:用整数1-12依次表示1-12月,由键盘输入一个月份数,输出对应的季节。#include

using namespace std;

int jijie(int i){

if(i>=3&&i<=5)

cout<<"春季"<

if(i>=6&&i<=8)

cout<<"夏季"<

if(i>=9&&i<=11)

cout<<"秋季"<

if(i=12||i<=2&&i>0)

cout<<"冬季"<

return 0;

}

int main(){

int n;

cout<<"请输入你要知道的月份:";

cin>>n;

jijie(n);

return 0;

}

C#写一个程序,打印出九九乘法表。

for (int i = 1; i <= 9; i++)

{

for (int k = 1; k <= 9; k++)

{

if (k <= i)

{

int m = k * i;

Response.Write("" + k + "*" + i + "=" + m + " ");

if (k == i)

{

Response.Write("
");

}

}

}

}

输出结果:

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 编一个C语言程序,倒序输出九九乘法表。

#include

int main()

{

int i,j;

for(i=9;i>0;i--) {

for(j=1;j<=i;j++) {

printf("%dx%d=%d ",j,i,i*j);

}

printf("\n");

}

}

#include

void main()

{

int i,j;

for(i=1;i<=9;i++)

{

for(j=1;j<=i;j++)

printf("%dx%d=%-2d ",j,i,i*j);

printf("\n");

}

不过要是把这个程序,在编一个程序两个可以组成一个正方形:#include

void main()

{

int j,i;

for(i=1;i<=9;i++)

{

for(j=1;j<=9;j++)

if(j

printf(" ");//7个空格

else

printf("%d*%d=%-2d ",i,j,i*j);

printf("\n");

}

}

C语言编程题

第三章:基本语句与顺序结构程序设计

1.输入一个小于10000的正整数,输出该整数各位上的数字各是多少?

#include

void mian( )

{int n,b1,b2,b3,b4;

scanf(“%d”,&n);

b1=n%10;

n=n/10;

b2=n%10;

n=n/10

b3= n%10;

n=n/10;

b4=n%10;

printf(“各位上的数字分别是:%d,%d,%d,%d\n”,b4,b3,b2,b1);

}

2.将China译成Glmre。方法是:用原来的字母后面的第4个字母代替原来的字母。

#include

void mian( )

{char c1=?C?,c2=?h?,c3=?i?,c4=?n?,c5=?a?;

c1+=4;

c2+=4;

c3+=4;

c4+=4;

c5+=4;

printf(“密码是:%c%c%c%c%c\n”,c1,c2,c3,c4,c5);

}

3.把十进制数97转化为八进制、十六进制数。

#include

void main

{int dec=97;

printf(“oct=%o\n”,dec);

printf(“hex=%x\n”,dec)

}

4.设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

#include

void main( )

{float pi=3.14,h ,r,l,s,sq,vq,vz;

scanf(“%f%f,&r,&h);

l=2*pi*r;

s=pi*r*r;

vq=3.0/4.0*pi*r*r*r;

vz=pi*r*r*h;

printf(“%f,%f,%f,%f,%f\n”,l,s,sq,vq,vz);

}

5.已知三角形的三边长,求三角形的面积。

#include

#include

void main( )

{float a,b,c,s,area;

scanf(“%f%f%f,&a,&b,&c);

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

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

printf(“%f\n”,area);

}

6.从键盘上输入一个大写字母,然后输出它的小写字母。

#include

void main( )

{char c1,c2;

c1=getchar( );

c2=c1+32;

printf(“%c\n”,c2);

}

7.输入三个字母m,a,n,并以”man”和man的竖排列形式输出。

#include

void main( )

{char c1,c2,c3;

c1=getchar( ); c2=getchar( ); c3=getchar( );

putchar(c1); putchar(c2); putchar(c3); putchar(…\n?);

putchar(c1); putchar(…\n?); putchar(c2); putchar(…\n?); putchar(c3);

putchar(…\n?);

}

8.输入一个字符,找出它的前一个字符和后一个字符,并根据ASCII值,按从小到大的顺

序输出这三个字符及其ASCII值。

#include

void main( )

{char c1,c,c2;

c=getchar( );

c1=c-1;

c2=c+1;

printf(“%c,%c,%c\n”,c1,c,c2);

printf(“%d,%d,%d\n”,c1,c,c2);

}

9.鸡兔同笼。已知鸡兔总头数为h(设为30),总脚数为f(设为90),求鸡兔各几只?

#include

void main( )

{int h=30,f=90,x,y;

x=(4*h-f)/2;

y=(f-2*h)/2;

printf(“鸡%d只,兔%d只\n”,x,y);

}

10.输入一个三位正整数,然后反向输出对应的数。如输入321,则输出123。

#include

void main( )

{int n,i,j,k,m;

scanf(“%d”,&n);

i=n/100;

m=n-100*i;

m=m-10*j;

k=m;

m=100*k+10*j+i;

printf(“%f\n”,c);

}

11.输入一个华氏温度f,将它转换成摄氏温度c输出。转换公式:c=5/9*(f-32)

#include

void main( )

{float f,c;

scanf(“%f”,&f);

c=5.0/9*(f-32);

printf(“%f\n,c);

}

12.编程计算方程ax*x+bx+c=0的根,假设b*b-4ac>0.

#include

#include

V oid main( )

{float a,b,c,disc,x1,x2,p,q;

Scanf(“%f%f%f,&a,&b,&c);

}

dise=b*b-4*a*c;

p=-b/(2*a);

q=sqrt(dise)/(2*a);

x1=p+q; x2=p-q;

printf(“x1=%f,x2=%f”,x1,x2);

}

13.用getchar函数读入两个字符c1,c1,然后分别用putchar函数和printf函数输出。

#include

void main( )

{char c1,c2;

c1=getchar( ); c2=getchar( );

putchar(c1);; putchar(c2);

printf(“\n”);

printf(“%c,%c\n”,c1,c2);

}

第四章:选择结构程序设计

1.输入三个整数x,y,z,请把这三个数由小到大输出。

#include

void main( )

{int x,y,z,t;

scanf("%d%d%d",&x,&y,&z);

{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);

}

2.当年收入超过1600元时,超过部分交税款20%。试编写一程序计算税款(其中月收入有键盘输入)。

#include

{

float x,y;

scantf("%f",&x);

if(x<=1600)y=0;

else

y=(x-1600)*.2;

printf("tax:y=%f\n",y);

}

3.输入某年某月某日,判断这一天是这一年的第几天?

#include

void main()

{

int day,month,year,sum,leap;

printf("\nplease input year,month,day\n");

scanf("%d,%d,%d",&year,&month,&day);

switch(month)

{

case 1:sum=0;break;

case 2:sum=31;break;

case 3:sum=59;break;

case 4:sum=90;break;

case 5:sum=120;break;

case 6:sum=151;break;

case 7:sum=181;break;

case 8:sum=212;break;

case 9:sum=243;break;

case 10:sum=273;break;

case 11:sum=304;break;

case 12:sum=334;break;

default:printf("data error");break;

}

sum=sum+day;

if(year%400==0||(year%4==0&&year%100!=0))

leap=1;

else

leap=0;

if(leap==1&&month>2)

sum++;

printf("It is the %dth day.",sum);

}

4. 计算

y={3x+6 :x>=0 -x*x+2x-8; x<0} #include

void main()

{ float x,y;

printf("送数%%f:\n");

scanf("%f",&x);

if(x>=0)

y=3*x+6;

else

y= -x*x+2*x-8;

printf("y=%.2f\n",y);

}

5.为优惠顾客,商店对购货在1000元和1000元以上的,八折优惠;500元以上,1000元以下的,九折,200元以上,500以下的,九五折,100元以上,200元以下,九七折;100元以下的不优惠。请输入购货款后,打印出该交的货款。

#include

main( )

{

float x,y;

scanf(“%f”,&x);

if(x<100)y=x;

else if(x>=100&&x<200)y=.97*x;

else if(x>=200&&x<500)y=.95*x;

else if(x>=500&&x<1000)y=.9*x;

else

y=.8*x;

printf(“all=%.2f”,y);

}

6第一象限,第二象限……

#include

#include

main( )

{

float x,y,z;

scanf(“%f%f”,&x,&y);

if(x>0&&y>0) z=log(x)+log(y);

else if(x<0&&y>0) z=sin(x)+cos(y);

else if(x<0&&y<0) z=exp(2*x)+exp(3*y);

else z=tan(x+y);

printf(“%f\n”,z);

}

7电报计费规则:若为普通电报,每个字0.75元,如不足10个字,按10个字计算;若为加急电报,则加上一个字,再加倍收费。键盘输入报文数字。

#include

main( )

{int x,y;

float s;

printf(“input\n”);

scanf(“%d%d”,&x,&y);

if(y=1)

if(x<=10) s=.75;

else s=.075*x;

else

s=(x+1)*2*0.075;

printf(“s=%f\n”,s);

}

8输入班号,输出该班学生人数。(用switch语句编程)

班号21 22 23 24 25 26

人数45 51 48 46 48 52

#include

void main( )

{int a;

scanf(“%d”,&a);

switch(a)

{

case 21:printf(“=45\n”);break;

case 22:printf(“=51\n”);break;

case 23:printf(“=48\n”);break;

case 24:printf(“=46\n”);break;

case 25:printf(“=48\n”);break;

case 26:printf(“=52\n”);break;

defaut:printf(wrong\n”);

}

9.已知银行整存整取存款不同期限的月息利率分别为:

月息利率=0.63% 期限一年

0.66% 期限二年

0.69% 期限三年

0.75% 期限五年

0.84% 期限八年

要求输入存钱的本金和期限,球到期时能从银行得到的利息和本金的合计。

#include

void main( )

{ float m,t;

int y;

scanf(“%f%d,&m,&r);

switch(y)

{

case1:t=m*(1+0.0063*12);break;

case2:t=m*(1+0.0066*12*2);break;

case3:t=m*(1+0.0069*12*3);break;

case5:t=m*(1+0.0075*12*5);break;

case8:t=m*(1+0.0084*12*8);break;

defaut:printf(“error\n”);

}

printf(“%f\n,t);

}

10. 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高

于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提

成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于

40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于

100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?-#include "stdio.h"

#include "conio.h"

main()

{

long int i;

int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i);

bonus1=100000*0. 1;

bonus2=bonus1+100000*0.75;

bonus4=bonus2+200000*0.5;

bonus6=bonus4+200000*0.3;

bonus10=bonus6+400000*0.15;

if(i<=100000)

bonus=i*0.1;

else if(i<=200000)

bonus=bonus1+(i-100000)*0.075;

else if(i<=400000)

bonus=bonus2+(i-200000)*0.05;

else if(i<=600000)

bonus=bonus4+(i-400000)*0.03;

else if(i<=1000000)

bonus=bonus6+(i-600000)*0.015; else

bonus=bonus10+(i-1000000)*0.01; printf("bonus=%d",bonus);

getch();

}

第五章:循环结构程序设计

1.任意输入N个数,计算它们的和、积及和的平均值。

#define N6

#include

void main( )

{int I,a,s=0,m=1;

float ave;

printf(“Input the number:”);

for(i=0;i

{scanf(“%d”,&a);

s=s+a;

m=m*a;

}

ave=s/N;

printf(“和为:%d 积为:%d 平均值为:%f”,s,m,ave);

}

2. 求1+2!+3!+...+20!的和

#include "stdio.h"

#include "conio.h"

main()

{

float n,s=0,t=1;

for(n=1;n<=20;n++)

{

t*=n;

s+=t;

}

printf("1+2!+3!...+20!=%e\n",s);

getch();

}

3.求1+2+……+100+(1*1+2*2+3*3+……+50*50)+(1/1+1/2+1/3……+1/10)

#include

void main( )

{int i,j,k,sl=0;

double s2=0,s3=0,sum;

for(i=1;i<=100;i++)s1+=i;

for(j=1;j<=50;j++)s2+=j*j;

for(k=1;k<=10;k++)s3+=1/(float)k;

sum=s1+s2+s3;

printf(“sum=%f”,sum);

}

4.任意输入N个数,统计其中正数、负数和零的个数。

#define N 10

#include

void main( )

{int i,p=0,n=0,z=0,num;

printf(“please input num:”);

for(i=0;i

{scanf(“%d”,&num);

if(num>0)p++;

else if(num<0) n++;

else z++;

}

printf(“/n正数有%d个,负数有%d个,零有%d个,p,n,z);

}

5.在1——500中,找出所有能同时满足用3除余2,用5除余3,用7除余4的所有整数。#include

void main( )

{int i;

for(i=1;i<=500;i++)

{if((i%3)==2&&(i%5)==3&&(i%7)==4)

printf(“%d”,i);

}

}

6. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数

本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方

#include

void 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);

}

printf(“\n”);

}

7.任意输入一串字符,以‘?’结束,分别统计其中字母、数字其他字符的个数

#include

main( )

{char c;

int letters=0,space=0,digit=0,others=0;

printf(“please input some characters\n”);

while((c=getchar( ))!=?\n?)

{if(c>=?a?&&c<=?z?||c>=?A?&&c<=?Z?)

letters++;

space++;

else if(c>=?0?&&c<=9)

digit++

else

others++;

}

printf(“all in all:char=%d space=%d digit=%d others=%d\n”,letters,space,digit,others);

}

8求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

#include

void main( )

{

int a,n,count=1;

long int sn=0,tn=0;

printf("please input a and n\n");

scanf("%d,%d",&a,&n);

printf("a=%d,n=%d\n",a,n);

while(count<=n)

{

sn=sn+tn;

a=a*10;

++count;

}

printf("a+aa+...=%ld\n",sn);

}

9.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第5天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

#include

void main( )

{

int day,x1,x2;

day=5;

x2=1;

while(day>0)

{

x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/

x2=x1;

}

printf("the total is %d\n",x1);

}

10有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#include

void main( )

{

int i,j,k;

printf("\n");

for(i=1;i<5;i++) /*以下为三重循环*/

for(j=1;j<5;j++)

for (k=1;k<5;k++)

{

if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/

printf("%d,%d,%d\n",i,j,k);

}

}

11将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

#include

void main( )

{

int n,i;

printf("\nplease input a number:\n");

scanf("%d",&n);

printf("%d=",n);

for(i=2;i<=n;i++)

while(n!=i)

{

if(n%i==0)

{

printf("%d*",i);

n=n/i;

}

else

break;

}

printf("%d",n);

}

12. 输入两个正整数m和n,求其最大公约数和最小公倍数。#include

void main( )

{

int a,b,num1,num2,temp;

printf("please input two numbers:\n");

scanf("%d,%d",&num1,&num2);

if(num1

{

temp=num1;

num1=num2;

num2=temp;

}

a=num1;b=num2;

while(b!=0)/*利用辗除法,直到b为0为止*/

{

temp=a%b;

a=b;

b=temp;

}

printf("gongyueshu:%d\n",a);

printf("gongbeishu:%d\n",num1*num2/a);

}

13一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

#include

相关文档