/*输出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语言
#include stdio.h
#include stdlib.h
#include string.h //系统自带的头文件,最好使用
typedef struct Node
{
char data;
struct Node * next;
}node;
void Insert(node* );//插入
void Find(node* );//查找
int Count(node*);//链表长度
void Update(node* );//修改
void Delete(node* );//删除
void Show(node* );//输出
int main()
{
int a;
node head;
head.next = NULL;
printf("***********链表的操作************\n\n");
while(1)
{
a = 0;
printf("***********请选择您的操作***********\n\n");
printf("1 链表的插入\t 2 链表的查找\t 3 链表的修改\n4 链表的删除\t 5 链表的输出\t 6 退出系统\n");
scanf("%d",a);
switch(a)
{
case 1:
Insert(head);
break;
case 2:
Find(head);
break;
case 3:
Update(head);
break;
case 4:
Delete(head);
break;
case 5:
Show(head);
break;
case 6:
exit(-1);
break;
default :
printf("输入错误!");
break;
}
}
return 0;
}
int Count(node* head)
{
node* pH = head;
int count = 0;
while (pH-next != NULL )
{
pH = pH-next;
count++;
}
return count;
}
void Insert(node* head )
{
int which = 0;
int i = 0;
int j = 1;
char ch;
node * pH = head;
printf("\n1.首插入 2.未插入 3.插入到位置i\n");
printf("请选择:");
scanf("%d",which);
ch = getchar();
if (which == 1)
{
printf("请输入值:");
scanf("%c",ch);
node * q = (node *)malloc(sizeof(Node));
q-data = ch;
q-next = pH-next;
pH-next = q;
}
else if (2 == which)
{
while (pH-next != NULL)
{
pH = pH-next;
}
printf("请输入值:");
scanf("%c",ch);
node * q = (node *)malloc(sizeof(Node));
q-data = ch;
q-next = pH-next;
pH-next = q;
}
else if ( 3 == which )
{
printf("请输入i的值:");
scanf("%d",i);
ch = getchar();
if ( (i 0) (i = Count(head) + 1) )
{
printf("i = %d",i);
while (j i)
{
pH = pH-next;
j++;
}
printf("请输入值:");
scanf("%c",ch);
node * q = (node *)malloc(sizeof(Node));
q-data = ch;
q-next = pH-next;
pH-next = q;
}
else
{
printf("i输入错误!\n");
}
}
else
{
printf("选择错误!\n");
}
return;
}
void Show(node* pH)
{
printf("链表输出:\n");
if ( pH-next == NULL)
{
printf("链表为空!\n");
return;
}
else
{
while ( pH-next != NULL )
{
pH = pH-next;
printf("%3c",pH-data);
}
printf("\n输出结束!\n");
}
}
void Find(node* head)
{
int which = 0;
int j = 0;
int i = 0;
char ch;
bool is_have = false;
node * q = head-next;
if ( Count(head) == 0 )
{
printf("链表为空!无法查找.\n");
return;
}
printf(" 1.查找内容的位置 2.查找位置的内容\n");
scanf("%d",which);
ch = getchar();
if (1 == which)
{
printf("请输入要查找的内容:");
scanf("%c",ch);
while ( q != NULL)
{
j++;
if ( q-data == ch)
{
printf("%c是第%d个。\n",ch,j);
is_have = true;
}
q = q-next;
}
if ( is_have == false )
{
printf("所查找的内容在链表中不存在!");
}
}
else if ( 2 == which )
{
j = 0;
printf("请输入要查找的位置:");
scanf("%d",i);
if ( i Count(head) || i 1 )
{
printf("位置错误!无法查找。\n");
return;
}
while ( q != NULL j i-1 )
{
q = q-next;
j++;
}
printf("内容为:%c",q-data);
}
else
{
printf("选择错误!\n");
}
return;
}
void Update(node* head)
{
node * q = head-next;
int i = 0;
int j = 0;
char ch;
if ( Count(head) == 0 )
{
printf("链表为空!无法查找.\n");
return;
}
printf("请输入要修改的位置:");
scanf("%d",i);
ch = getchar();
if ( i Count(head) || i 1 )
{
printf("位置错误!无法修改。\n");
return;
}
printf("请输入修该的值:");
scanf("%c",ch);
while ( q != NULL j i-1 )
{
q = q-next;
j++;
}
q-data = ch;
printf("修改成功!\n");
return;
}
void Delete(node* head)
{
node * q = head-next;
node * p = head;
int i = 0;
int j = 0;
char ch;
if ( Count(head) == 0 )
{
printf("链表为空!无法删除.\n");
return;
}
printf(" 1.全部删除 2.删除单个\n");
scanf("%d",i);
ch = getchar();
if ( 1 == i)
{
while( q != NULL )
{
p = p-next;
q = q-next;
free(p);
}
head-next = NULL;
printf("释放成功!\n");
}
else if ( 2 == i )
{
printf("请输入要删除的位置:");
scanf("%d",i);
ch = getchar();
if ( i Count(head) || i 1 )
{
printf("位置错误!无法删除。\n");
return;
}
while ( q != NULL j i-1 )
{
p = p-next;
q = q-next;
j++;
}
p-next = q-next;
free(q);
printf("删除成功!\n");
}
else
{
printf("选择错误!\n");
}
}
#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;
}
}
#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}
};
#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字符串
}
人尾月场是淘特新人尾月入端购置 的流动场景,页里运动 不只流质年夜 ,且支撑 新人尾月红包抵扣,流质转移下;商品正在搜刮 战尾页推举 异步添权,坑位有限,尽快报名。1、报名空儿一、报名空儿:历久 有用 二、运动 空儿: 二0 二 二年 三月 一 七日 二0:00:00-历久 有用 备注:会由于 仄台...
淘欠望频+曲播弄法 去袭!宣布 欠望频介入 #化妆台宝匿公然 ,无机会得到 ≥ 五万欠望频流质及≥ 一万曲播间流质!更无机会登上点淘 二0 二 二 营销年夜 IP【点淘会购榜】。投稿开端 空儿: 二0 二 二年 三月 一 六日00:00:00投稿截止空儿: 二0 二 二年 三月 二 五日 二 ...
尾页投稿 二0 一 九垂纶 岛如今 谁掌握 ,贴秘外国为什么没有敢光复 垂纶 岛 少乡号SEO博员 • 二0 二0年 七月 一日 0 九:0 三: 四 七 • 投稿 SEO 借忘患上 二0 一 二年九一八先后天下 各天发作 阵容 浩荡 的反日游止吗?可谓 一 九 七 二年外日国交 一般化此后,...
剧情吧工夫 : 二0 一 三-0 七- 一 二 一 五: 二 八: 四 五 冲上云霄 二第 一散剧情先容 亦琛回显 英国餐馆 下志宏成为副机少并转任Skylette,并战嫩同伙 唐亦风一路 拍档飞往伦敦,此次 也是志宏正在Skylette的第一次航行 。正在年夜 楼中志宏战亦风谋面...
寄熟兽高领插件的罪用列表Creation Date: 二0 一 九-0 五- 一 六T0 七: 一 二: 三0Zpython 三 arjun.py -u ://api.example.com/endpoint --get 最近 , 三 六0 威胁谍报 中间 宣布 了《寰球高...
如许 当地 便依照 孬了一个tp 五的框架了。第两步:入进NGINX容器,经由过程 docker ps审查docker容器的container-id,运用docker exec敕令 入进到容器外部。 一 二 三 四 五 六 七 八ert@ertiaodeMac-mini ~/develop/en...