C语言上机练习题.docx
- 文档编号:938821
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:27
- 大小:22.84KB
C语言上机练习题.docx
《C语言上机练习题.docx》由会员分享,可在线阅读,更多相关《C语言上机练习题.docx(27页珍藏版)》请在冰豆网上搜索。
C语言上机练习题
1.输入一个不超过五位的正整数,输出其逆数。
例如输入12345,输出应为54321。
#include"stdio.h"
main()
{
longn;
intww,qw,bw,sw,gw;
printf("Pleaseinput:
\n");
scanf("%ld",&n);
while(n<=0||n>99999)
{
printf("\nThenumberistoolittleortoolarge.Retryplease!
\n");
scanf("%ld",&n);
}
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);
printf("Thenewnumberis:
%d%d%d%d%d\n",gw,sw,bw,qw,ww);
}
elseif(n>=1000&&n<=9999)
{
qw=n/1000;
bw=n/100%10;
sw=n/10%10;
gw=n%10;
printf("Theoldnumberis:
%ld\n",n);
printf("Thenewnumberis:
%d%d%d%d\n",gw,sw,bw,qw);
}
elseif(n>=100&&n<=999)
{
bw=n/100;
sw=n/10%10;
gw=n%10;
printf("Theoldnumberis:
%ld\n",n);
printf("Thenewnumberis:
%d%d%d\n",gw,sw,bw);
}
elseif(n>=10&&n<=99)
{
sw=n/10;
gw=n%10;
printf("Theoldnumberis:
%ld\n",n);
printf("Thenewnumberis:
%d%d\n",gw,sw);
}
elseprintf("Theoldnumberequalsthenewnumber:
%ld",n);
}
2.计算1+2+3…+n的值,n是从键盘输入的自然数。
/*Note:
YourchoiceisCIDE*/
#include"stdio.h"
main()
{
intn,i;
longsum=0;
printf("1+2+3+....+n\n");
printf("Pleaseinputn:
\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=i;
}
printf("sum=%ld",sum);
}
3.从终端(键盘)读入20个数据到数组中,统计其中正数的个数,并计算这些正数之和。
、
/*Note:
YourchoiceisCIDE*/
#include"stdio.h"
#defineN20
main()
{
inta[N],i,sum=0,count=0;
printf("Pleaseinputnumbers:
\n");
for(i=0;i {scanf("%d",&a[i]); if(a[i]>0) {sum+=a[i]; count++; } } printf("count=%d,sum=%d",count,sum); } 4.从终端(键盘)将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中各元素的值。 /*Note: YourchoiceisCIDE*/ #include"stdio.h" #defineN5 main() {inta[N],b[N],i; printf("Pleaseinputnumbers: \n"); for(i=0;i {scanf("%d",&a[i]); b[N-i-1]=a[i]; } printf("\nTheoldnumbersare: \n"); for(i=0;i printf("%-4d",a[i]); printf("\nThenewnumbersare: \n"); for(i=0;i printf("%-4d",b[i]); } 5.要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,每种面值至少1张,编程输出所有可能的换法,程序应适当考虑减少重复次数。 /*Note: YourchoiceisCIDE*/ #include"stdio.h" main() {inti,j,k,n; for(i=1;i<=10;i++) for(j=1;j<=25;j++) for(k=1;k<=50;k++) for(n=1;n<=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。 /*Note: YourchoiceisCIDE*/ #include"stdio.h" #include"math.h" main() {intn,s,i; floatsum=0; printf("Pleaseinputn: \n"); scanf("%d",&n); while(n<=0) { printf("\nErrorinput.Retryplease: \n"); scanf("%d",&n); } for(i=1;i if(i%3==0&&i%7==0) sum+=i; printf("Thenumberis: %4.2f",sqrt(sum)); } 7.一辆卡车违反交通规则,撞人后逃跑。 现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。 甲说: 牌照的前两位数字是相同的;乙说: 牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说: 四位的车号刚好是一个整数的平方。 请根据以上线索找出车号。 /*Note: YourchoiceisCIDE*/ #include"stdio.h" #include"math.h" main() { inti,qw,bw,sw,gw; for(i=1122;i<=9988;i++) {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之间的一个数字,输出它对应的英文单词。 /*Note: YourchoiceisCIDE*/ #include"stdio.h" main() { intn; printf("Pleaseinputn: \n"); scanf("%d",&n); while(n<1||n>10) { printf("Errorinput! Retryplease: \n"); scanf("%d",&n); } switch(n) { case1: printf("One! ");break; case2: printf("Two! ");break; case3: printf("Three! ");break; case4: printf("Four! ");break; case5: printf("Five! ");break; case6: printf("Six! ");break; case7: printf("Seven! ");break; case8: printf("Eight! ");break; case9: printf("Nine! ");break; case10: printf("Ten! ");break; } } 9.个位数为6且能被3整除但不能被5整除的三位自然数共有多少个,分别是哪些? /*Note: YourchoiceisCIDE*/ #include"stdio.h" main() { inti,count=0; for(i=106;i<596;i=i+10) { if(i%3==0&&i%5! =0) { printf("%-4d",i); count++; } } printf("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,结束。 /*Note: YourchoiceisCIDE*/ #include"stdio.h" main() { inti,j; longs=0,sum=0; printf("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++; } printf("sum=%ld",sum); } 11.用自然语言描述的程序逻辑为: ①设置环境; ②定义变量i、flag和password,并令flag=0,i=0; ③用户回答口令,将其赋于password变量; ④口令正确? 如果是,则flag=1,转⑥。 否则转⑤; ⑤回答三次口令了吗? 如果没有,计数器加1后(i++),转③,否则转⑥; 6根据flag之值输出相应信息。 /*Note: YourchoiceisCIDE*/ #include"stdio.h" #include"string.h" #defineN6 main() { inti=0,flag=0; charpassword[N]; printf("Thepasswordis: 123456\n"); while(i<3) { gets(password); if(strlen(password
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 练习题