上机考试及题集.docx

上传人:b****5 文档编号:3162413 上传时间:2022-11-18 格式:DOCX 页数:35 大小:34.13KB
下载 相关 举报
上机考试及题集.docx_第1页
第1页 / 共35页
上机考试及题集.docx_第2页
第2页 / 共35页
上机考试及题集.docx_第3页
第3页 / 共35页
上机考试及题集.docx_第4页
第4页 / 共35页
上机考试及题集.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

上机考试及题集.docx

《上机考试及题集.docx》由会员分享,可在线阅读,更多相关《上机考试及题集.docx(35页珍藏版)》请在冰豆网上搜索。

上机考试及题集.docx

上机考试及题集

1.利用异或运算对输入的文本进行加密解密输出,用户输入一个文本(字符串,设不超过20个字符),然后输入作为密钥的字符,程序输出加密及解密的字符串。

#include

intmain(){

chara[21],b,key;

printf("请输入字符串和密匙:

\n");

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

inti;

for(i=0;a[i]!

=0;i++);

a[i]=a[i]^b;

printf("加密后:

\n");

for(i=0;a[i]!

=0;i++)

printf("%c",a[i]);

printf("\n请输入密码:

\n");

scanf("%s",&key);

for(i=0;a[i]!

=0;i++)

a[i]=a[i]^key;

for(i=0;a[i]!

=0;i++)

printf("%c",a[i]);

}

2.编写一个程序,用户输入年份及月份两个数据,程序输出该月份的天数。

(提示:

对2月要考虑是否闰年,闰年年份要么能被4整除且不能被100整除,要么能被400整除,除此之外都不是闰年)。

#include

intmain(){

intyear,month;

intn;

printf("请输入年份:

\n");

scanf("%d",&year);

printf("请输入月份:

\n");

scanf("%d",&month);

if(month<1||month>12)

printf("不存在的月份!

");

else{

if(month==2){

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

=0||year%400==0)

n=29;

else

n=28;

}

elseif(month==4||month==6||month==9||month==11)

n=30;

else

n=31;

printf("这个月有%d天",n);

}

}

3.某大桥按不同型号征收车辆过桥费:

自行车免费,摩托车2元,小汽车5元,大客车与货车8元,货柜车12元。

编写一个程序,按车辆的不同型号计算通过该大桥应征的过桥费。

(提示:

可以用整数对不同型号的车辆进行编码)

#include

voidmain(){

inti,x;

printf("请选择车型:

1自行车2摩托车3小汽车4大客车5货车5货柜车\n");

scanf("%d",&i);

switch(i){

case1:

x=0;break;

case2:

x=2;break;

case3:

x=5;break;

case4:

x=8;break;

case5:

x=12;

}

printf("该车应交的过桥费是%d元",x);

}

4.输入一位同学的考试成绩,若是90~100分,输出“Excellent”,80~89输出“Verygood”,70~79输出“Good”,60~69输出“Pass”,60分以下输出“NoPass”。

#include

voidmain(){

intx;

printf("请输入一位同学的成绩\n");

scanf("%d",&x);

if(x>=0&&x<=100){

if(x<60)

printf("NoPass\n");

if(x>=60&&x<=69)

printf("Pass\n");

if(x>=70&&x<=79)

printf("Good\n");

if(x>=80&&x<=89)

printf("Verygood\n");

if(x>=90&&x<=100)

printf("Excellent\n");

}elseprintf("输入错误\n");

}

 

5.旅行社的订票量小于10张时,航空公司给予10%的折扣;订票量大于或等于10张且小于20张时,航空公司给予15%的折扣;订票量大于或等于20张且小于30张时,航空公司给予30%的折扣;订票量大于或等于30张时,航空公司给予最高的45%的折扣。

编程输入订票张数及单张机票票价,程序输出折扣率及应付款额。

#include

voidmain(){

intx,y;

floati,j;

printf("请输入订票张数\n");

scanf("%d",&x);

printf("请输入单张机票票价\n");

scanf("%d",&y);

if(x<10){

i=0.10;

j=0.90*x*y;

}if(x>=10&&x<20){

i=0.15;

j=0.85*x*y;

}if(x>=20&&x<30){

i=0.30;

j=0.70*x*y;

}if(x>=30){

i=0.45;

j=0.55*x*y;

}printf("您享受的折扣是%0.2f",i);

printf("您需要花费%0.2f元",j);

}

 

6.用户输入一个整数流(输入1000表示数据输入结束),如

411306-51-17-12190100

编写程序统计输入流中-1、0和+1的个数。

#include

intmain(){

ints,yi=0,ling=0,fuyi=0;

printf("输入你的整数流(输入1000以结束):

\n");

scanf("%d",&s);

while(s!

=1000){

if(s==1)

yi=yi+1;

elseif(s==0)

ling=ling+1;

elseif(s==-1)

fuyi=fuyi+1;

scanf("%d",&s);

}

printf("数字1的个数:

%d\n",yi);

printf("数字0的个数:

%d\n",ling);

printf("数字-1的个数:

%d\n",fuyi);

}

7.编写一个程序,求一个自然数中含有多少个2的因子。

如,6含1个2的因子,8含3个2的因子,11不含2的因子。

(提示,程序应检查用户输入的合法性)。

#include

intmain(){

intu,g=0,h;

printf("输入一个自然数:

\n");

scanf("%d",&u);

if(u<=0)

printf("亲,是自然数呦");

else{

h=u;

while(u%2==0){

g=g+1;

u=u/2;

}

printf("自然数%d有%d个2的因子",h,g);

}

}

8.编写一个程序解决爱因斯坦台阶问题:

有人走以台阶,若以每步走2级则最后剩1级;若每步走3级则最后剩2级;若以每步走4级则最后剩3级;若以每步走5级则最后剩4级;若以每步走6级则最后剩5级;若以每步走7级则最后刚好不剩。

问台阶共有几级?

#include

voidmain(){

intx=10;

while(!

(x%7==0&&(x-5)%6==0&&(x-4)%5==0&&(x-3)%4==0&&(x-2)%3==0&&(x-1)%2==0))

x=x+1;

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

}

 

9.公鸡5元1只,母鸡3元1只,小鸡1元3只,花了100元钱买100只鸡,问公鸡、母鸡、小鸡各多少只?

#include

main(){

intc,v,b;

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

for(v=0;v<=33;v++)

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

if(c+v+3*b==100)

if(5*c+3*v+b==100){

printf("公鸡有%d只\n",c);

printf("母鸡有%d只\n",v);

printf("小鸡有%d只\n\n",3*b);

}

}

10.编程实现解决下述问题的算法:

一位顾客在购物时,如果买4个苹果剩下4角钱.如果买5个苹果则缺5角钱,请问,该顾客带了多少钱?

多少钱可以买一个苹果?

#include

main(){

intprice,wallet=5,yuan,jiao;

while((4*price+4)!

=(5*price-5)){

price++;

}

wallet=4*price+4;

yuan=wallet/10;

jiao=wallet-10*yuan;

printf("该顾客带了%d元%d角钱\n"

"一个苹果%d角钱\n",yuan,jiao,price);

}

11.编写程序.计算100之内可以被13整除的自然数之和。

#include

main(){

intk,sum=0;

for(k=12;k<100;k++)

if(k%13==0)

sum=sum+k;

printf("100之内可以被13整除的自然数之和为:

\n%d",sum);

}

12.键盘输入m和n(10

#include

main(){

intn,m,p,r=0,flage,f;

printf("输入n(10<=n<32000):

\n");

scanf("%d",&n);

printf("输入m(n

\n");

scanf("%d",&m);

for(p=n;p<=m;p++){

flage=true;

for(f=2;f

if(p%f==0)

flage=false;

if(flage){

r++;

printf("%d",p);

}

if(r==8){

printf("\n");

r=0;

}

}

}

13.编写程序打印乘法口诀表。

#include

voidmain(){

inti,j;

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

printf("%4d",i);

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

printf("%4d",i*j);

printf("\n");}

printf("%4c",'*');

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

printf("%4d",i);

printf("\n");

}

14.编程实现求解最大公约数的欧几里德算法,用户输入两个任意正整数,程序输出他们的最大公约数。

算法如下:

步骤1:

如果p

步骤2:

令r是p/q的余数。

步骤3:

如果r=0,则令g=q并终止;

否则令p=q,q=r并转向步骤2

#include

voidmain(){

intp,q,r=1,g,m;

printf("请输入两个正整数:

\n");

scanf("%d%d",&p,&q);

if(p

m=p;

p=q;

q=m;

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

当前位置:首页 > 幼儿教育 > 少儿英语

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

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