当前位置:
首页 > 技能培训 > c语言必背代码大全(林志强)

知识点

c语言必背代码大全(林志强)

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

c语言必须记忆代码

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

#包括& quotstdio.h & quot

main()

{int i,j,result

for(I = 1;i&lt。10;i++)

{ for(j = 1;j&lt。10;j++)

{

结果= I * j;

printf(& quot;% d * % d = %-3d & quot;,I,j,结果);/*-3d表示左对齐,占3位数*/

}

printf(& quot;\\ n & quot);/*每行后换行*/

}

}

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

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

main()

{

长f1、F2;

int I;

f1 = F2 = 1;

for(I = 1;i&lt。=20;i++)

{ printf(& quot;% 12ld % 12ld & quot,f1,F2);

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

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

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

}

}

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

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

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

#包括& quotmath.h & quot

main()

{

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

printf(& quot;\\ n & quot);

for(m = 101;m&lt。=200;m++)

{ k = sqrt(m+1);

for(I = 2;i&lt。= k;i++)

if(m%i==0)

{ leap = 0;打破;}

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

{ printf(& quot;%-4d & quot;,m);h++;

if(h%10==0)

printf(& quot;\\ n & quot);

}

leap = 1;

}

printf(& quot;\\ n总数为% d & quot,h);

}

4./*如果一个数恰好等于它的因子之和,这个数叫做“完全数”。比如6 = 1+2+3。设计

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

main()

{

static int k[10];

int i,j,n,s;

for(j = 2;j&lt。1000;j++)

{

n =-1;

s = j;

for(I = 1;i&lt。j .i++)

{ if((j % I)= 0)

{ n++;

s = s-I;

k[n]= I;

}

}

if(s==0)

{ printf(& quot;%d是万舒:,j);

for(I = 0;i&lt。n;i++)

printf(& quot;%d,quot,k[I]);

printf(& quot;% d \\ n & quot,k[n]);

}

}

}

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

请在空空白处改进程序。*/

main()

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

printf(& quot;输入16个数字:);

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

for(I = 0;i&lt。4;i++)

for(j = 0;j&lt。4;j++)

{ scanf(& quot;% d & quot,& ampa[I][j]);

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

}

printf(& quot;数组b:\\ n & quot;);

for(I = 0;i&lt。4;i++)

{ for(j = 0;j&lt。4;j++)

printf(& quot;% 6d & quot,b[I][j]);

printf(& quot;\\ n & quot);

}

}

6./*编程打印直角杨辉三角形*/

main()

{int i,j,a[6][6];

for(I = 0;i&lt。=5;i++)

{ a[I][I]= 1;a[I][0]= 1;}

for(I = 2;i&lt。=5;i++)

for(j = 1;j&lt。= I-1;j++)

a[I][j]= a[I-1][j]+a[I-1][j-1];

for(I = 0;i&lt。=5;i++)

{ for(j = 0;j&lt。= I;j++)

printf(& quot;% 4d & quot,a[I][j]);

printf(& quot;\\ n & quot);}

}

7./*通过键盘输入4门课3个学生的分数。

求每个学生的平均分和每门课的平均分。

所有等级要求排列成4行5列的阵列。录入时,同一个人的数据要用空录入,不同的人要用Enter

最后一列和最后一行分别显示每个学生的平均成绩、每个课程的平均成绩和班级的总平均成绩。*/

#include &lt。stdio.h&gt。

#include &lt。stdlib.h&gt。

main()

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

int i,j;

for(I = 0;i&lt。3;i++)

for(j = 0;j&lt。4;j++)

scanf(& quot;% f & quot,& ampa[I][j]);

for(I = 0;i&lt。3;i++)

{ sum 1 = 0;

for(j = 0;j&lt。4;j++)

sum 1+= a[I][j];

a[I][4]= sum 1/4;

}

for(j = 0;j&lt。5;j++)

{ sum 2 = 0;

for(I = 0;i&lt。3;i++)

sum 2+= a[I][j];

a[3][j]= sum 2/3;

}

for(I = 0;i&lt。4;i++)

{ for(j = 0;j&lt。5;j++)

printf(& quot;% 6.2f & quot,a[I][j]);

printf(& quot;\\ n & quot);

}

}

8./*改进程序,以逆序输出输入字符串。

例如输入窗口输出swodniw。*/

#include &lt。string.h&gt。

main()

{ char cfor(j = I+1;j&lt。n;j++),C1;

int i,j,k;

printf(& quot;请输入一个字符串:);

scanf(& quot;% s & quot,c);

k = strlen(c);

for (i=0,j = k-1;i&lt。k/2;i++,j -)

{ C1 = c[I];c[I]= c[j];c[j]= C1;}

printf(& quot;% s \\ n & quot,c);

}

指针方法:

无效反转(char *s)

{int i,j,k;

char t;

k = strlen(s);

for(i=0,j = k-1;i&lt。k/2;i++,j -)

{ t = *(s+I);*(s+I)= *(s+j);*(s+j)= t;}

}

main()

{ FILE * fp

char str[200],*p,I,j;

if((FP = fopen(& quot;p9 _ 2.out & quot,& quotw & quot))= =空)

{ printf(& quot;无法打开文件\\ n & quot);

退出(0);

}

printf(& quot;输入字符串:\\ n & quot);

get(str);

printf(& quot;\\ n % s & quot,str);

fprintf(FP ,& quot;% s & quot,str);

invert(str);

printf(& quot;\\ n % s & quot,str);

fprintf(FP ,& quot;\\ n % s & quot,str);

fc lose(FP);

}

9./*以下程序的功能是从字符数组s中删除存储在C中的字符. */

#include &lt。stdio.h&gt。

main()

{ char s[80],c;

int j,k;

printf(& quot;\\ n输入字符串:& quot);

获取(s);

printf(& quot;\\ n输入一个字符:& quot);

c = getchar();

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

if(s[j]!=c)

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

s[k]= & # 39;[188]';

printf(& quot;\\ n % s & quot,s);

}

10./*写一个void sort(int *x,int n)实现x数组中n个数据由大到小

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

#include&lt。stdio.h&gt。

void sort(int *x,int n)

{

int i,j,k,t;

for(I = 0;i&lt。n-1;i++)

{

k = I;

[200]

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(& quot;p9 _ 1.out & quot,& quotw & quot);

p = a;

printf(& quot;输入10个数字:& quot);

for(I = 0;i&lt。10;i++)

scanf(& quot;% d & quot,p++);

p = a;

sort(p,10);

for(;p&lt。a+10;p++)

{ printf(& quot;% d & quot,* p);

fprintf(FP ,& quot;% d & quot,* p);}

系统(& quot暂停& quot);

fc lose(FP);

}

大学C语言必须背基础知识

1、scanf(\"a=%d,b=%d \",& ampa & amp。b)考试超级专注!记得在终端以第一部分的格式输入数据。考试的核心是:一模一样。在黑屏上输入a=12和b=34,给a和b正确的12和34。一点都不不同。

2、scanf(\"%d,%d \",x,y);这个写法绝对不对,scanf的第二部分一定是地址!scanf(\"%d,%d \",& ampx,amp。y);注意这样写!

3.特别注意scanf中指针的考察,比如:int x = 2;int * p = & ampx;scanf(\"%d \",x);错误scanf (\"%d \",p);Scanf(\"%d \"正确(\" %d \",&:p);错误扫描(\" %d \",*p)错误

4.指定输入的长度(考试重点)。终端输入:1234567 scanf (\"-m% d \",&: x,& ampy,amp。z);x是12,y是3456,z是7。终端输入:1 234567因为在1和2之间有一个空空格,所以只给xscanf (\"-m% d \",& amp;x & amp;y,amp。z);x是1,y是2345,z是67

5.字符和整数是近亲:int x = 97printf(\"%d \",x);结果是97printf (\"%c \",x);结果是一个。