首页 C语言经典题目

C语言经典题目

举报
开通vip

C语言经典题目C语言经典题目 1.将一个数组中的值按逆序重新存放。 #include #include int main() { int i,j,l,t; char a[10]; gets(a); l=strlen(a); for(i=0;i #include void main() { int change(int n); char a[5]; gets(a); int i,j=strlen(a),s=0,t; for(i=0,t=j;i='0'&&a[i]='A'&&a[i] #includ...

C语言经典题目
C语言经典题目 1.将一个数组中的值按逆序重新存放。 #include #include int main() { int i,j,l,t; char a[10]; gets(a); l=strlen(a); for(i=0;i #include void main() { int change(int n); char a[5]; gets(a); int i,j=strlen(a),s=0,t; for(i=0,t=j;i='0'&&a[i]<='9') s+=(a[i]-'0')*change(j-1); if(a[i]>='A'&&a[i]<='Z') s+=(a[i]-55)*change(j-1); } printf("%5d",s); } int change(int n) { int i,j=1; for(i=1;i<=n;i++) j*=16; return j; } 3.给出年、月、日,计算该日是该年的第几天。 #include #include void main() { int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int y,m,d,s=0,i; printf("Input the year,month,date:\n"); scanf("%d,%d,%d",&y,&m,&d); if((y%4==0&&y%100!=0)||y%400==0) a[2]++; for(i=1;i #include void main() { void ant(char a[],char b[]); char a[10],b[10]; scanf("%s",a); ant(a,b); printf("%s",b); } void ant(char a[],char b[]) { int i,n; n=strlen(a); for(i=0,n--;n>=0;i++,n--) b[i]=a[n]; b[i]='\0'; } 5.输出10行杨辉三角形。 #include int main() { int a[10][10]; int i,j; for(i=0;i<10;i++) for(j=0;j<10;j++) {if(j==0||j==i) a[i][j]=1; else a[i][j]=a[i-1][j]+a[i-1][j-1];} for(i=0;i<10;i++) {for(j=0;j<=i;j++) printf("%5d",a[i][j]); printf("\n");} } 6.用牛顿迭代法求方程的根。 #include #include void main() { float a,b,c,d; float f,f1,x,x1; float slt(float a,float b,float c,float d); printf("Input the numbers:\n"); scanf("%f,%f,%f,%f",&a,&b,&c,&d); x=slt(a,b,c,d); printf("The solution is %5.4f.\n",x); } float slt(float a,float b,float c,float d) { float f,f1,x,x1; x=1.5; do{ x1=x; f=((a*x1+b)*x1+c)*x1+d; f1=(3*a*x1+2*b)*x1+c; x=x-f/f1;} while(fabs(x-x1)>1e-5); return x; } 7.给出一个不多于5位的正整数, 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 :求出它是几位数,分别输出每一位数字,按逆序输出各位数字。 #include int main() { int m,n,t,a,b,c,d,e; printf("Input the number:\n"); scanf("%d",&m); if(m<10) printf("single digit\n"); else if(m<100) printf("tens digit\n"); else if(m<1000) printf("hunds digit\n"); else if(m<10000) printf("thouds digit\n"); else printf("tens thouds digit\n"); n=m/100000,d=m/10000,c=m/1000,b=m/100,a=m/10,e=m%10; if(a==0) printf("%d",m); else if(b==0) {t=10*e+a;printf("%d",t);} else if(c==0) { else if(d==0) {t=1000*e+100*(a-10*b)+10*(b-10*c)+c;printf("%d",t);} else if(n==0) {t=10000*e+1000*(a-10*b)+100*(b-10*c)+10*(c-10*d)+d;printf("%d",t);} } 8.输入两个正整数m和n,求其最大公约数和最小公倍数。 #include void main() { int m,n,a,b; int cd(int m,int n); printf("Input the numbers:\n"); scanf("%d,%d",&m,&n); a=cd(m,n),b=m*n/a; printf("%d,%d\n",a,b); } int cd(int m,int n) { int t; while(m%n!=0) {t=m,m=n,n=t%n; } return n; } 9.输出n阶魔方阵。(n为奇数) #include void main() { int a[50][50]; int i,j,k,n; scanf("%d",&n); for(i=1;i<=n;i++) for(j=1;j<=n;j++) a[i][j]=0; j=n/2+1; a[1][j]=1; for(k=2;k<=n*n;k++) { i--,j++; if((i<1)&&(j>n)) {i+=2,j--;} else {if(i<1) i=n; if(j>n) j=1;} if(a[i][j]==0) a[i][j]=k; else {i+=2,j--,a[i][j]=k;} } for(i=1;i<=n;i++) {for(j=1;j<=n;j++) printf("%3d",a[i][j]); printf("\n");} } 10.用选择法对十个整数排序。 #include int main() { int i,j,t,a[10]; printf("Input the numbers:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); for(j=0;j<9;j++) for(i=0;i<9-j;i++) if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t;} printf("The sorted numbers:\n"); for(i=0;i<10;i++) printf("%5d",a[i]); } 11.输入星型图案。 #include void main() { int i,j; for(i=1;i<5;i++) { for(j=0;j<=3-i;j++) printf(" "); for(j=0;j<2*i-1;j++) printf("*"); printf("\n"); } for(i=3;i>0;i--) { for(j=0;j<=3-i;j++) printf(" "); for(j=0;j<2*i-1;j++) printf("*"); printf("\n"); } } 12.十进制数转换成任意进制数(2、8、16) #include void main() {int changeB(int n); int changeO(int n); int changeH(int n); int i,m,n; scanf("%d,%d",&m,&n); if(n==2) changeB(m); else if(n==8) changeO(m); else if(n==16) changeH(m); } int changeB(int n) { int i=0,j,k,a[10]; while(n) { a[i]=n%2; n=n/2; i++; } for(j=i-1;j>=0;j--) printf("%d",a[j]); } int changeO(int n) { int i=0,j,k,a[10]; while(n) { a[i]=n%8; n=n/8; i++; } printf("O"); for(j=i-1;j>=0;j--) printf("%d",a[j]); } int changeH(int n) { int i=0,j,k,a[10]; char Hen[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; while(n>0) {a[i]=n%16; n=n/16; i++; } printf("Ox"); for(j=i-1;j>=0;j--) printf("%c",Hen[a[j]]); } 13.任意进制数转换成十进制数。 二进制 #include #include void main() {int power(int n); char a[10]; gets(a); int i,j,l,s=0; j=strlen(a); for(i=0,l=j;i #include void main() {int pow char a[10]; gets(a); int i,j,l,s=0; j=strlen(a); for(i=0,l=j;i #include int main() { int change(int n); char a[5]; gets(a); int i,j=strlen(a),s=0,t; for(i=0,t=j;i='0'&&a[i]<='9') s+=(a[i]-'0')*change(j-1); if(a[i]>='A'&&a[i]<='Z') s+=(a[i]-55)*change(j-1); } printf("%5d",s); } int change(int n) { int i,j=1; for(i=1;i<=n;i++) j*=16; return j; } 14.编写一个程序,将两个字符串连接起来,不使用strcat函数。 #include void main() {char str1[20],str2[20]; gets(str1),gets(str2); int i=0,j=0; while (str1[i]) i++; while (str2[j]) str1[i++]=str2[j++]; str1[i]='\0'; printf("%s\n",str1); } 15.输出1000以内的所有完数。 #include void main() { int i,j,k,s; for(i=2;i<1000;i++) {s=0; for(j=1;j<=i/2;j++) {if(i%j==0) s+=j;} if(s==i) {printf("\n%5d\n",i); for(j=1;j<=i/2;j++) if(i%j==0) printf("%5d",j); } } } 16.编程实现输入一个数组,使最大的数与第一个元素交换,最小的数与最后一个元素交换, 并输出数组(用指针的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ) 不使用指针: #include void main() { int a[10],i,j,m,n,k,l,t; for(i=0;i<10;i++) scanf("%d",&a[i]); k=l=0,m=a[0],n=a[9]; for(i=1;i<10;i++) {if(a[i]>m) m=a[i],k=i; else if(a[i] void main() {void max_min(int *a); void output(int *a); int a[10],i; for(i=0;i<10;i++) scanf("%d",&a[i]); max_min(a); output(a); } void max_min(int *a) { int *m,*n,*p,*t,k,l; p=a,t=a+10,m=&a[0],n=&a[9]; for(p=a+1;p*m) m=p ; else if(*p<*n) n=p;} k=*m,l=*n; *p=a[0],a[0]=k,k=*p; *p=a[9],a[9]=l,l=*p; return ; } void output(int *a) { int *p; for(p=a;p void main() {void move(int *a,int n,int m); int a[100],m,n,i; scanf("%d,%d",&n,&m); for(i=0;i0;i--) {*p=*(p-1);p--;} *a=arr; } } 18.求0—7所能组成的奇数个数。 #include void main() {int i,j,k,s,sum=0,a[9]; a[1]=4,a[2]=28; for(i=3;i<=8;i++) {k=1,s=4; for(j=1;j<=i-2;j++) k*=8; s*=k*7; a[i]=s; } for(i=1;i<=8;i++) sum+=a[i]; printf("%d",sum); } 19.验证#include #include void main() { int a,b,c,d; scanf("%d",&a); for(b=3;b<=a/2;b+=2) { for(c=2;c<=sqrt(b);c++) if(b%c==0) break; if(c>sqrt(b)) d=a-b; else break; for(c=2;c<=sqrt(d);c++) if(d%c==0) break; if(c>sqrt(d)) printf("%d=%d+%d\n",a,b,d); } }
本文档为【C语言经典题目】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_633423
暂无简介~
格式:doc
大小:37KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-10-11
浏览量:16