C语言上机练习题Word文件下载.docx
《C语言上机练习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言上机练习题Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
if(n>
=10000&
&
n<
=99999)
ww=n/10000;
qw=n/1000%10;
bw=n/100%10;
sw=n/10%10;
gw=n%10;
printf("
Theoldnumberis:
%ld\n"
n);
Thenewnumberis:
%d%d%d%d%d\n"
gw,sw,bw,qw,ww);
elseif(n>
=1000&
=9999)
qw=n/1000;
bw=n/100%10;
sw=n/10%10;
gw=n%10;
%d%d%d%d\n"
gw,sw,bw,qw);
elseif(n>
=100&
=999)
bw=n/100;
%d%d%d\n"
gw,sw,bw);
elseif(n>
=10&
=99)
{
sw=n/10;
gw=n%10;
printf("
%d%d\n"
gw,sw);
}
elseprintf("
Theoldnumberequalsthenewnumber:
}
2.计算1+2+3…+n的值,n是从键盘输入的自然数。
/*Note:
YourchoiceisCIDE*/
intn,i;
longsum=0;
1+2+3+....+n\n"
Pleaseinputn:
%d"
for(i=1;
i<
=n;
i++)
{
sum+=i;
sum=%ld"
sum);
3.从终端(键盘)读入20个数据到数组中,统计其中正数的个数,并计算这些正数之和。
、
#defineN20
inta[N],i,sum=0,count=0;
Pleaseinputnumbers:
for(i=0;
N;
{scanf("
a[i]);
if(a[i]>
0)
{sum+=a[i];
count++;
}
count=%d,sum=%d"
count,sum);
4.从终端(键盘)将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中各元素的值。
#defineN5
{inta[N],b[N],i;
Pleaseinputnumbers:
{scanf("
b[N-i-1]=a[i];
}
\nTheoldnumbersare:
%-4d"
a[i]);
\nThenewnumbersare:
b[i]);
5.要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,每种面值至少1张,编程输出所有可能的换法,程序应适当考虑减少重复次数。
{inti,j,k,n;
=10;
for(j=1;
j<
=25;
j++)
for(k=1;
k<
=50;
k++)
for(n=1;
=100;
n++)
if(i*50+j*20+k*10+n*5==500)printf("
num50=%d,num20=%d,num10=%d,num5=%d\n"
i,j,k,n);
6.求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,n从键盘输入。
例如若n为1000时,函数值应为:
s=153.909064。
math.h"
{intn,s,i;
floatsum=0;
=0)
\nErrorinput.Retryplease:
n;
if(i%3==0&
i%7==0)
sum+=i;
Thenumberis:
%4.2f"
sqrt(sum));
7.一辆卡车违反交通规则,撞人后逃跑。
现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。
甲说:
牌照的前两位数字是相同的;
乙说:
牌照的后两位数字是相同的,但与前两位不同;
丙是数学家,他说:
四位的车号刚好是一个整数的平方。
请根据以上线索找出车号。
inti,qw,bw,sw,gw;
for(i=1122;
=9988;
{if(sqrt(i)!
=(int)sqrt(i))
continue;
qw=i/1000;
bw=i/100%10;
sw=i/10%10;
gw=i%10;
if(qw==bw&
sw==gw)
{
printf("
\nThenumberis:
%d\n"
i);
break;
}
}
8.输入1~10之间的一个数字,输出它对应的英文单词。
intn;
1||n>
10)
Errorinput!
Retryplease:
scanf("
switch(n)
case1:
printf("
One!
"
break;
case2:
Two!
case3:
Three!
case4:
Four!
case5:
Five!
case6:
Six!
case7:
Seven!
case8:
Eight!
case9:
Nine!
case10:
Ten!
}
9.个位数为6且能被3整除但不能被5整除的三位自然数共有多少个,分别是哪些?
inti,count=0;
for(i=106;
596;
i=i+10)
i%5!
count++;
count=%-4d"
count);
10.用自然语言描述程序逻辑如下,试写程序。
①设置环境;
②定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0;
③i=1;
④如果i≤100,则转⑤,否则转⑧;
⑤令s=0,求前i个自然数之和,并放于变量s之中;
⑥sum=sum+s;
⑦i增加1,转④;
8输出和sum,结束。
{
inti,j;
longs=0,sum=0;
1+1+2+1+2+3+1+2+3+4+....1+2+3+..+n\n"
i=1;
while(i<
=3)
s+=i;
sum+=s;
i++;
11.用自然语言描述的程序逻辑为:
②定义变量i、flag和password,并令flag=0,i=0;
③用户回答口令,将其赋于password变量;
④口令正确?
如果是,则flag=1,转⑥。
否则转⑤;
⑤回答三次口令了吗?
如果没有,计数器加1后(i++),转③,否则转⑥;
6根据flag之值输出相应信息。
string.h"
#defineN6
inti=0,flag=0;
charpassword[N];
Thepasswordis:
123456\n"
3)
gets(password);
if(strlen(password