C语言必背18个经典程序,你记住了吗

,打扰一下,C语言必背18个经典程序,你记住了吗
最新回答
专业出售绿帽子

2024-10-18 03:53:52

介绍C语言必背的18个经典程序,以下为详细内容:

1、输出9*9口诀:

#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);
}
printf("\n");
}
}

2、兔子繁殖问题:

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、判断101-200之间的素数:

#include "math.h"
main() {
intm,i,k,h=0,leap=1;
for(m=101;m<=200;m++) {
k=sqrt(m+1);
for(i=2;i<=k;i++) if(m%i==0) {
leap=0;break;
}
if(leap) {
printf("%-4d",m);
h++;
if(h%10==0) printf("\n");
}
leap=1;
}
printf("\nThetotal is %d",h);
}

4、找出1000以内的所有完数:

main() {
static int k[10];
inti,j,n,s;
for(j=2;j<1000;j++) {
n=-1;
s=j;
for(i=1;i

5、将4×4数组逆时针旋转90度:

main() {
int a[4][4],b[4][4],i,j;
for(i=0;i<4;i++) for(j=0;j<4;j++) {
scanf("%d",&a[i][j]);
b[3-j][i]=a[i][j];
}
printf("arrayb:\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=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门课程的成绩平均值:

#include #include main() {
float a[4][5],sum1,sum2;
inti,j;
for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%f",&a[i][j]);
for(i=0;i<3;i++) {sum1=0;
for(j=0;j<4;j++) sum1+=a[i][j];
a[i][4]=sum1/4;
}
for(j=0;j<5;j++) {sum2=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、字符串反序输出:

void invert(char *s) {int i,j,k;
char t;
k=strlen(s);
for(i=0,j=k-1;i

指针法:

void invert(char *s) {int i,j,k;
char t;
k=strlen(s);
for(i=0,j=k-1;i

9、从字符数组s中删除c字符:

main() { char s[80],c;
int j,k;
printf("\nEnter a string: ");
gets(s);
printf("\nEnter a character: ");
c=getchar( );
for(j=k=0;s[j]!= '\0';j++) if(s[j]!=c) s[k++]=s[j];
s[k]='\0';
printf("\n%s",s);
}

10、实现n个数据从大到小排序并输出:

#include void sort(int *x,int n) {
int i,j,k,t;
for(i=0;ix[k]) k=j;
if(k!=i) {
t=x[i];
x[i]=x[k];
x[k]=t;
}
}
}
main() {
FILE *fp;
int *p,i,a[10];
fp=fopen("p9_1.out","w");
p=a;
printf("Input 10 numbers: ");
for(i=0;i<10;i++) scanf("%d",p++);
p=a;
sort(p,10);
for(;p

11、将输入数插入已排序数组:

main() {
inta[10]={0,12,17,20,25,28,30};
int x , i, j=6;
printf("Enter a number: ");
scanf("%d",&x);
a[0]=x;
i=j;
while(a[i]>x) {
a[i+1]=a[i];
i--;
}
a[++i]=x;
j++;
for(i=1;i<=j;i++) printf("%8d",a[i]);
}

12、替换字符串中特定字符:

#include replace(char *s,char c1,char c2) {
while(*s!='\0') {
if(*s==c1) *s=c2;
s++;
}
}
main() {
FILE *fp;
char str[100],a,b;
if((fp=fopen("p10_2.out","w"))==NULL) {
printf("cannot open thefile\n");
exit(0);
}
printf("Enter a string:\n");
gets(str);
printf("Enter a&&b:\n");
scanf("%c,%c",&a,&b);
printf("%s\n",str);
fprintf(fp,"%s\n",str);
replace(str,a,b);
printf("Thenew string is----%s\n",str);
fprintf(fp,"Thenew string is----%s\n",str);
fclose(fp);
}

13、查找子串在主串中的位置:

main() {
char s1[6]="thisis";
char s2[5]="is";
printf("%d\n",search(s1,s2));
system("pause");
}
int search(chars1[],char s2[]) {
inti=0,j,len=strlen(s2);
while(s1[i]) {
for(j=0;j<len;}

14、输出结构体数组元素:

struct student {
int num;
char *name;
char sex;
int age;
}stu[5]={{1001,"lihua",'F',18},{1002,"liuxing",'M',19},{1003,"huangke",'F',19},{1004,"fengshou",'F',19},{1005,"Wangming",'M',18}};
main() {
int i;
struct student *ps;
printf("Num \tName\t\t\tSex\tAge\t\n");
for(ps=stu;ps!=NULL;ps++) {
printf("%5d\t%s\t\t%s\t%d\t\n",ps->num,ps->name,ps->sex,ps->age);
}
}

15、建立链表:

#define NULL 0
struct student {
int num;
char *name;
int age ;
struct student*next;
};
void main() {
struct studenta,b,c,*head,*p;
a.num=1001;a.name="lihua";a.age=18;
b.num=1002;b.name="liuxing";b.age=19;
c.num=1003;c.name="huangke";c.age=18;
head=&a;
a.next=&b;
b.next=&c;
c.next=NULL;
p=head;
do{
printf("%5d,%s,%3d\n",p->num,p->name,p->age);
p=p->next;
}

16、判断字符串是否为回文:

#include #include #include main() {
char s[100];
int i,j,n;
printf("输入字符串:\n");
gets(s);
n=strlen(s);
for(i=0,j=n-1;i=j) printf("是回文串\n");
else printf("不是回文串\n");
}

17、冒泡排序:

#include void fun(inta[],int n) {
int i,j,t;
for(i=0;i<=n-1;i++) for(j=0;ja[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
main() {
inta[10]={12,45,7,8,96,4,10,48,2,46},n=10,i;
FILE *f;
if((f=fopen("myf2.out","w"))==NULL) printf("open file myf2.outfailed!\n");
fun(a,10);
for(i=0;i<10;i++) {printf("%4d",a[i]);fprintf(f,"%4d",a[i]);}
fclose(f);
}

18、计算π的近似值:

#include doublecountpi(double eps) {
int m=1;
double temp=1.0,s=0;
while(temp>=eps) {
s+=temp;
temp=temp*m/(2*m+1);
m++;
}
return(2*s);
}
main() {
FILE *fp;
double eps=1e-5,pi;
if((fp=fopen("p7_3.out","w"))==NULL) {printf("cannot open thefile\n");exit(0);}

以上内容详细展示了C语言必背的18个经典程序。如有兴趣或想与我们一起学习计算机技术(软件开发),更多C++相关的内容尽在C语言/C++学习企鹅圈子,欢迎关注!