×

c语言必背100代码带注释

c语言必背100代码带注释(c语言程序带注释50个)

hacker hacker 发表于2022-07-06 23:39:23 浏览43 评论2

2人参与发表评论

本文目录一览:

c语言必背代码有哪些?

1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/

#include "stdio.h"

main()

{int i,j,result;

for (i=1;i10;i++)

{ for(j=1;j10;j++)

{

result=i*j;

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

}

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

}

}

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、/*判断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;}

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 i,j,n,s;

for(j=2;j1000;j++)

{

n=-1;

s=j;

for(i=1;ij;i++)

{if((j%i)==0)

{  n++;

s=s-i;

k[n]=i;

}

}

if(s==0)

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

for(i=0;in;i++)

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

printf("%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;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("%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门课程的成绩,

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

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

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

#include stdio.h

#include stdlib.h

main()

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

int i,j;

for(i=0;i3;i++)

for(j=0;j4;j++)

scanf("%f",a[i][j]);

for(i=0;i3;i++)

{ sum1=0;

for(j=0;j4;j++)

sum1+=a[i][j];

a[i][4]=sum1/4;

}

c语言必背100代码有哪些?

/*输出9*9口诀。共9行9列,i控制行,j控制列。*/

#include "stdio.h"

main()

{int i,j,result;

for (i=1;i10;i++)

{ for(j=1;j10;j++)

{

result=i*j;

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

}

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

}

}

扩展资料:

C语言的字符串其实就是以'\0'字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。使用这些函数需要引用头文件string.h。

文件输入/输出

在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件stdio.h;中。

标准输入/输出

有三个标准输入/输出是标准I/O库预先定义的:

stdin标准输入

stdout标准输出

stderr输入输出错误

参考资料来源:百度百科-c语言

C语言代码求注释及解释

#includestdio.h

void

fun(char*t,char*s)

{

while(*t!=0)t++;//如果*t指向的字符不为空则地址加加,只是为了把指针直到ss的末尾,字符串是以'\0'为结束符的,并且(*t!=0)其实就是*t!='\0',这句执行完后,指针就指向了'\0'的位置

while(*t++=*s++)!=0);//在t指向的字符串尾部把s指向的字符串拼接上。第一次,把s字符串的第一个字符赋给t,记住,这时候t已经是指向了'\0'的位置,然后指针s和指针t都加一,则他们指向的位置都会向后移动一个字节,直到指针s指向了'\0',这时候结束

}//所以这个函数其实就是字符串拼接函数,相当于strcat函数

main()

{

char

ss[10]="acc",a[10]="bbxsd";//第二个写错了应该是aa[10]

fun(ss,aa);//调用拼接函数

printf("%s,%s",ss,aa);//输出拼接后的字符串ss和原来的aa字符串

}

寻找一个简单的C语言程序100行左右 注释详细 最好原创

#includebios.h

#define Up 0*4800

#define DOWN 0*5000

#define LEFT 0*4b00

#define RIGHT 0*4d00

#define SPACE 0*3920

#define ENTER 0*1c0d

Main()

{

Struct point

{

Int x,y;

}a; /*定义a为结构体point类型*/

Int key,key1;

a.x=40; /*设置光标的初始位置*/

a.y=10;

clrscr();

gotoxy(a.x,a.y); /*光标定位在指定位置*/

printf(“%c”,6);

while(bioskey(1)==0)

{

Key=bioskey(0); /*将所按键盘的控制码赋给key*/

Switch(key)

{

Case UP: /*当按键为向上键时实现向上画图*/

{

a.y-=1; /*纵坐标减1*/

if(a.y==0)

a.y=24;

gotoxy(a.x,a.y);

printf(“%c”,6);

break;

}

Case DOWN: /*当按键为向下键时实现向下画图*/

{

a.y+=1; /*纵坐标加1*/

if(a.y==24)

a.y=1;

gotoxy(a.x,a.y);

printf(“%c”,6);

break;

}

Case LEFT: /*当按键为向左键时实现向左画图*/

{

a.x-=1; /*横坐标减1*/

if(a.x==0)

a.x=80;

gotoxy(a.x,a.y);

printf(“%c”,6);

break;

}

Case RIGHT: /*当按键为向右键时实现向右画图*/

{

a.x+=1; /*横坐标加1*/

if(a.x==80)

a.x=1;

gotoxy(a.x,a.y);

printf(“%c”,6);

break;

}

Case ENTER: /*当按键为回车键时光标跳到下一列且不画图*/

{a.y+=1;

If(a.y==24)

a.y=1;

gotoxy(a.x,a.y);

break;

}

Case SPACE: /*当按键为空格键时执行大括号内的语句*/

{

While (bioskey(1)==0)

{

Key1=bioskey(0); /*将所按键盘的控制码赋给key*/

Switch(key1)

{

Case UP: /*当按键为向上键时向上清除所画图像*/

{

a.y-=1;

if(a.y==0)

a.y=24;

gotoxy(a.x,a.y);

putch(‘’);

break;

}

Case DOWN: /*当按键为向下键时向下清除所画图像*/

{

a.y+=1;

if(a.y==24)

a.y=1;

gotoxy(a.x,a.y);

putch(‘’);

break;

}

Case LEFT: /*当按键为向左键时向左清除所画图像*/

{

a.x-=1;

if(a.x==0)

a.x=80;

gotoxy(a.x,a.y);

putch(‘’);

break;

Case RIGHT: /*当按键为向右键时向右清除所画图像*/

{

a.x+=1;

if(a.x==80)

a.x=1;

gotoxy(a.x,a.y);

putch(‘’);

break;

}

Case ENTER: /*当按键为回车键时光标跳到下一列且不画图*/

{a.y+=1;

If(a.y==24)

a.y=1;

gotoxy(a.x,a.y);

break;

}

}

If(key1==0*3920) /*当按键为空格键时,跳出循环*/

Break;

}

}

}

If(key==0*011b) /*当按键为esc时,退出循环*/

Break;

}

}

高分悬赏求一个C语言100行左右的程序代码,希望有详细的注释,在线等!

#include errno.h

#include unistd.h

#include sys/ioctl.h

#include sys/types.h

#include sys/mman.h

#include sys/stat.h

#include fcntl.h

#include linux/fb.h

#include "xorg-server.h"

#include "xf86.h"

#include "xf86cmap.h"

#include xf86drm.h

#include "xf86xv.h"

#include "xf86Crtc.h"

#include "micmap.h"

#include "mali_def.h"

#include "mali_fbdev.h"

#include "mali_exa.h"

#include "mali_dri.h"

#include "mali_lcd.h"

#include "compat-api.h"

#define MALI_VERSION 4000

#define MALI_NAME "MALI"

#define MALI_DRIVER_NAME "mali"

#define PAGE_MASK (~(getpagesize() - 1))

static const OptionInfoRec *MaliAvailableOptions(int chipid, int busid);

static void MaliIdentify(int flags);

static Bool MaliProbe(DriverPtr drv, int flags);

static Bool MaliPreInit(ScrnInfoPtr pScrn, int flags);

static Bool MaliScreenInit(SCREEN_INIT_ARGS_DECL);

static Bool MaliCloseScreen(CLOSE_SCREEN_ARGS_DECL);

static Bool MaliHWSwitchMode(SWITCH_MODE_ARGS_DECL);

static void MaliHWAdjustFrame(ADJUST_FRAME_ARGS_DECL);

static Bool MaliHWEnterVT(VT_FUNC_ARGS_DECL);

static void MaliHWLeaveVT(VT_FUNC_ARGS_DECL);

static ModeStatus MaliHWValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags);

static int pix24bpp = 0;

static int malihwPrivateIndex = -1;

static int global_drm_fd = -1;

_X_EXPORT DriverRec MALI =

{

MALI_VERSION,

MALI_DRIVER_NAME,

MaliIdentify,

MaliProbe,

MaliAvailableOptions,

NULL,

0,

NULL,

NULL,

NULL,

};

/* Supported "chipsets" */

static SymTabRec MaliChipsets[] =

{

{ 0, "mali" },

{ -1, NULL }

};

/* Supported options */

typedef enum

{

OPTION_DRI2,

OPTION_DRI2_PAGE_FLIP,

OPTION_DRI2_WAIT_VSYNC,

OPTION_UMP_CACHED,

OPTION_UMP_LOCK,

} FBDevOpts;

static const OptionInfoRec MaliOptions[] =

{

{ OPTION_DRI2, "DRI2", OPTV_BOOLEAN, {0}, TRUE },

{ OPTION_DRI2_PAGE_FLIP, "DRI2_PAGE_FLIP", OPTV_BOOLEAN, {0}, FALSE },

{ OPTION_DRI2_WAIT_VSYNC, "DRI2_WAIT_VSYNC", OPTV_BOOLEAN, {0}, FALSE },

{ OPTION_UMP_CACHED, "UMP_CACHED", OPTV_BOOLEAN, {0}, FALSE },

{ OPTION_UMP_LOCK, "UMP_LOCK", OPTV_BOOLEAN, {0}, FALSE },

{ -1, NULL, OPTV_NONE, {0}, FALSE }

};

#ifdef XFree86LOADER

#ifndef PACKAGE_VERSION_MAJOR

#define PACKAGE_VERSION_MAJOR 0

#endif

#ifndef PACKAGE_VERSION_MINOR

#define PACKAGE_VERSION_MINOR 1

#endif

#ifndef PACKAGE_VERSION_PATCHLEVEL

#define PACKAGE_VERSION_PATCHLEVEL 1

#endif

MODULESETUPPROTO(MaliSetup);

static XF86ModuleVersionInfo MaliVersRec =

{

"mali",

MODULEVENDORSTRING,

MODINFOSTRING1,

MODINFOSTRING2,

XORG_VERSION_CURRENT,

PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL,

ABI_CLASS_VIDEODRV,

ABI_VIDEODRV_VERSION,

NULL,

{0, 0, 0, 0}

};

群贤毕至

访客
竹祭花桑 竹祭花桑2022-07-07 10:48:49 | 回复 break;}Case DOWN: /*当按键为向下键时向下清除所画图像*/{a.y+=1;if(a.y==24)a.y=1;gotoxy(a.x,a.y);putch(‘’);break;}Case LEFT:
冢渊礼忱 冢渊礼忱2022-07-07 02:42:35 | 回复 .x-=1;if(a.x==0)a.x=80;gotoxy(a.x,a.y);putch(‘’);break;Case RIGHT: /*当按键为向右键时向右清除所画图像*/{a.x+=1;if(a.x==80)a.x=1;go