c语言必背代码大全
当前位置:首页 > 综合 > 教育

c语言必背代码大全

  • 高吴
  • 教育
  • 2024-12-21 13:10:00
  • 517
买贴 | 修改  | 投诉  | 刷新  | 

对于刚学计算机编程的学生来说,编程的每一个知识都很重要。下面,我已经为大家整理好了C语言所需的背码。希望大家喜欢。

c语言必背代码

1./*输出9*9公式。总共有9行9列,I控制行和j控制列。*/

#包含" stdio.h "

main()

{int i,j,result

for(I=1;i10I)

{ for(j=1;j10j)

{

结果=I * j;

printf("%d*%d=%-3d ",I,j,result);/*-3d表示左对齐,占3位数*/

}

printf(" n ");/*每行后换行*/

}

}

2./*经典问题:有一对兔子从出生后第三个月开始每月出生,小兔子长到第三个月以后每月出生一对兔子。如果兔子没死,每个月兔子总数是多少?

兔子定律是序列1,1,2,3,5,8,13,21.*/

main()

{

长f1、F2;

int I;

f1=F2=1;

for(I=1;i=20I)

printf("ld ld",f1,f2;

if(I % 2==0)printf(" n ");/*控制输出,每行四个*/

f1=f1 f2/*前两个月相加并分配到第三个月*/

f2=f1 f2/*前两个月相加并分配到第三个月*/

}

}

3./*判断101到200之间有多少个素数,输出所有素数和素数个数。

程序分析:判断素数的方法:用一个数除2到sqrt(这个数),如果能除尽,

表示这个数不是质数,而是质数。*/

#包含" math.h "

main()

{

int m,I,k,h=0,leap=1;

printf(" n ");

for(m=101;m=200m)

{ k=sqrt(m ^ 1);

for(I=2;I=k;I)

if(m%i==0)

{ leap=0;打破;}

如果(leap) /*在内环结束后,leap仍然是1,那么M是素数*/

{printf("%-4d ",m);h;

if(h==0)

printf(" n ");

}

leap=1;

}

printf(" n总数为%d ",h);

}

4./*如果一个数恰好等于它的因子之和,这个数叫做"完全数’。比如6=1 2 3。电视节目

找出所有1000以内的完全数。*/

main()

{

static int k[10];

int i,j,n,s;

for(j=2;j1000j)

{

n=-1;

s=j;

for(I=1;I { if((j % I)=0)

{ n;

s=s-I;

k[n]=I;

}

}

if(s==0)

{printf("%d是wanshu: ",j);

for(I=0;iprintf("%d ",k[I]);

printf("%d ",k[n]);

}

}

}

5./*以下程序的功能是将44阵列逆时针旋转90度后输出。要求原数组的数据随机输入,新数组以4行4列输出。

请在空白处完善程序。*/

main()

{ int a[4][4],b[4][4],I,j;/*a存储原始数组数据,B存储旋转后的数组数据*/

printf("输入16个数字: ");

/*输入一组数据存储在数组A中,然后旋转存储在数组B中*/

for(I=0;i4;I)

for(j=0;j4;j)

{ scanf("%d ",a[I][j]);

b[3-j][I]=a[I][j];

}

printf(" array b : n ");

for(I=0;i4;I)

{ for(j=0;j4;j)

printf("m ",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(" ");}

}

7、/*通过键盘输入3名学生4门课程的成绩,

分别求每个学生的平均成绩和每门课程的平均成绩。

要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车

其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/

#include

#include

main()

{ float a[4][5],sum1,sum2;

int i,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(" ");

}

}

8、/*完善程序,实现将输入的字符串反序输出,

如输入windows 输出swodniw。*/

#include

main()

{ char c[200],c1;

int i,j,k;

printf("Enter a string: ");

scanf("%s",c);

k=strlen(c);

for (i=0,j=k-1;i

{ c1=c[i];c[i]=c[j];c[j]=c1; }

printf("%s ",c);

}

指针法:

void invert(char *s)

{int i,j,k;

char t;

k=strlen(s);

for(i=0,j=k-1;i

{ t=*(s+i); *(s+i)=*(s+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 ");

exit(0);

}

printf("input str: ");

gets(str);

printf(" %s",str);

fprintf(fp,"%s",str);

invert(str);

printf(" %s",str);

fprintf(fp," %s",str);

fclose(fp);

}

9、/*下面程序的功能是从字符数组s中删除存放在c中的字符。*/

#include

main()

{ char s[80],c;

int j,k;

printf(" Enter a string: ");

gets(s);

printf(" Enter a character: ");

c=getchar( );

for(j=k=0;s[j]!= "";j++)

if(s[j]!=c)

s[k++]=s[j];

s[k]= "";

printf(" %s",s);

}

10、/*编写一个void sort(int *x,int n)实现将x数组中的n个数据从大到小

排序。n及数组元素在主函数中输入。将结果显示在屏幕上并输出到文件p9_1.out中*/

#include

void sort(int *x,int n)

{

int i,j,k,t;

for(i=0;i

{

k=i;

for(j=i+1;j

if(x[j]>x[k]) k=j;

if(k!=i)

{

t=x[i];

x[i]=x[k];

x[k]=t;

}

}

}

void 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

{ printf("%d ",*p);

fprintf(fp,"%d ",*p); }

system("pause");

fclose(fp);

}

大学c语言必背基础知识

1、scanf(“a=%d,b=%d”,&a,&b) 考试超级重点!一定要记住是以第一部分的格式在终端输入数据。考试核心为:一模一样。在黑色屏幕上面输入的为 a=12,b=34才可以把12和34正确给a和b 。有一点不同也不行。

2、scanf(“%d,%d”,x,y);这种写法绝对错误,scanf的第二个部分一定要是地址!scanf(“%d,%d”,&x,&y);注意写成这样才可以!

3、特别注意指针在scanf的考察例如: int x=2;int *p=&x;scanf(“%d”,x); 错误 scanf(“%d”,p);正确scanf(“%d”,&p); 错误 scanf(“%d”,*p)错误

4、指定输入的长度 (考试重点)终端输入:1234567scanf(“-M%d”,&x,&y,&z);x为12,y为3456,z为7终端输入:1 234567 由于1和2中间有空格,所以只有1位给xscanf(“-M%d”,&x,&y,&z);x为1,y为2345,z为67

5、字符和整型是近亲:int x=97;printf(“%d”,x); 结果为97printf(“%c”,x); 结果为 a

分享到: