天津工业大学计算机专业C语言经典笔记.docx
- 文档编号:9918117
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:20
- 大小:19.63KB
天津工业大学计算机专业C语言经典笔记.docx
《天津工业大学计算机专业C语言经典笔记.docx》由会员分享,可在线阅读,更多相关《天津工业大学计算机专业C语言经典笔记.docx(20页珍藏版)》请在冰豆网上搜索。
天津工业大学计算机专业C语言经典笔记
天津工业大学计算机专业C语言经典笔记
1.将一个二维数组的行和列的元素互换存到另一个数组里。
#include
main()
{inta[2][3]={{1,2,3},{4,5,6}};
intb[3][2],i,j;
printf("arraya:
\n");
for(i=0;i<=1;i++)
{for(j=0;j<=2;j++)
{printf("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("arrayb:
\n");
for(i=0;i<=2;i++)
{for(j=0;j<=1;j++)
printf("%5d",b[i][j]);
printf("\n");
}
}
2.利用冒泡法对输入的10整数进行从小到大排序。
#include
main()
{inta[10];
inti,j,t;
printf("inputnumbers:
\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
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("thesortednumbers:
\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
}
3.利用数组来处理求Fibonaai数列问题。
#include
main()
{inti;
intf[20]={1,1};
for(i=2;i<20;i++)
f[i]=f[i-1]+f[i-2];
for(i=0;i<20;i++)
{if(i%5==0)printf("\n");
printf("%12d",f[i]);
}
printf("\n");
}
4.求100-999之间的水仙花数。
#include
main()
{inti,k,m,n;
for(i=100;i<1000;i++)
{k=i%10;
m=i/10%10;
n=i/10/10;
if(i==k*k*k+m*m*m+n*n*n)
printf("%d\n",i);
}
}
5.求二维数组的最大值。
#include
main()
{inta[4][4];
inti,j;
intmax(inta[4][4]);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf("max=%d\n",max(a));
}
intmax(inta[4][4])
{inti,j,b;
b=a[0][0];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(a[i][j]>b)
b=a[i][j];
returnb;
}
6.求字符串逆序。
#include
main()
{inti,n;
chars[80],temp;
scanf("%s",s);
n=strlen(s);
for(i=0;i {temp=s[i];s[i]=s[n-1-i];s[n-1-i]=temp;} printf("%s\n",s); } 7.求字符串长度。 #include main() {chars[80]; intstr(char*s); scanf("%s",s); printf("thsstringnumberis: %d\n",str(s)); } intstr(char*s) {inti; for(i=0;s[i]! ='\0';i++); returni; } 8.写一函数,将两个字符串连接。 #include voidfun(chars[],chart[]) {inti=0,j=0; while(s[i])i++; while(t[j]) {s[i]=t[j];i++;j++;} s[i]='\0'; } main() {chars[80],t[80]; gets(s); gets(t); fun(s,t); printf("%s\n",s); } 9.求同时能被2、3、5、7整除的数(1-500)。 #include main() {inti; for(i=1;i<=500;i++) if(i%2==0&&i%3==0&&i%5==0&&i%7==0) printf("%d\n",i); } 10.求3-100的素数。 #include main() {inti,j,w; for(i=3;i<=100;i++) {w=0;j=2; do {if(i%j==0)w=1; j++; }while(j if(w==0)printf("%3d",i); } printf("\n"); } 11.回文数问题。 #include intfun(intn) {intn1,n2; n1=n;n2=0; while(n! =0) {n2=n2*10+n%10; n/=10; } if(n1==n2)return1; return0; } main() {intnum; scanf("%d",&num); if(fun(num))printf("yes\n"); elseprintf("no\n"); } 12.判断一个字符串是否为回文。 #include #include main() {intfunc(chars[]); charstr[100]; gets(str); if(func(str)==1)printf("yes! \n"); elseprintf("no! \n"); } intfunc(chars[]) {intl,i; l=strlen(s); for(i=0;i if(s[i]! =s[l-i-1])return0; return1; } 13.将字符串中的小写英文字母转换为大写英文字母。 #include char*p(char*s) {inti; for(i=0;s[i]! ='\0';i++) if(s[i]>='a'&&s[i]<='z') s[i]-=32; returns; } main() {chars[100]; gets(s); puts(p(s)); } 14.一维数组有10个元素,将其逆序存放。 #include main() {inta[10]={1,2,3,4,5,6,7,8,9,10},i,t; for(i=0;i<5;i++) {t=a[i];a[i]=a[10-i-1];a[10-i-1]=t;} for(i=0;i<10;i++) printf("a[%d]=%d\n",i,a[i]); } 15.输入两个整数m和n,求其最大公约数和最小公倍数。 #include main() {intm,n,p,r,t; scanf("%d%d",&m,&n); if(m>n){t=m;m=n;n=t;} p=m*n; while(m! =0) {r=n%m; n=m; m=r; } printf("%d,%d\n",n,p/n); } 16.用 /4≈1-1/3+1/5-1/7+…公式求 的近似值直到最后一项的绝对值小于10-6为止。 #include #include main() {inti=1,j=1; floatpi=0; while(fabs(1.0/i*j)>=0.000001) {pi+=1.0/i*j; i+=2; j=-j; } pi*=4; printf("pi=%f\n",pi); } 17.以下程序的功能是: 求斐波那契数列的: 1,1,2,3,5,8,………的前40个数,即 F1=1(n=1) F2=1(n=2) Fn=Fn-1+Fn-2(n>=3) #include main() {inti; longf1=1,f2=1; for(i=1;i<=20;i++) {printf("%12ld%12ld",f1,f2); if(i%2==1)printf("\n"); f1=f1+f2; f2=f2+f1; } } 18.求1! +2! +3! +4! +……20! #include main() {inti; floatt=1,s=0; for(i=1;i<=20;i++) {t*=i; s+=t; } printf("%f\n",s); } 19.以下程序的功能是: 输出以下图案 * *** ***** ******* ***** *** * #include main() {inti,j,k; for(i=1;i<=4;i++) {for(j=1;j<=4-i;j++) printf(""); for(k=1;k<=2*i-1;k++) printf("*"); printf("\n"); } for(i=3;i>=1;i--) {for(j=1;j<=4-i;j++) printf(""); for(k=1;k<=2*i-1;k++) printf("*"); printf("\n"); } } 20.求一个3×3的整型矩阵对角线之和 #include main() {inta[3][3],i,j,sum=0; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++) sum=sum+a[i][i]; printf("%d\n",sum); } 21.输出以下的杨辉三角的前10行 1 11 121 1331 14641 …………………………… ……………………………… #include main() {inta[10][10],i,j,t; for(i=0;i<10;i++) {a[i][0]=1;a[i][i]=1;} for(i=2;i<10;i++) for(j=1;j 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("%4d",a[i][j]); printf("\n"); } } 22.写一个判断素数的函数,在主函数中输入一个整数,输出是否是素数的信息。 #include intfun(intx) {inti,t=1; for(i=2;i if(x%i==0)t=0; returnt; } main() {intx; scanf("%d",&x); if(fun(x))printf("Yes\n"); elseprintf("No\n"); } 23.写一函数,使给定的一个二维整型数组数组(3×3)转置,即行列互换 #include voidfun(inta[3][3]) {inti,j,t; for(i=0;i<3;i++) for(j=0;j {t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;} } main() {inta[3][3]={1,2,3,4,5,6,7,8,9},i,j; fun(a); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("%3d",a[i][j]); printf("\n"); } } 24.利用递归方法求数组的最大值 intfun(inta[],intn) {intmax; if(n==1)max=a[0]; elsemax=fun(a,n-1);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 天津 工业大学 计算机专业 语言 经典 笔记
![提示](https://static.bdocx.com/images/bang_tan.gif)