1、C语言必背18个经典程序 1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/ #include "stdio.h" main() {int i,j,result; for (i=1;i<10;i++) { for(j=1;j<10;j++) { result=i*j; printf("%d*%d=%-3d",i,j,result);/*-3d体现左对齐,占3位*/ } printf("\n");/*每一行后换行*/ } } 2、/*古典问题:有一对兔子,从出生后第
2、3个月起每月都生一对兔子,小兔子长到第三个月后每月又生一对兔子,假如兔子都不死,问每月兔子总数为多少? 兔子规律为数列1,1,2,3,5,8,13,21....*/ main() { long f1,f2; int i; f1=f2=1; for(i=1;i<=20;i++) { printf("%12ld %12ld",f1,f2); if(i%2==0) printf("\n");/*控制输出,每行四个*/ f1=f1+f2;/*前两个月加起来赋值给第三个月*/ f2=f1+f2;/*前两个月加起来赋值给第三个月*/ }
3、} 3、/*判断101-200之间有多少个素数,并输出所有素数及素数个数。 程序分析:判断素数措施:用一种数分别清除2到sqrt(这个数),假如能被整除, 则表明此数不是素数,反之是素数。*/ #include "math.h" main() { int m,i,k,h=0,leap=1; printf("\n"); for(m=101;m<=200;m++) { k=sqrt(m+1); for(i=2;i<=k;i++) if(m%i==0) {leap=0;break;}
4、if(leap) /*内循环结束后,leap仍然为1,则m是素数*/ {printf("%-4d",m);h++; if(h%10==0) printf("\n"); } leap=1; } printf("\nThe total is %d",h); } 4、/*一种数假如恰好等于它因子之和,这个数就称为“完数”。例如6=1+2+3.编程 找出1000以内所有完数。*/ main() { static int k[10]; int
5、 i,j,n,s;
for(j=2;j<1000;j++)
{
n=-1;
s=j;
for(i=1;i 6、tf("%d\n",k[n]);
}
}
}
5、/*下面程序功能是将一种4×4数组进行逆时针旋转90度后输出,规定原始数组数据随机输入,新数组以4行4列方式输出,
请在空白处完善程序。*/
main()
{ int a[4][4],b[4][4],i,j; /*a存储原始数组数据,b存储旋转后数组数据*/
printf("input 16 numbers:");
/*输入一组数据存储到数组a中,然后旋转存储到b数组中*/
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{ scanf(" 7、d",&a[i][j]);
b[3-j][i]=a[i][j];
}
printf("array b:\n");
for(i=0;i<4;i++)
{ for(j=0;j<4;j++)
printf("%6d",b[i][j]);
printf("\n");
}
}
6、/*编程打印直角杨辉三角形*/
main()
{int i,j,a[6][6];
for(i=0;i<=5;i++)
{a[i][i]=1;a[i][0]=1;}
for(i= 8、2;i<=5;i++)
for(j=1;j<=i-1;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<=5;i++)
{for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
printf("\n");}
}
7、/*通过键盘输入3名学生4门课程成绩,
分别求每个学生平均成绩和每门课程平均成绩。
规定所有成绩均放入一种4行5列数组中,输入时同一人数据间用空格,不一样人用回车
其中最终一列和最终一行分别放每个学生平均成绩、每门课程平均成绩及班级总平均 9、分。*/
#include 10、0;
for(i=0;i<3;i++)
sum2+=a[i][j];
a[3][j]=sum2/3;
}
for(i=0;i<4;i++)
{ for(j=0;j<5;j++)
printf("%6.2f",a[i][j]);
printf("\n");
}
}
8、/*完善程序,实现将输入字符串反序输出,
如输入windows 输出swodniw。*/
#include 11、
printf("Enter a string:");
scanf("%s",c);
k=strlen(c);
for (i=0,j=k-1;i 12、j); *(s+j)=t;}
}
main()
{ FILE *fp;
char str[200],*p,i,j;
if((fp=fopen("p9_2.out","w"))==NULL)
{ printf("cannot open the file\n");
exit(0);
}
printf("input str:\n");
gets(str);
printf(“\n%s”,str);
fprintf(fp,“%s”,str);
invert(str);
prin 13、tf(“\n%s”,str);
fprintf(fp,“\n%s”,str);
fclose(fp);
}
9、/*下面程序功能是从字符数组s中删除存储在c中字符。*/
#include 14、 s[k++]=s[j];
s[k]= '\0';
printf("\n%s",s);
}
10、/*编写一种void sort(int *x,int n)实现将x数组中n个数据从大到小
排序。n及数组元素在主函数中输入。将成果显示在屏幕上并输出到文献p9_1.out中*/
#include
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818