c语言程序代码

char A = "abc";
char B = "bcd" char C = "cde";
char D;
B=C;C=D;D=B;
或者直接运用位运算。

㈡ 求简单C语言程序代码!

小游戏2048源码:

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<time.h>

#include<windows.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(" 2048小游戏"); setColor(7, 0); //恢复白字黑底

printf(" ┌──────┬──────┬──────┬──────┐");

printf(" │ │ │ │ │");

printf(" ├──────┼──────┼──────┼──────┤");

printf(" │ │ │ │ │");

printf(" ├──────┼──────┼──────┼──────┤");

printf(" │ │ │ │ │");

printf(" ├──────┼──────┼──────┼──────┤");

printf(" │ │ │ │ │");

printf(" └──────┴──────┴──────┴──────┘");

show( );

}

void show( ) //输出界面

{ for(i=0;i<4;i++)

for(j=0;j<4;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(" 游戏结束!是否继续? [ 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语言编程代码

在实现基本要求的前提下,拓展了可以从键盘输入的功能,以下为各题代码,望点赞。

第一题:

#include<stdlib.h>
#include<stdio.h>
floatscore[10]={60,61,62,63,64,65,66,67,68,69};
//从键盘获取分数
floatget_score_from_stdin(float*m_score,intnum)
{
inti=0;
for(i=0;i<num;i++)
{
printf("请输入第%d个学生成绩:",i);
scanf("%f",&m_score[i]);
}
return0;
}
//求平均数
floatget_average_score(float*m_score,intnum)
{
floatsum=0;
inti=0;
for(i=0;i<num;i++)
{
sum+=m_score[i];
}
floatf_num=(float)(num*1.0);
returnsum/f_num;
}
//求最大数
floatget_max_score(float*m_score,intnum)
{
floatmax_score=0.0;
max_score=m_score[0];
inti=0;
for(i=1;i<num;i++)
{
if(max_score<m_score[i])
{
max_score=m_score[i];
}
}
returnmax_score;
}
//求最小数
floatget_min_score(float*m_score,intnum)
{
floatmin_score=0.0;
min_score=m_score[0];
inti=0;
for(i=1;i<num;i++)
{
if(m_score[i]<min_score)
{
min_score=m_score[i];
}
}
returnmin_score;
}
intmain()
{
charflag='N';
printf("请问你想从键盘获取10个成绩吗?(Y/N):");
scanf("%c",&flag);
intscore_num=sizeof(score)/sizeof(score[0]);
if(flag=='Y'||flag=='y')
{
get_score_from_stdin(score,score_num);
}
printf("平均数:%f,最高分:%f ,最低分:%f ",
get_average_score(score,score_num),
get_max_score(score,score_num),
get_min_score(score,score_num));
return0;

}

第二题:

#include<stdio.h>
#include<stdlib.h>
/*如果想显示更多行,最好是分配多一些,单纯这个程序就算溢出也不会显露问题*/
intbinomial_ary[10][10]={0};
intmain()
{
introwNum=10;//显示总行数
charflag='N';
printf("请问你想从键盘输入显示多少行?默认10行(Y/N):");
scanf("%c",&flag);
if(flag=='Y'||flag=='y')
{
printf("请输入要显示多少行:");
scanf("%d",&rowNum);
}

introwNo=0;//行号
intcolumnNo=rowNo;//列号
for(rowNo=0;rowNo<rowNum;rowNo++)
{
for(columnNo=0;columnNo<rowNo+1;columnNo++)//每一行从0开始,一直计算到列数等于行数
{
if(columnNo==0||columnNo==rowNo)//列数为0或者列数等于行数(最后一列),为1
{
binomial_ary[rowNo][columnNo]=1;
}
else
{
/*每一行除了头尾两个数,每个列号的数值都等于前一行的前一列号的数值加当前列号的数值*/
binomial_ary[rowNo][columnNo]=binomial_ary[rowNo-1][columnNo-1]+binomial_ary[rowNo-1][columnNo];
}
printf("%d",binomial_ary[rowNo][columnNo]);
}
printf(" ");//换行的时候打印一个换行符
}
return0;
}

第三题:

#include<stdlib.h>
#include<stdio.h>
#defineMATRIC_NUM3
floatmatri_ary[MATRIC_NUM][MATRIC_NUM]={{1,2,3},{4,5,6},{7,8,9}};
intmain()
{
floatmaxNum[MATRIC_NUM]={0};//存储每一行的最大数
floatmaxNumSum=0;//每一行最大数的加和
inti=0,j=0;
for(i=0;i<MATRIC_NUM;i++)
{
maxNum[i]=matri_ary[i][0];//最大值先附初值,每一行的的第一个数
for(j=1;j<=i;j++)
{
/*每一行获取最大值*/
if(maxNum[i]<matri_ary[i][j])
{
maxNum[i]=matri_ary[i][j];
}

}
printf("矩阵的第%d行最大值为%f ",i+1,maxNum[i]);
maxNumSum+=maxNum[i];
}

printf("每一行最大值加和为:%lf ",maxNumSum);
return0;
}

㈤ C语言编写代码

两种方法我写在一起,可以独立拆开。

#include <stdio.h>

void finda1(char a[3][10]);

void finda2(char a[3][10]);

void show(char (*p)[10]);

int main()

{

char a[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

printf("原数组内容: ");

show(a);

printf(" 1、用数组指针的方法(函数finda1): ");

finda1(a);

printf("执行后: ");

show(a);


printf(" --------------------- ");


char b[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

printf("原数组内容: ");

show(a);

printf(" 2、用指针数组的方法(函数finda2): ");

finda2(b);

printf("执行后: ");

show(b);

return 0;

}

void finda1(char a[3][10])

{

int i,j;

char (*p)[10]=a;

for(i=0;i<3;i++)

for(j=0;j<10;j++)

if(p[i][j]=='a')

printf("发现:第%d行第%d个元素是‘a’,已替换 ",i+1,j+1),p[i][j]='1';

}

void finda2(char a[3][10])

{

int i,j;

char *p[3]={&a[0][0],&a[1][0],&a[2][0]};

for(i=0;i<3;i++)

for(j=0;j<10;j++)

if(p[i][j]=='a')

printf("发现:第%d行第%d个元素是‘a’,已替换 ",i+1,j+1),p[i][j]='1';


}

void show(char (*p)[10])

{

int i,j;

for(i=0;i<3;i++,printf(" "))

for(j=0;j<10;j++)

printf("%c ",p[i][j]);

}

㈥ c语言源程序代码

你可以到“如鹏网”
里面就是讲C语言的
应该对你有用把
里面有视屏教学

㈦ 用C语言编写的代码程序( )

D gcc命令其实依次执行了四步操作:1.预处理(Preprocessing), 2.编译(Compilation), 3.汇编(Assemble), 4.链接(Linking)。

㈧ c语言编程代码

两种方法我写在一起,可以独立拆开。

#include <stdio.h>

void finda1(char a[3][10]);

void finda2(char a[3][10]);

void show(char (*p)[10]);

int main()

{

char a[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

printf("原数组内容: ");

show(a);

printf(" 1、用数组指针的方法(函数): ");

finda1(a);

printf("执行后: ");

show(a);


printf(" --------------------- ");


char b[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

printf("原数组内容: ");

show(a);

printf(" 2、用指针数组的方法(函数finda2): ");

finda2(b);

printf("执行后: ");

show(b);

return 0;

}

void finda1(char a[3][10])

{

int i,j;

char (*p)[10]=a;

for(i=0;i<3;i++)

for(j=0;j<10;j++)

if(p[i][j]=='a')

printf("发现:第%d行第%d个元素是‘a’,已替换 ",i+1,j+1),p[i][j]='1';

}

void finda2(char a[3][10])

{

int i,j;

char *p[3]={&a[0][0],&a[1][0],&a[2][0]};

for(i=0;i<3;i++)

for(j=0;j<10;j++)

if(p[i][j]=='a')

printf("发现:第%d行第%d个元素是‘a’,已替换 ",i+1,j+1),p[i][j]='1';


}

void show(char (*p)[10])

{

int i,j;

for(i=0;i<3;i++,printf(" "))

for(j=0;j<10;j++)

printf("%c ",p[i][j]);

}

㈨ C语言,求程序代码

#include<stdio.h>

int main()

{ char s[100],*p,*q;

gets(s);

for(p=q=s;*p;p++)

if(*p>='0'&&*p<='9'||*p>='A'&&*p<='F'||*p>='a'&&*p<='f')

*q++=*p;

*q='';

puts(s);

return 0;

}

㈩ C语言编写代码

#include<stdio.h>

/*
1
121
12321
121
1
*/
intmain(){
inti,j,n=0;

printf("输入一个正整数(1~9):");
scanf("%d",&n);

if(n<0||n>9){
//只处理1~9的整数(两位数以上的打不出菱形效果)
return0;
}

//打印菱形上半部分(包括中线)
for(i=1;i<=n;i++){
//打印一行

//1.打印行前面的空格数
for(j=1;j<=n-i;j++){
printf("");
}
//2.打印升序的数:123...
for(j=1;j<=i;j++){
printf("%d",j);
}
//3.打印降序的数:...21
for(j=i-1;j>=1;j--){
printf("%d",j);
}
//4.换行
printf(" ");
}

//打印菱形下半部分
for(i=n-1;i>=1;i--){
//打印一行

//1.打印行前面的空格数
for(j=1;j<=n-i;j++){
printf("");
}
//2.打印升序的数:123...
for(j=1;j<=i;j++){
printf("%d",j);
}
//3.打印降序的数:...21
for(j=i-1;j>=1;j--){
printf("%d",j);
}
//4.换行
printf(" ");
}

return0;
}

注释详细,条理清晰!