大学C语言编程题.docx

上传人:b****7 文档编号:9196819 上传时间:2023-02-03 格式:DOCX 页数:19 大小:19.10KB
下载 相关 举报
大学C语言编程题.docx_第1页
第1页 / 共19页
大学C语言编程题.docx_第2页
第2页 / 共19页
大学C语言编程题.docx_第3页
第3页 / 共19页
大学C语言编程题.docx_第4页
第4页 / 共19页
大学C语言编程题.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

大学C语言编程题.docx

《大学C语言编程题.docx》由会员分享,可在线阅读,更多相关《大学C语言编程题.docx(19页珍藏版)》请在冰豆网上搜索。

大学C语言编程题.docx

大学C语言编程题

课程单元:

1、运算符、表达式、输入输出语句

能力要求:

a)能够正确定义、输入、输出并使用常用数据类型:

整型、实型、字符型

b)掌握五种基本算术运算符的使用:

+、-、*、/、%,知道优先级与结合性

c)掌握逻辑运算符和关系运算符、条件运算符的使用

d)能够正确使用printf()和scanf()进行各种数据正确格式的输入输出

e)编写简单顺序结构程序

基础能力落实:

1)输入一个字母,输出其对应的ASCII码.

main()

{

charc;

scanf("%c",&c);

printf("%d\n",c);

}

2)输入一个小写字母,输出其对应的大写字母.

main()

{

charc;

scanf("%c",&c);

c=c-32;

printf("%c\n",c);

}

3)从键盘输入一个四位数,编程计算该四位数的各位和并输出。

main()

{

inti,a,b,c,d;

scanf("%d",&i);

a=i/1000;

b=i%1000/100;

c=i%100/10;

d=i%10;

printf("%d\n",a+b+c+d);

}

4)教材,2(关于数据类型、运算符、表达式的练习题,其他类似题目均可)

进阶能力落实:

1)输入一个十进制数,输出其对应的八进制数据。

main()

{

inti;

scanf("%d",&i);

printf("%o\n",i);

}

2)输入一个圆的半径,分别求圆的周长,面积。

#definePI3.14

main()

{

floatr,s,c;

scanf("%f",&r);

c=2*PI*r;

s=PI*r*r;

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

}

课程单元:

2、选择结构程序设计

能力要求:

a)能够使用if语句编写条件选择程序

b)能够使用嵌套if语句和switch语句编写多分支选择结构程序

基础能力落实:

1)判断一个数的正、负,输出相应信息

#include

main()

{

intn;

printf("输入整数n,n不等于0:

\n");

scanf("%d",&n);

if(n<0)

printf("n为负数\n");

else

printf("n为正数\n");

}

2)判断一个数的奇偶,输出相应信息

#include

main()

{

intn;

printf("输入整数n:

\n");

scanf("%d",&n);

if(n%2==0)

printf("n为偶数\n");

else

printf("n为奇数\n");

}

3)在主函数中输入整型数据n,判断该数是否能被3整除,如果能被3整除,输出“yes”,否则输出“no”

#include

main()

{

intn;

printf("输入整数n:

\n");

scanf("%d",&n);

if(n%3==0)

printf("yes\n");

else

printf("no\n");

}

4)写一程序,输入x,求y的值,

y=

x(x<1)

2x-1(1≤x<10)

3x–11(x≥10)

main()

{

intx,y;

scanf("%d",&x);

if(x<1)

y=x;

elseif(x>=1&&x<10)

y=2*x-1;

else

y=3*x-11;

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

}

5)从键盘输入三个数,按照从小到大(或从大到小)的顺序输出

从小到大输出

#include

main()

{

inta,b,c,t;

printf("请输入三个整数:

\n");

scanf("%d,%d,%d",&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=b;b=c;c=t;}

printf("从小到大排序\n%d%d%d\n",a,b,c);

}

6)判断一个年份是否闰年

#include

main()

{

inty,leap;

printf("输入年份y:

");

scanf("%d",&y);

if(y%4!

=0)

leap=0;

elseif(y%100!

=0)

leap=1;

elseif(y%400!

=0)

leap=0;

else

leap=1;

if(leap==1)

printf("%d年是闰年\n",y);

else

printf("%d年不是闰年\n",y);

}

或者

#include

main()

{

inty,leap;

printf("输入年份y:

");

scanf("%d",&y);

if((year%4==0&&year%100!

=0)||(year%400==0))

printf("%d年是闰年\n",y);

else

printf("%d年不是闰年\n",y);

}

7)对一个百分制的成绩给出相应的等级(如90分以上A,80分以上B等)

#include

main()

{

floatgrade;

inti;

printf("输入百分制成绩(0~100):

");

scanf("%f",&grade);

if(grade<0||grade>100)

printf("error\n");

else

{

i=grade/10;

switch(i)

{

case10:

case9:

printf("A\n");break;

case8:

printf("B\n");break;

case7:

printf("C\n");break;

case6:

printf("D\n");break;

case5:

case4:

case3:

case2:

case1:

case0:

printf("F\n");break;

}

}

}

8)从键盘输入两个整数,输出大数(用条件表达式求解)

main()

{

intx,y,max;

printf("请输入2个整数,逗号隔开");

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

max=x>y?

x:

y;

printf("maxis%d\n",max);

}

9)阅读程序的训练,类似题目均可,如:

以下程序的运行结果是。

main()

{intm=5;

if(m++>5)

printf(“%d\n”,m);

else;

printf(“%d\n”,m--);

}

A)4B)5C)6D)7

进阶能力落实:

1)从键盘上输入一个数,判断其是否为水仙花数。

#include

main()

{

inta,b,c,d,e,n;

scanf("%d",&n);

a=n/100;

b=n/10%10;

c=n%10;

if(n==a*a*a+b*b*b+c*c*c)

{

printf("是水仙花\n");

}

else

{

printf("不是水仙花\n");

}

}

2)求一元二次方程的根

#include

#include//包含math.h头文件,开根函数sqrt()

main()

{

inta,b,c;//定义一元二次方程的三个变量为整型

doubled,x1,x2;//定义d=(b^2-4ac)以及两个根,数据类型为双精度类型

printf("输入一元二次方程a*x*x+b*x+c=0中a,b,c的值,逗号隔开:

\n");

scanf("%d,%d,%d",&a,&b,&c);

if(a==0)

printf("不是一元二次方程\n");

else

{

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

if(d<0)

printf("无实根\n");

else

{

d=sqrt(b*b-4*a*c);

x1=(-b+d)/(2*a);

x2=(-b-d)/(2*a);

printf("方程的两个根分别是:

x1=%lf,x2=%lf\n",x1,x2);

}

}

}3)编程实现以下功能,读入两个数(d1,d2)和一个运算符(o),计算d1od2的值。

#include

main()

{

charop;

doubleresult,n1,n2;

printf("请输入表达式\n");

scanf("%lf%c%lf",&n1,&op,&n2);

if(op=='+'||op=='-'||op=='*'||op=='/')

{

switch(op)

{

case'+':

result=n1+n2;break;

case'-':

result=n1-n2;break;

case'*':

result=n1*n2;break;

case'/':

result=n1/n2;break;

}

printf("结果是%lf",result);

}

else

printf("输入错误\n");

}

4)输入一个数,判断是否能被3,5,7整除,并输出同时被几个整除。

#include

main()

{

intn,counter=0;

scanf("%d",&n);

printf("能被以下数整除:

");

if(n%3==0)

{

printf("3,");

counter++;

}

if(n%5==0)

{

printf("5,");

counter++;

}

if(n%7==0)

{

printf("7,");

counter++;

}

printf("同时被%d个整除.\n",counter);

}

课程单元:

3、循环结构程序设计

能力要求:

a)掌握for、do-while、while语句结构

b)能够使用for、do-while、while编写循环结构程序

c)使用for、do-while、while编写多重循环语句

基础能力落实:

1)求1+2+3+…+100的和存入变量sum中,并将sum打印出来。

#include

main()

{

inti,sum=0;

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

sum+=i;

printf("%d\n",sum);

}

3)计算正整数1-n中的奇数之和及偶数之和

#include

main()

{

inti,sum1=0,sum2=0,n;

scanf("%d",&n);

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

{

sum1+=i;

}

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

{

sum2+=i;

}

printf("%d,%d\n",sum1,sum2);

}

4)从5-100之间找出能被5或7整除的数(或类似求1-100之间不能被8整除的数)

main()

{

intn;

for(n=5;n<101;n++)

if(n%5==0||n%7==0)

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

}

5)阅读程序的训练,类似题目均可,如:

下面程序段的运行结果是__________.

intn=0;

while(n++<=2);printf("%d",n);

a)2b)3c)4d)有语法错

6)功能:

下面的程序是求1!

+2!

+3!

+……+10!

的和。

#include

main()

{

longintfac,sum;

inti,j;

sum=0;

for(i=1;i<=10;k++)

{

fac=1;

/**********SPACE*********/

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

/**********SPACE*********/

fac=fac*j;

sum=sum+fac;

}

printf(“sum=%ld\n”,sum);

}

 

(1)求100以内个位数为8且能够被6整除的所有数。

#include

main()

{

inti,j;

for(i=0;i<10;i++)

{

j=i*10+5;

if(j%6!

=0)

continue

printf(“%d\t”j);

}

}

(2)计算100-300之间有多少个数,其各位数字之和为8。

#include

main()

{

inti,s,k,count=0;

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

{

s=0;

k=i;

while(k!

=0)

{

s=s+k%10;

k=k/10;

}

if(s!

=8)

continue;

else

{

count++;

printf(“%d%d\n”,count,i);

}

}

printf(“个数为:

%d\n”,count);

}

7)求Fibonacci数列的前20个数。

该数列的生成方法为:

F1=1,F2=1,Fn=Fn-1+Fn-2(n>=3),即从第3个数开始每个数等于前2个数之和。

(每行输出4个数)

main()

{

longf1,f2;

inti;

f1=f2=1;

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

{

printf("%12ld%12ld",f1,f2);

if(i%2==0)

printf("\n");

f1=f1+f2;

f2=f1+f2;

}

}

8)编程输出所有“水仙花数”:

所谓水仙花数是指一个三位十进制数,该数的各位数字立方之和,等于该数本身。

(例如,153是一个水仙花数,因为1*1*1+5*5*5+3*3*3=153)

#include

main()

{

inta,b,c,n=100;

for(n=100;n<=999&&n>=100;n++)

{

a=n/100;

b=n%100/10;

c=n%10;

if(n==a*a*a+b*b*b+c*c*c)

printf("%4d",n);

}

}

10)求满足条件1+2+3+……..n<1000的n的最大值.

main()

{

intn,sum;

n=sum=0;

for(;sum<1000;sum+=n)

n++;

printf("%d\n",n-1);

}

11)编写一个具有加、减、乘、除四则运算功能的程序,要求能反复多次操作,当输入“#”运算符时退出(switch—case语句应用)。

#include

main()

{

floatn1,n2,result;

charop;

charc=0;

while(c!

='#')

{

printf("如要计算请输入x,退出请输入#。

\n");

c=getch();

if(c=='x'||c=='X')

{

printf("请输入表达式:

\n");

scanf("%f%c%f",&n1,&op,&n2);

if(op=='+'||op=='-'||op=='*'||op=='/')

{

switch(op)

{

case'+':

result=n1+n2;break;

case'-':

result=n1-n2;break;

case'*':

result=n1*n2;break;

case'/':

result=n1/n2;break;

}

printf("%f%c%f=%f\n",n1,op,n2,result);

}

else

printf("输入错误\n");

}

elseif(c=='#')

exit(0);

else

printf("输入错误请重新输入\n");

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1