北工大C语言题库完美版Word格式.docx
- 文档编号:19801036
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:61
- 大小:32.11KB
北工大C语言题库完美版Word格式.docx
《北工大C语言题库完美版Word格式.docx》由会员分享,可在线阅读,更多相关《北工大C语言题库完美版Word格式.docx(61页珍藏版)》请在冰豆网上搜索。
time2=time2/100*60+time2%100;
hours=(time2-time1)/60;
mins=(time2-time1)%60;
Thetrainjourneytimeis%dhrs%dmins.\n"
hours,mins);
5大写字母转换成小写字母
输入一个大写英文字母,输出相应的小写字母.例:
输入G输出g
intmain()
charch;
%c"
ch);
ch=ch-'
A'
+'
a'
;
printf("
%c\n"
ch);
6显示两级成绩
输入一个正整数repeat(0<
repeat<
10),做repeat次下列运算:
输入一个学生的数学成绩,如果它低于ω,输出"
Fail"
,否则,输出"
Pass"
.
intmark;
%d"
mark);
if(mark>
59)
Pass\n"
);
else
Fail\n"
7找最小值
inta,b,c,d,min;
%d%d%d%d"
b,&
c,&
d);
min=a;
if(min>
b)min=b;
c)min=c;
d)min=d;
minis%d\n"
min);
8求三角形面积和周长
输入三角形的三条边a,b,c.如果能构成一个三角形,输出面积area和周长perimete保留2位小数);
否则,输出(Thesesidesdonotcorrespondtoavalidtriangle"
.在一个三角形中,任意两边之和大于第三边.
intmain()
floata,b,c,area,perimeter,s;
scanf("
%f%f%f"
c);
if(a+b>
c&
&
a-b<
c)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
perimeter=a+b+c;
printf("
area=%f"
area);
perimeter=%f"
perimeter);
Thesesidesdonotcorrespondtoavalidtriangle"
9判断数的符号
输入整数x,若x大于0,y=l;
若x等于0,y=0;
否则,y=-I,最后输出y
intx,y;
if(x<
0)y=-1;
elseif(x>
0)y=1;
elsey=0;
y=%d\n"
y);
10显示水果价格
以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤,10.20元/公斤.[1]apples[2]pears[3]oranges[4]grapes输入水果的编号,输出该水果的单价(保留2位小数).如果输入不正确的编号,显示单价为0.
intmain()
intchoice;
floatprice;
[1]apples\n"
[2]pears\n"
[3]oranges\n"
[4]grapes\n"
choice);
price=(choice==1)*3+(choice==2)*2.50+(choice==3)*4.1+(choice==4)*10.2;
price=%0.2f\n"
price);
11读入1个正整数n(n<
=100),计算并输出1+1/2+1/3+......+1/n(保留3位小数).
inti,n;
floatsum;
n);
sum=0;
for(i=1;
i<
=n;
i++)
sum=sum+1.0/i;
%0.3f\n"
12求n的阶乘
inti,n;
doublefact;
fact=1;
fact=fact*i;
%0.0f\n"
fact);
13求X的n次幂
doublex,mypow;
%lf%d"
x,&
mypow=1;
for(i=1;
i++)
mypow*=x;
%.2f\n"
mypow);
14摄氏华氏转换表
intmain()
intbegin,c,end,f;
scanf("
%d%d"
begin,&
end);
CelsiusFahrenheit\n"
for(c=begin;
c<
=end;
c++)
f=32+c*9/5;
printf("
%d%10d\n"
c,f);
}
15求整数的位数以及各位数之和
intnumber,sum;
longin;
in);
number=0;
sum=0;
if(in<
0)in=-in;
do
number++;
sum+=(in%10);
while((in/=10)!
=0);
number=%d,sum=%d\n"
number,sum);
16求最大值
inti,max,n,x;
if(i==1)max=x;
max)max=x;
%d\n"
max);
17求a+aa+aaa+aa....a
voidmain()
longinta,sn,tn;
%ld%d"
tn=a;
sn=0;
for(i=1;
sn+=tn;
tn=10*tn+a;
%ld\n"
sn);
18输入1个正整数n,计算s的前n项的和(保留4位小数)。
floats,t;
s=0;
t=1;
t=t*1.0/i;
s=s+t;
%0.4f\n"
s);
19求奇数和
inti,n,x,sum;
输入数字个数:
"
i=1;
输入数字:
while(i<
=n)
i++;
if(x%2!
=0)
sum=sum+x;
sum=%d\n"
sum);
20统计素数并求和输入2个正整数m和n(1<
=m,n<
=5ω),统计并输出m和n之间的素数的个数以及这些素数的和。
intcount,digit,i,j,k,m,n,sum;
m,&
count=0;
if(m<
2)m=2;
for(digit=m;
digit<
digit++)
j=sqrt(double(digit));
boolisPrime=true;
for(k=2;
k<
=j;
++k)
if(digit%k==0)
isPrime=false;
break;
if(isPrime)
count++;
sum+=digit;
count=%d,sum=%d\n"
count,sum);
22输入1个正整数n,计算s的前n项的和(保留4位小数)。
s=1+J/2!
+....+l/n!
要求定义并调用函数fact(n)计算n的阶乘.
doubles;
doublefact(intn);
s+=fact(i);
%0.4f\n"
doublefact(intn)
intj,t=1;
doublex;
for(j=1;
j<
j++)
t*=j;
x=1.0/t;
return(x);
23统计一个整数中数字的个数
读入1个整数,统计并输出该数中2的个数。
要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字digit的个数.例如,countdigit(l0090,0)的返回值是3.
#include<
intcount;
intcountdigit(longnumber,intdigit);
%ld"
count=countdigit(in,2);
count=%d\n"
count);
intcountdigit(longnumber,intdigit)
inti,sum;
if(number<
0)
number=-number;
while(number!
i=number;
if(i%10==2)sum++;
number=number/10;
return(sum);
24输入2个正整数m和n(I<
=01,n<
=10000),输出m和n之间所有的Fibonacci数..Fibonacci序列(第1项起):
1123581321..…•要求定义并调用fib(n)时,它的功能是返回第n项目Fibonacci数.
intfib(intn);
inti,n,m,t;
请输入mn:
for(i=1;
t=fib(i);
if(t>
=m&
t<
=n)
%d\n"
t);
elseif(t>
n)break;
\n"
intfib(intn)
if(n==1||n==2)
return1;
elsereturn
fib(n-1)+fib(n-2);
25将一个整数逆序输出输入一个整
数,将它逆序输出.要求定义并调用
函数reverse(number),它的功能是返回number的逆序数.
intin,res;
intreverse(intnumber);
res=reverse(in);
res);
intreverse(intnumber)
intx=0;
while(number!
x=x*10+number%10;
number=number/10;
}
26十进制转换二进制输入1个正
整数n,将其转换为二进制后输出.要求定义并调用函数dectobin(n),它的功能是输出n的二进制
voiddectobin(intn);
dectobin(n);
voiddectobin(intn)
if(n>
1)
dectobin(n/2);
n%2);
27统计素数并求和输入2个正整数m和n(1<
=500),统计并输出m和n之间的素数的个数以及这些素数的和(素数就是只能被1和自身整除的正整数,1不是素数,2是素数).要求定义并调用函数primc(m)判断m是否为素数。
{
intcount,i,m,n,sum;
intprime(intm);
for(i=m;
if(prime(i))
count++;
sum+=i;
count=%d,sum=%d\n"
count,sum);
intprime(inti)
intflag,j;
if(i==1)
flag=0;
elseif(i==2)
flag=1;
for(j=2;
i;
if(i%j==0)
flag=0;
break;
elseflag=1;
return(flag);
28求完数输入2个正整数m和n(I<
=1000),输出m到n之间的所有完数〈完数就是因子和与它本身相等的数〉要求定义并调用函数factorsum(number)
longi,m,n;
longfactorsum(longnumber);
if(factorsum(i)==i)
%ld\n"
i);
longfactorsum(longnumber)
intj,sum=0;
number;
if(number%j==0&
number!
=j)
sum+=j;
return(sum);
30交换最小值和最大值输入一个正整数n(1<
n<
=I0),再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。
intn,i,j,k,temp1=0,temp2=0,min=0,max=0,a,b;
intq[10];
scanf("
for(i=0;
n;
q[i]);
min=q[0];
for(j=0;
if(q[j]<
=min)
{
temp1=j;
min=q[j];
}
max=q[0];
for(k=0;
k<
k++)
if(q[k]>
max)
temp2=k;
max=q[k];
a=q[0];
b=q[n-1];
q[n-1]=max;
q[0]=min;
q[temp1]=a;
q[temp2]=b;
for(intz=0;
z<
z++)
q[z]);
return0;
31输入2个正整数m和n(1<
=1000),输出m到n之间的所有满足各位数字的立方和等于它本身的数
inti,m,n;
intis(intnumber);
if(is(i));
elseprintf("
%d\t"
intis(intnumber)
inttemp,digit,sum,flag;
temp=number;
digit=number%10;
sum=sum+digit*digit*digit;
number=number/10;
if(sum==temp)
return(flag);
32输入一个正整数repeat(0<
I0),做repeat次下列运算:
输入一个正整
数n(0<
=9)和一组(n个)有序的整数,再输入一个整数x,把x插入到这组数据中,使该组数据仍然有序
intmain(void)
inti,j,n,x;
intrepeat,ri;
inta[20];
输入执行次数:
repeat);
for(ri=1;
ri<
=repeat;
ri++)
输入整数个数:
for(i=0;
输入整数:
scanf("
a[i]);
x="
i=n-1;
while(i>
=0&
x<
=a[i])
a[i+1]=a[i];
a[i]=x;
i--;
n+1;
a[i]);
putchar('
\n'
33.输入1个正整数n(1<
=10),再输入n个整数,输出平均值〈保留2位
小数〉。
inti,n,sum;
inta[20];
doubleaver;
sum=sum+a[i];
aver=sum*(1.0/n);
average=%.2f\n"
aver);
34输入一个正整数n(1<
=10),再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。
i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北工大 语言 题库 完美