您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页c语言编程题

c语言编程题

来源:化拓教育网


1. 编写一个程序,要求输入一个字符并判断它是字母字符、数字字符、还是其他字符。

(本例需画流程图 )

#include

int main()

{

char ch;

printf(\"Enter an character:\");

scanf(\"%c\

if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')

printf(\"%c is an alpha\\n\

else

if(ch>='0'&&ch<='9')

printf(\"%c is a numeric\\n\

else

printf(\"%c is other character\\n\

return 0;

}

某单位马上要加工资,增加金额取决于工龄和现工资两个因素:对于工龄大于等于20年的,如果现工资高于2000,加200元,否则加180元;对于工龄小于20年的,如果现工资高于1500,加150元,否则加120元。工龄和现工资从键盘输入,编程求加工资后的员工工资。

#include

int main ( )

{

double salary;

int year;

printf(\"输入工龄和工资:\");

scanf(\"%d%lf\

if(year>=20)

if(salary>2000)

salary=salary+200;

else

salary=salary+180;

else

if(salary>1500)

salary=salary+150;

else

salary=salary+120;

printf(\"after altered:%.2f\

return 0;

}

用while或do...while语句实现:输入一个正整数,计算并输出该数的各位数字之和。如:输入12345,其和为1+2+3+4+5。

#include

void main()

{ int data,s=0;

scanf(“%d”,&data);

while(data>0)

{

s=s+data%10;

data=data/10;

}

printf(“s=%d”,s);

}

从键盘输入若干数,求其中最大数和最小数,直到输入的数为0时结束。(要求画此题

的流程图)

#include

void main()

{ int data,max,min;

scanf(“%d”,&data);

max=min=data; //必须用若干数中的任一个数对max,min赋初值

while(data!=0)

{

if(data>max) max=data;

if(datascanf(“%d”,&data);

}

Printf(“max=%d,min=%d”,max,min);

}

统计选票:现输入选票如下:

3,1,2,1,1,3,3,2,1,2,3,3,3,2,1,1,3,2,0,4,-1

其中:-1是结束标志;1选李,2选张,3选吴,0,4为废票,统计候选人票数。

int main()

{ int vote, l_vote=0,zh_vote=0,w_vote=0,other_vote=0;

scanf(“%d”,&vote);

for(;vote!=-1;)

{

switch(vote)

{ case 1: l_vote++;break;

case 2:zh_vote++;break;

case 3:w_vote++;break;

default: other_vote++;

}

scanf(“%d”,&vote);

}

printf(“Li:%d;Zhao:%d;

Wu:%d ;Other:%d”,l_vote,zh_vote,w_vote,other_vote);

return 0;

}

求两个正整数的最小公倍数和最大公约数。

提示:需使用两个循环结构,一个循环求最小公倍数,一个求最大公约数。

#include

int main()

{ int a,b,t,beishu,yueshu;

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

if(afor(beishu=a; beishu%a!=0 || beishu%b!=0;beishu++) ;

for(yueshu=b; a%yueshu!=0 || b%yueshu!=0;yueshu--);

printf(“beishu=%d,yueshu=%d”,beishu,yueshu);

return 0;

}

求最大公约数方法二

for(yueshu=b;yueshu>=1;yueshu--)

{ if(a%yueshu==0 && b%yueshu==0)

break;

}

求最小公倍数方法二

for(beishu=a;beishu<=a*b;beishu++)

{

if(beishu%a==0 && beishu%b==0)

break;

}

输入两个正整数a和n,计算a+aa+aaa+…的和。例如

输入2和3,则计算2+22+222的和,输出246

#include

int main()

{

int a,n,i,s=0,t;

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

scanf(\"%d%d\

t=a;

for(i=0;i{

s=s+t;

t=t*10+a; //各项的生成规律

}

printf(\"s=%d\

return 0;

}

输出以下图案,图案的行数由输入的整数值确定(每行中字符之间没有空格)。

A

BBB

CCCCC

DDDDDDD

EEEEEEEEE

#include

#include

int main()

{

char ch='A';

int n,i,j,k;

scanf(\"%d\

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

{

for(j=0;j{

printf(\" \");

}

for(k=0;k<2*i-1;k++) /*output character*/

{

printf(\"%c\

}

printf(\"\\n\");

ch++;

}

return 0;

}

一个灯塔有8层,共有765盏灯,其中每一层的灯数都是其相邻上层的两倍,求最底层的

灯数。

#include

int main( )

{ int x,s,i,k;

for(x=1;x<765/2;x++)

{ s=0;

k=x; //塔顶灯数

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

{ s=s+k; k=k*2; }

if(s==765) break;

}

printf(“%d”,k/2);

return 0;

}

求100~200间的所有素数。(穷举法)

#include

int main( )

{ int x,flag=1,i; //flag取值1为素数标志;取值0为非素数标志

for(x=100;x<=200;x++)

{ flag=1;

for(i=2;iif(x%i==0) flag=0;

if(flag) printf(\"%d\\n\

}

return 0;

}

求素数也可以改为

#include

int main( )

{ int x,i;

for(x=100;x<=200;x++)

{ flag=1;

for(i=2;iif(x%i==0) break; //循环若中途跳出说明是非素数

if(i>=x) printf(\"%d\\n\

}

return 0;

}

编程打印出100~1000间的所有的\"水仙花数\"。所谓水仙花数:是指一个三位数, 其各位数字的立方之和等于该数。

#include

int main()

{

int i,h,t,b;

printf(\"打印出100~1000间的所有的水仙花数:\\n\");

for(i=100;i<1000;i++)

{

h=i/100;

t=(i-h*100)/10;

b=i%10;

if(h*h*h+t*t*t+b*b*b==i)

printf(\"%d\\n\

}

return 0;

}

36人一次搬36块砖,男搬4,女搬2,两个小孩抬一块。要一次搬完。问:男、女、小孩要多少?

#include

int main()

{

int x,y,z;

for(x=0;x<=9;x++)

{

for(y=0;y<=18;y++)

for(z=0;z<=72;z++)

if(4*x+2*y+z/2.0==36)

{ printf(\"x=%d y=%d z=%d\\n\

}

return 0;

}

找出1000以内的完数,所谓完数是指该数的各因子之和等于该数,如6=1+2+3。

#include

int main()

{

int i,x,y;

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

{

y=0;

for(x=1;x{

if(i%x==0)

y=y+x;

}

if(y==i)

printf(\"%d\\n\

}

return 0;

}

搬砖问题修改

#include

int main()

{

int b,g,c;

for(b=0;b<=9;b++)

for(g=0;g<=18;g++)

for(c=0;c<=72;c++)

if(4*b+2*g+c/2.0==36&&b+g+c==36)

printf(\"男b=%d,女g=%d,小孩c=%d\\n\

return 0;

}

******

******

******

******

#include

void main()

{

int row,col;

for(row=1;row<=4;row++)

{

for(col=1;col<=4-row;col++)

printf(\" \");

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

printf(\"*\");

printf(\"\\n\");

}

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务