1、C语言程序代码
4、c语言编程代码
8、求C语言编程代码
C语言程序代码
char A = "abc";
char B = "bcd" char C = "cde";
char D;
B=C;C=D;D=B;
或者直接运用位运算。
求简单C语言程序代码!
小游戏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语言编程,要全代码
需要一个编译器如dev c++(推荐),vc等
在编译器里新建一个cpp文件,写代码如下:
#includestdio.h
int main()
int total=0,id,n,a[3]={245,570,网球拍价格};
char x;
while (1)
printf("输入商品编号:");
scanf("%d",id);
printf("\n输入购买数量:");
scanf(%d",n);
if(id==1) {printf("T恤:245 数量:%d 合计:%d",a[0]*n);total+=a[0]*n;}
if(id==2) {printf("网球鞋:570 数量:%d 合计:%d",a[1]*n);total+=a[1]*n;}
if(id==3) {printf("网球拍:网球拍价格我不知道 数量:%d 合计:%d",a[2]*n);total+=a[2]*n;}
printf("\n继续?(y/n)");
scanf("%c",x);
if (x=='n') break;
printf("折扣:0.6“);
printf("应付价格:%d",total*0.6);
printf("实付金额:");
int money;
scanf("%d",money);
printf("找零:%d",money-total);
return 0;
p.s 我直接在网页里打得也没有编译,复制去试试应该没什么问题,可能也就一些格式啊什么的,关于金额,可以在a[3]={...,...,...}这里变,反正先看懂应该没问题
c语言编程代码
例如:输入某年某月某日,判断这一天是这一年的第几天。
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
复制代码 代码如下:
main()
int day,month,year,sum,leap;
printf("\nplease input year,month,day\n");
scanf("%d,%d,%d",year,month,day);
switch(month)/*先计算某月以前月份的总天数*/
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
defaultrintf("data error");break;
sum=sum+day; /*再加上某天的天数*/
if(year%400==0||(year%4==0year%100!=0))/*判断是不是闰年*/
leap=1;
else
leap=0;
if(leap==1month2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("It is the %dth day.",sum); }
c语言基础代码,越详细,解释越简单,越好
你并没有把详细的 C 语言基础代码写出来,别人怎么帮助你添加注释语句啊?因为所说的 C 语言基础代码实际上并没有一定之规。怎么样才算是基础代码、有几行代码就可以、足够了?这些都是灵活的、并不是一成不变的。例如,最、最简单的 C 语言基础代码就是:很多 C 语言教材上的第一个程序,输出:"Hello, World !"。该详细的 C 语言代码如下:
#include stdio.h /* 基本输入输出头文件,包括:printf、scanf等的库函数原型说明 */
void main( ) /* 任何一个 C 语言源代码都必须包含主函数 main( ),void 表示该函数不返回任何值 */
{ /* 在 C 语言代码中,任何一个函数都是以 { 开始,并且以 } 结束 */
printf( "Hello, World !\n" ) ; /* 在电脑屏幕上输出字符串:Hello, World */
最简单的C语言代码
补加#include stdio.h后没有问题了啊,难道你是指输出的结果不是你想要的,那么你可以将换行符放到字符串后面,如:
printf("\nHello World");=printf("Hello World\n");
是不是就是你想要的效果?
另外,main函数没有参数的,不用加个void在里面。
C语言基本代码,求详细解释,越详细越好。
如下所示,最简单的一段代码
#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
求C语言编程代码
在实现基本要求的前提下,拓展了可以从键盘输入的功能,以下为各题代码,望采纳。
第一题:
#include stdlib.h
#include stdio.h
float score[10] = {60,61,62,63,64,65,66,67,68,69};
//从键盘获取分数
float get_score_from_stdin(float *m_score,int num)
int i = 0;
for(i = 0;inum;i++)
printf("请输入第 %d 个学生成绩:", i);
scanf("%f",m_score[i]);
return 0;
// 求平均数
float get_average_score(float *m_score,int num)
float sum = 0;
int i = 0;
for(i = 0;inum;i++)
sum += m_score[i];
float f_num = (float)(num*1.0);
return sum/f_num;
// 求最大数
float get_max_score(float *m_score,int num)
float max_score = 0.0;
max_score = m_score[0];
int i = 0;
for(i = 1;inum;i++)
if(max_scorem_score[i])
max_score = m_score[i];
return max_score;
// 求最小数
float get_min_score(float *m_score,int num)
float min_score = 0.0;
min_score = m_score[0];
int i = 0;
for(i = 1;inum;i++)
if(m_score[i] min_score)
min_score = m_score[i];
return min_score;
int main()
char flag = 'N';
printf("请问你想从键盘获取10个成绩吗?(Y/N):");
scanf("%c",flag);
int score_num = sizeof(score)/sizeof(score[0]);
if(flag == 'Y' || flag == 'y')
get_score_from_stdin(score,score_num);
printf("平均数:%f,最高分:%f\n,最低分:%f \n",\
get_average_score(score,score_num),
get_max_score(score,score_num) ,\
get_min_score(score,score_num));
return 0;
第二题:
#include stdio.h
#include stdlib.h
/*如果想显示更多行,最好是分配多一些,单纯这个程序就算溢出也不会显露问题*/
int binomial_ary[10][10]={0};
int main()
int rowNum = 10;//显示总行数
char flag = 'N';
printf("请问你想从键盘输入显示多少行?默认10行(Y/N):");
scanf("%c",flag);
if(flag == 'Y' || flag == 'y')
printf("请输入要显示多少行:");
scanf("%d",rowNum);
int rowNo = 0;//行号
int columnNo = 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("\n");//换行的时候打印一个换行符
return 0;
第三题:
#include stdlib.h
#include stdio.h
#define MATRIC_NUM 3
float matri_ary[MATRIC_NUM][MATRIC_NUM] = {{1,2,3},{4,5,6},{7,8,9}};
int main()
float maxNum[MATRIC_NUM]={0};//存储每一行的最大数
float maxNumSum = 0;//每一行最大数的加和
int i=0,j=0;
for(i=0;iMATRIC_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 \n",i+1,maxNum[i]);
maxNumSum += maxNum[i];
printf("每一行最大值加和为:%lf\n",maxNumSum);
return 0;