如下所示,最简单的一段代码
#includestdio.h //头文件,预处理文件
int main() //主函数
{ //大花括号表示一段整程序
int a; //声明变量a
int b; //声明变量b
scanf("%d",a); //输入a
scanf("%d",b); //输入b
printf("result: %d",a+b); //打印出a+b的值
printf("This time i will not say helloworld!");// 打印一段话,中间用双引号“”表示要打印的内容
return 0; //向主函数返回一个0
}
比较简单的插入和删除 特殊情况没有考虑。
采用的是带头结点的尾插法建立链表。
这个程序写的插入是在某个元素之前插入,特殊情况就是在第一个元素之前插入没有考虑
删除也有特殊情况没有考虑,删除第一个元素没有考虑
下面是代码:
#include stdio.h
#include stdlib.h
struct node
{
int data;
struct node * next;
};
int main ()
{
struct node *head,*p,*tail,*t;
head = (struct node *)malloc (sizeof (struct node));
head - next = NULL;
tail = head;
int n;
printf("请输入元素个数: \n");
scanf("%d",n);
while (n--)
{
p = (struct node *)malloc (sizeof (struct node));
scanf ("%d",p-data);
p - next = NULL;
tail - next = p;
tail = p;
}
printf ("插入一个元素\n请输入要在哪个元素之前插入:");
scanf ("%d",n);
p = head - next;
while (p != NULL)
{
t = p - next;
if (t - data == n)
{
struct node *temp;
temp = (struct node *)malloc (sizeof (struct node));
temp - next = NULL;
printf("请输入要插入的元素:");
scanf ("%d",temp-data);
temp - next = p - next ;
p - next = temp;
break;
}
p = p - next;
}
p = head - next;
while (p != NULL)
{
printf ("%d ",p-data);
p = p - next;
}
printf ("删除一个元素\n请输入要删除哪个元素:");
scanf ("%d",n);
p = head - next;
while (p != NULL)
{
t = p - next;
if (t - data == n)
{
p - next = t - next;
t - next = NULL;
break;
}
p = p - next;
}
p = head - next;
while (p != NULL)
{
printf ("%d ",p-data);
p = p - next;
}
return 0;
}
#include"stdio.h" //基本输入输出头文件
#include"math.h" //数学头文件
double pcos(double a); //声明函数pcos
main() //主程序开始
{
double x,y; //定义双精度变量 x与y
printf("please input one number:"); //输出提示
scanf("%lf",x); //输入变量x的值
y=pcos(x); //调用pcos函数,x作为实参传递给函数形参a,将pcos(x)的值赋给x,
printf("cos of %lf is %lf\n",x,y); //输出x与y的值
}
double pcos(double a) //定义双精度函数,形参为双精度变量a
{
double b; //定义双精度变量b
b=cos(a); //将cos(a)的值赋给b
return b; //将b作为函数的值返回调用程序
}
把 int iYear,iMonth,Month[12],iDay,x,i; 中的Month[12],删除。
把Month[12] ={ 31,28,31,30,31,30,31,31,30,31,30,31 };删除
在scanf前加一行int Month[12] ={ 31,28,31,30,31,30,31,31,30,31,30,31 };。
把for(i=0;iiMonth;i++)改成for(i=0;iiMonth-1;i++)。
char A = "abc";
char B = "bcd" char C = "cde";
char D;
B=C;C=D;D=B;
或者直接运用位运算。
没玩过单片机哈。
sleep(1);
睡眠1秒。
P2=1; 是让第二个灯亮吗? P2 = 0; 就是关闭吧。
我可以理解为这样:
#include reg51.h
int main(void)
{
sleep(1);
P2 = 1;
sleep(1);
P3 = 1;
return 0;
}
小游戏2048源码:
#includestdio.h
#includestdlib.h
#includeconio.h
#includetime.h
#includewindows.h
int jsk( ); //计算空格数
void rsgm( ); //重置游戏
void inkey( ); //按键输入
void left( ); //向左移动
void right( ); //向右移动
void up( ); //向上移动
void down( ); //向下移动
void show( ); //输出界面
void adnum( ); //添加随机数
void yes( ); //游戏是否结束(1是0否)
void gtxy(int x, int y); //控制光标位置的函数
int a[4][4]; //存储16个格子中的数字
int score = 0; //每局得分
int best = 0; //最高得分
int ifnum; //是否需要添加数字(1是0否)
int over; //游戏结束标志(1是0否)
int i,j,k;
int main( )
{ rsgm( ); //重置游戏
inkey( ); //按键输入
return 0;
}
void setColor(unsigned short ForeColor = 7, unsigned short BackGroundColor = 0)
{ HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(handle, ForeColor + BackGroundColor * 0x10);
} //用于控制字符颜色的函数
void rsgm( ) //重置游戏
{ score = 0; ifnum = 1; over = 0; srand((unsigned)time(0)); //启动随机数发生器
int n = rand( ) % 16; //随机函数产生0-15的数字
for (i = 0; i 4; i++)
{for (j = 0; j 4; j++)
{ if (n == 0) { int k = rand( ) % 3; if (k == 0 || k == 1) { a[i][j] = 2; }
else { a[i][j] = 4; } n--; }
else { a[i][j] = 0; n--; }
}
}
adnum( );
system("cls");
CONSOLE_CURSOR_INFO cursor_info={1,0}; //以下两行是隐藏光标的设置
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),cursor_info);
setColor(14, 0); //设置字体淡红色,背景为黑色
printf("\n\n\t\t 2048小游戏"); setColor(7, 0); //恢复白字黑底
printf("\n\t┌──────┬──────┬──────┬──────┐");
printf("\n\t│ │ │ │ │");
printf("\n\t├──────┼──────┼──────┼──────┤");
printf("\n\t│ │ │ │ │");
printf("\n\t├──────┼──────┼──────┼──────┤");
printf("\n\t│ │ │ │ │");
printf("\n\t├──────┼──────┼──────┼──────┤");
printf("\n\t│ │ │ │ │");
printf("\n\t└──────┴──────┴──────┴──────┘");
show( );
}
void show( ) //输出界面
{ for(i=0;i4;i++)
for(j=0;j4;j++)
{ gtxy(7*j+9,2*i+4); //gtxy(7*j+9, 2*i+4)是光标到指定位置输出数字
if(a[i][j]==0){printf(" "); setColor(7, 0); printf("│");}
else if(a[i][j]10){ if (a[i][j] == 2) {setColor(14, 0); }
else if (a[i][j] == 4) {setColor(13, 0); }
else if (a[i][j] == 8) {setColor(12, 0); }
printf(" %d ", a[i][j]); setColor(7, 0); printf("│");
}
else if (a[i][j] 100){if (a[i][j] == 16) {setColor(12, 0); }
else if (a[i][j] == 32) {setColor(10, 0); }
else if (a[i][j] == 64) {setColor(2, 0); }
printf(" %d ", a[i][j]); setColor(7, 0); printf("│");
}
else if (a[i][j] 1000) {if (a[i][j] == 128) {setColor(9, 0); }
else if (a[i][j] == 256) {setColor(1, 0); }
else if (a[i][j] == 512) {setColor(13, 0); }
printf(" %d ", a[i][j]); setColor(7, 0); printf("│");
}
else if (a[i][j] 10000) {if (a[i][j] == 1024) {setColor(5, 0); }
else {setColor(15, 0); }
printf(" %d ", a[i][j]); setColor(7, 0); printf("│");
}
}
if (jsk( ) == 0)
{ yes( ); if (over) { gtxy(9,12); setColor(10, 0);
printf("\n\n 游戏结束!是否继续? [ Y/N ]:"); }
}
}
void inkey( ) //按键输入
{ int key;
while (1)
{ key = getch( );
if (over) { if (key == 89|| key == 121) {rsgm( ); continue; }
else if (key == 78|| key == 110) { return; }
else continue; }
ifnum = 0;
if(key==224)key=getch( );
switch (key)
{ case 75: left( ); break;
case 77: right( ); break;
case 72: up( ); break;
case 80: down( );break;
}
if (score best) { best = score; }
if (ifnum) { adnum( ); show( ); }
}
}
int jsk( ) //计算空格数
{ int n = 0;
for (i = 0; i 4; i++)
{ for (j = 0; j 4; j++) { if ( a[i][j] == 0) {n++;} } }
return n;
}
void left( ) //向左移动
{ for (i = 0; i 4; i++)
{for (j = 1, k = 0; j 4; j++)
{ if (a[i][j] 0)
{ if ( a[i][k] == a[i][j])
{ a[i][k] *= 2; k++;
score = score + 2 * a[i][j];
a[i][j] = 0; ifnum = 1; }
else if ( a[i][k] == 0) { a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }
else { a[i][k + 1] = a[i][j]; if ((k + 1) != j) { a[i][j] = 0; ifnum = 1; }
k++; }
}
}
}
}
void right( ) //向右移动
{for (i = 0; i 4; i++)
{for (j = 2, k = 3; j = 0; j--)
{if (a[i][j] 0)
{ if (a[i][k] == a[i][j])
{a[i][k] *= 2; k--; score = score + 2 * a[i][j]; a[i][j] = 0; ifnum = 1; }
else if ( a[i][k] == 0) {a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }
else { a[i][k - 1] = a[i][j]; if ((k - 1) != j) { a[i][j] = 0; ifnum = 1; } k--; }
}
}
}
}
void up( ) //向上移动
{for (i = 0; i 4; i++)
{for (j = 1, k = 0; j 4; j++)
{if (a[j][i] 0)
{if ( a[k][i] == a[j][i]) { a[k][i] *= 2; k++;score = score + 2 * a[j][i];
a[j][i] = 0; ifnum = 1; }
else if ( a[k][i] == 0) { a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }
else { a[k + 1][i] = a[j][i]; if ((k + 1) != j) { a[j][i] = 0; ifnum = 1; }
k++; }
}
}
}
}
void down( ) //向下移动
{ for (i = 0; i 4; i++)
{for (j = 2, k = 3; j = 0; j--)
{if (a[j][i] 0)
{if (a[k][i] == a[j][i])
{a[k][i] *= 2; k--;score = score + 2 * a[j][i]; a[j][i] = 0; ifnum = 1; }
else if (a[k][i] == 0) {a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }
else {a[k - 1][i] = a[j][i];
if ((k - 1) != j) {a[j][i] = 0; ifnum = 1; } k--; }
}
}
}
}
void adnum( ) //添加随机数
{ srand(time(0)); //启动随机数发生器
int n = rand( ) % jsk( );
for (int i = 0; i 4; i++)
{for (int j = 0; j 4; j++)
{ if (a[i][j] == 0) { if (n != 0) { n--; }
else {int k = rand() % 3;
if (k == 0 || k == 1) {a[i][j] = 2; return; }
else {a[i][j] = 4; return; } }
}
}
}
}
void yes( ) //游戏是否结束
{ for (int i = 0; i 4; i++)
{for (int j = 0; j 3; j++)
{if (a[i][j] == a[i][j + 1] || a[j][i] == a[j + 1][i]) {over = 0; return; }}
}
over = 1;
}
void gtxy(int x, int y) //控制光标位置的函数
{ COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
你并没有把详细的 C 语言基础代码写出来,别人怎么帮助你添加注释语句啊?因为所说的 C 语言基础代码实际上并没有一定之规。怎么样才算是基础代码、有几行代码就可以、足够了?这些都是灵活的、并不是一成不变的。例如,最、最简单的 C 语言基础代码就是:很多 C 语言教材上的第一个程序,输出:"Hello, World !"。该详细的 C 语言代码如下:
#include stdio.h /* 基本输入输出头文件,包括:printf、scanf等的库函数原型说明 */
void main( ) /* 任何一个 C 语言源代码都必须包含主函数 main( ),void 表示该函数不返回任何值 */
{ /* 在 C 语言代码中,任何一个函数都是以 { 开始,并且以 } 结束 */
printf( "Hello, World !\n" ) ; /* 在电脑屏幕上输出字符串:Hello, World */
}
我们的父母 养育了我们。除了我们的成长,我们的父母 在我们身上投入的血汗 是非常除夕的 ,我们经常需要 来照顾...
转邪有孬几种意义。一是指由副职转为邪职,如为考查 或人 的才能 ,先录用 其肩负某岗亭 的副职,经由 一系列考查 以为 及格 后,转为邪职。两是指组织的非邪式成员酿成 邪式成员,如试用期职工停止 试用期,转为单元 的邪式职工。而西席 也须要 阅历 从练习 到邪式的阶段。这么也须要 写西席 转邪申请书...
教术论文研人员 来说,揭露 教术论文是一项非常重要的工作 。级 的教术论文往往象征着它是否能在自己的 教术生活...
对嫩板的个怀疑的感激 怀疑:你胆小!我在你的美容院工作了一个多月。有了你尽可能多的种植,我别无选择,只能从一个...
事情 总结和处理 每个专业人士的长度 通常是主要的 ,特别是在年底 ,许多 私人公司 请求接受一个事情 总结。...
基本上,对于 专业人士来说,他们都需要 写自己 的东西 总结。如果他们这样对付 销售 员工 ,他们怎么能写出自...