c语言经典题目带答案.docx
- 文档编号:8808786
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:24
- 大小:70.48KB
c语言经典题目带答案.docx
《c语言经典题目带答案.docx》由会员分享,可在线阅读,更多相关《c语言经典题目带答案.docx(24页珍藏版)》请在冰豆网上搜索。
c语言经典题目带答案
第1题:
输入3个整数,输出其中最大数。
样例输入:
132
样例输出:
3
第2题:
编写程序,输入一个数,判断其是否是3或7的倍数,分4种情况输出:
是3的倍数但不是7的倍数时输出1,不是3的倍数但是7的倍数时输出2,是3的倍数也是7的倍数时输出3,不是3的倍数也不是7的倍数时输出4。
样例输入:
21
样例输出:
3
第3题:
输入两个整数m和n,判断m能否被n整除,若不能整除,输出NO,否则输出YES。
样例输入:
63
样例输出:
YES
第4题:
有一分段函数如下,请编写程序,输入x值,输出y值。
样例输入:
-1
样例输出:
-1.84147
样例输入:
6.5
样例输出:
23204.8
样例输入:
12
样例输出:
0.048737
第5题:
输入一个正整数n,如果n能被3整除,则输出YES和n的立方,否则输出NO和n的平方。
样例输入:
3
样例输出:
YES 27
样例输入:
5
样例输出:
NO 25
第1题:
#include
intmain(void)
{floata,b,c;
cin>>a>>b>>c;
if(a>b&&a>c)
cout< elseif(b>a&&b>c) cout< elsecout< return0; } 第2题: #include intmain(void) {inta; cin>>a; if(a%3==0) {if(a%7==0)cout<<"3"; elsecout<<"1";} else {if(a%7==0)cout<<"2"; elsecout<<"4";} return0; } 第3题: #include intmain(void) {intm,n; cin>>m>>n; if(m%n==0) cout<<"YES"; elsecout<<"NO"; return0; } 第4题: #include #include intmain(void) {floatx,y; cin>>x; if(x<0) y=x*x+2/x+sin(x); elseif(x<10) y=2*pow(x,5)-cos(x); elsey=1/sqrt(3*x*x-11); cout< return0; } 第5题: #include intmain(void) {intn,pf,lf; cin>>n; if(n%3==0) {lf=n*n*n; cout<<"YES"<<""< else {pf=n*n; cout<<"NO"<<""< return0; } 第1题: 输入一行字符,以字符0作为结束标志,输出这行字符对应的ASCII码值之和。 样例输入: ABCDE0 样例输出: 335 第2题: 编写程序求能整除x且不是偶数的整数个数及其累加和,x由键盘输入。 样例输入: 6 样例输出: 24 第3题: 编写程序,从n个整数中找到最小的数并输出。 输入分2行: 第一行为n的值,第二行为n个整数。 样例输入: 5 15320 样例输出: 0 第4题: 求数列 输入正整数n和任意数x,计算该序列的前n项和。 样例输入: 50.5 样例输出: 1.39349 第5题: 将一笔钱(大于8分,小于1元,精确到分)换算成1分、2分和5分的硬币组合(1分、2分、5分的硬币均至少有1枚)。 输入整数金额(单位: 分),问有几种换算方法? 样例输入: 10 样例输出: 2 第1题: #include intmain(void) {charc; intsum=0; while((c=getchar())! ='0') sum+=c; printf("%d",sum); return0;} 第2题: #include intmain(void) {intx,gs=0,i,sum=0; cin>>x; for(i=1;i<=x;i++) {if(x%i==0&&i%2! =0) gs++,sum+=i;} cout< return0;} 第3题: #include intmain(void) {intn,i,x,min; cin>>n; cin>>x; min=x; for(i=2;i<=n;i++) {cin>>x; min=x x: min;} cout< return0;} 第4题: #include intmain(void) {intn,m=-1,q=1,i; floatx,sum=1.0,p=1.0,a; cin>>n>>x; for(i=1;i<=n;i++) {m=-m; p*=x; q*=i; a=m*p/q; sum=sum+a;} cout< return0;} 第5题: #include intmain(void) {intx,m,p,n,a,b,c,i=0; cin>>x; a=x-7; b=(x-6)/2; c=(x-3)/5; for(m=1;m<=a;m++) {for(n=1;n<=b;n++) {for(p=1;p<=c;p++) if(x==m+2*n+5*p)i++;} } cout< return0; } 第1题: 编写程序,将任意n个数按从大到小的顺序排序。 输入分2行: 第一行为n的值,第二行为n个数。 样例输入: 5 15320 样例输出: 53210 第2题: 编写程序求Fibonacci数列前n项和,n由键盘输入。 样例输入: 5 样例输出: 12 第3题: 编写程序,输出矩阵(3行3列)的左下三角。 样例输入: 123 456 789 样例输出: 1 45 789 第4题: 编写程序,输出n阶“魔方阵”。 “魔方阵”,又称“纵横图”、“幻方”,是由1到n2的自然数构成的矩阵,其每一行、每一列、主对角线、次对角线之和均相等。 n由键盘输入。 “魔方阵”可能存在多种变形,因此在形成“魔方阵”时请将1置于第一行,且第一行第一个数大于第一行最后一个数。 样例输入: 3 样例输出: 816 357 492 第5题: 编写程序,从键盘输入一任意字符串(不包含空格),然后输入所要查找字符。 如果存在则输出它在字符串中第一次出现的位置,否则输出NO。 样例输入: Helloa 样例输出: NO 样例输入: Hellol 样例输出: 2 第6题: 编写程序,将一个字符串首尾互换,并与原字符串连接后输出。 输入字符串(不包含空格),输出处理后的结果。 样例输入: china 样例输出: chinaanihc 第1题: #include intmain(void) {inta[50],i,w,k,n; cin>>n; cout< for(i=0;i cin>>a[i]; for(k=0;k {w=k; for(i=k+1;i if(a[i]>a[w])w=i; if(w! =k) {i=a[w]; a[w]=a[k]; a[k]=i;}} for(k=0;k cout< return0; } 第2题: #include intmain(void) {inta[50],i,n,t=2; cin>>n; a[0]=1; a[1]=1; for(i=2;i {a[i]=a[i-1]+a[i-2]; t+=a[i];} cout< return0;} 第3题: #include intmain(void) {inta[3][3],i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) cin>>a[i][j]; for(i=0;i<3;i++) {cout<<"\n"; for(j=0;j<=i;j++) cout< return0;} 第4题: #include intmain(void) {inta[50][50],i,h,l,n; cin>>n; h=1;l=n/2+1;a[h][l]=1; for(i=2;i<=n*n;i++) {if(i%n==1)h++; else {h--;l++; if(h==0)h=n; if(l==n+1)l=1;} a[h][l]=i;} for(h=1;h<=n;h++) {cout<<"\n"; for(l=1;l<=n;l++) cout< } 第5题: #include #include intmain(void) {chars[50],c; intl,i,flag=0; cin>>s>>c; l=strlen(s); i=0; while(i {if(c==s[i])flag=1; elsei++;} if(flag) cout< else cout<<"NO"; return0;} 第6题: #include #include intmain(void) {chars[40],c,t[40]; inta,b,l,i; gets(s); l=strlen(s); a=0,b=l-1; for(i=0;i t[i]=s[i]; while(a {c=t[a];t[a]=t[b];t[b]=c; a++; b--;} t[l]='\0'; i=0; while(t[i]! ='\0') {s[l]=t[i]; l++; i++;} s[l]='\0'; puts(s);} 第1题: 编写函数,求一个字符串的长度。 在主函数中调用该函数,输出结果。 输入字符串(允许包含空格),输出字符串的长度。 样例输入: HowAreYou? 样例输出: 12 第2题: 编写程序求 要求使用函数,函数功能是: 求f(x)。 n由键盘输入,输入输出均在主函数中完成。 样例输入: 5 样例输出: 10.4071 第3题: 求数列的前n项和 要求使用函数,函数功能是: 计算数列的每一项,n由键盘输入。 累加过程和输入输出均在主函数中完成。 样例输入: 50 样例输出: 1.96079 第4题: 编写程序完成进制转换,要求使用函数,函数功能是: 十进制转换为八进制,输入输出均在主函数中完成。 样例输入: 125 样例输出: 175 第5题: 将n个数输入到数组中,并输出。 要求输入分两行,第一行为n,第二行为n个数。 输出时一行输出5个数。 样例输入: 6 12346-1 样例输出: 12346 -1 第1题: #include intcd(chars[]) {inti=0; while(s[i]! ='\0')i++; returni;} intmain(void) {chars[50],c; intl; gets(s); l=cd(s); printf("%d",l); return0; } 第2题: #include floatf(floatx) {floatm; if(x==0||x==2) m=0; elseif(x>0) m=(x+1)/(x-2); elseif(x<0) m=(x-1)/(x-2); returnm;} intmain(void) {intn,i; floats=0; cin>>n; for(i=-n;i<=n;i++) s+=f(i); cout< return0;} 第3题: #include floata(intn) {floati,m=0; for(i=1;i<=n;i++) m+=i; m=1/m; returnm;} intmain(void) {intn,i; floats=0; cin>>n; for(i=1;i<=n;i++) s+=a(i); cout< return0;} 第1题: 输入三个数给a、b、c,然后交换,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a。 样例输入: 123 样例输出: 312 第2题: 给出百分制成绩,要求输出成绩等级: 90~100分为'A'、80~89分为'B'、70~79分为'C'、60~69分为'D'、0~60分为'E',若成绩大于100或者小于0,则提示“Error”。 样例输入: 105 样例输出: Error 样例输入: 95.5 样例输出: A 第3题: 求数列 输入正整数n和任意数x,计算该序列的前n项和。 样例输入: 50.5 样例输出: 1.39349 第4题: 编写程序,输入字符串(不包含空格),将字符串中的字符按ASCII码值从大到小排序后输出。 样例输入: China 样例输出: nihaC 第1题: #include intmain(void) {inta,b,c,t; cin>>a>>b>>c; t=c; c=b; b=a; a=t; cout< return0;} 第2题: #include intmain(void) {floatg; cin>>g; if(g<0||g>100)cout<<"Error"; elseif(g<60)cout<<"E"; elseif(g<70)cout<<"D"; elseif(g<80)cout<<"c"; elseif(g<90)cout<<"B"; elsecout<<"A"; return0; } 第3题: #include #include intmain(void) {intn,i,m; floatx,s=1,a,q,p; cin>>n>>x; m=-1,p=1;q=1; for(i=1;i<=n;i++) {m=-m; q*=x; p*=i; a=m*q/p; s+=a;} cout< return0;} 第4题: #include #include intmain(void) {chara[20]; inti,k,l,w; cin>>a; l=strlen(a); for(k=0;k<=l-2;k++) {w=k; for(i=k+1;i if(a[i]>a[w])w=i; if(w! =k) {i=a[w];a[w]=a[k];a[k]=i;}} for(i=0;i cout< return0;} 第1题: 古代数学问题"鸡兔同笼"。 鸡与兔共a只,鸡与兔的总脚数为b,输入a,b,求鸡兔各几只。 样例输入: 310 样例输出: 12 第2题: 输入一个字符,如果是大写字母则转换为对应的小写字母,如果是小写字母则转换为对应的大写字母,如果是数字字符则转换为对应的数值,如果都不是则不转换,将转换后的结果输出。 样例输入: A 样例输出: a 样例输入: 8 样例输出: 8 第3题: 求数列 计算该序列的前n项和,n由键盘输入。 样例输入: 2 样例输出: 0.5 第4题: 编写程序,将任意n个数按从大到小的顺序排序。 输入分2行: 第一行为n的值,第二行为n个数。 样例输入: 5 15320 样例输出: 53210 #include intmain(void) {intx,y,a,b; cin>>a>>b; x=(4*a-b)/2; y=(b-2*a)/2; cout< return0;} 第2题: #include #include intmain(void) {charc; cin>>c; if(c>='A'&&c<='Z') {c+=32; cout< elseif(c>='a'&&c<='z') {c-=32;putchar(c);} elseif(c>='0'&&c<='9') cout< elsecout< return0;} 第3题: #include intmain(void) {intn,i; floata,s=0.0,m=-1.0; cin>>n; for(i=1;i<=n;i++) {m*=(-1); a=m/i; s+=a;} cout< return0;} 第4题: #include intmain(void) {inta[50],n,w,k,i; cin>>n; for(i=0;i cin>>a[i]; for(k=0;k {w=k; for(i=w;i if(a[i]>a[w])w=i; if(w! =k) {i=a[w];a[w]=a[k];a[k]=i;}} for(i=0;i cout< return0;} 第1题: 输入一批整数(以零或负数为结束标志),求其中的素数之和。 样例输入: 1 234567890 样例输出: 17 第2题: 编写程序,输入字符串(不包含空格),删除其中的数字字符后输出。 样例输入: 2008China08 样例输出: China 第3题: 有一分段函数如下,请编写程序,输入x值,输出y值。 样例输入: -2 样例输出: 7 样例输入: 1 样例输出: 2 样例输入: 11 样例输出: 0.222681 第4题: 编写函数,功能是交换数组中的最大数和最小数的位置,并计算所有数之和。 例如数组a有5个元素3、4、1、5、2,将最大数5和最小数1的位置交换后得到3、4、5、1、2,总和为15。 程序中用到的主函数为: 第1题: #include intmain() {inta,s=0,i=0,j,t; do {cin>>a; t=a; for(j=2;j { if(a%j==0) {t=0; break;} } s=s+t; if(t==1) s=s-1; } while(a>0); s=s-a; cout< } 第2题: #include intmain() {chara[20]={0}; inti=0,j=0; cin>>a;while(a[i]! ='\0') i++; for(;j<=i-1;j++) {if(a[j]<48||a[j]>58) cout< } } 第3题: #include #include intmain() { floatx,y; cin>>x; if(x<=-1) y=3*pow((-x+2),0.5)+1; elseif(x<10) y=x*x*x*x*x+1; else y=pow((x+1)/(2*x*x),0.5); cout< } 第4题: /*��д�������ǽ��������е���������С���λ�ã�������������֮�͡� ��������a��5��Ԫ��3��4��1��5��2���������5����С��1��λ �ý�����õ�3��4��5��1��2���ܺ�Ϊ15���������õ���������Ϊ�� */ #include intfun(inta[50],intn) {inti,b=a[0],c=a[0],m=0,q=0,p,s=0; for(i=1;i {if(a[i]>b) {b=a[i]; q=i;}} for(i=1;i {if(a[i] {c=a[i]; m=i; } } p=a[q]; a[q]=a[m]; a[m]=p; for(i=0;i s=s+a[i]; returns; } intmain() {inta[50],n,i,sum; cin>>n; for(i=0;i cin>>a[i]; sum=fun(a,n); for(i=0;i cout< cout< return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 经典 题目 答案