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;
}

注釋詳細,條理清晰!