C语言编程(详细,简洁)
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
1.程序分析:
2.程序源代码:
main()
{
int number[20],n,m,i;
printf("the total numbers is:");
scanf("%d",n);
printf("back m:");
scanf("%d",m);
for(i=0;in-1;i++)
scanf("%d,",number[i]);
scanf("%d",number[n-1]);
move(number,n,m);
for(i=0;in-1;i++)
printf("%d,",number[i]);
printf("%d",number[n-1]);
}
move(array,n,m)
int n,m,array[20];
{
int *p,array_end;
array_end=*(array+n-1);
for(p=array+n-1;parray;p--)
*p=*(p-1);
*array=array_end;
m--;
if(m0) move(array,n,m);
}
---------------------
略
--------------
打印出杨辉三角形(要求打印出10行如下图)
1.程序分析:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
2.程序源代码:
main()
{int i,j;
int a[10][10];
printf("\n");
for(i=0;i10;i++)
{a[i][0]=1;
a[i][i]=1;}
for(i=2;i10;i++)
for(j=1;ji;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i10;i++)
{for(j=0;j=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
写一个简短的C语言代码
#include stdio.h
int main()
{
double a,b,c;
scanf("%lf",a);
scanf("%lf",b);
c=a+b;
printf("first number:%.2lf",a);
printf("\nsecond number%.2lf",b);
printf("\n\t%.2lf",a);
printf("\n+\t%.2lf",b);
printf("\n-------------\n");
printf(" %.2lf\n",c);
return 0;
}
最简单的C语言程序是什么?
在屏幕上输出 “This is a C program。”
#include//这是编译预处理指令
int main() //定义主函数
{ //函数开始的标志
printf ("This is a C program。\n");//输出所指定的一行信息
return 0; //函数执行完毕之后返回函数值0
} //函数结束的标志。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
最简单的c语言编程
很多程序都是非常简单的:
1.输入2个正整数m和n,求其最大公约数和最小公倍数
#includestdio.h
#includemath.h
int main()
{
int m,n,p,q,s,r;
printf("请输入两个正整数;m,n\n");
scanf("%d,%d",m,n);
s=m*n;
if(mn)
{
p=m;
m=n;
n=p;
}
printf("%d\t%d\n",m,n);/*按从大到小输出m,n */
while(n!=0)
{
q=m%n;
m=n;
n=q;
}
/*是不是m才是最大公约数啊*/
r=s/m;
printf("m和n最大公约数为 %d\n",m);
printf("m和n最小公倍数为 %d\n",r);/*m和n的积除以m和n的最大公约数即为最小公倍数*/
return 0;
}
2.输出100以内能被3整除且个位数为6的所有整数。
#includestdio.h
int main(void)
{
int i;
for(i=1;i=100;i++)
if(i%3==0i%10==6)printf("%d ",i);
return 0;
}
3. 编程计算从1到10各数阶乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和
#includestdio.h
int main(void)
{
int sum,i,term;
sum=0;
term=1;
for(i=1;i=10;i++)
{
term=term*i;
sum=sum+term;
printf("%d的阶乘 %d\n",i,term);
}
printf("1到10各数阶乘的和 %d\n",sum);
return 0;
}
4.使用嵌套循环产生下列由大写字母组成的图
#includestdio.h
int main(void)
{
char ch1,ch2;
for(ch1='A';ch1='Z';ch1++)
{
for(ch2='A';ch2=ch1;ch2++)
printf("%c",ch2);
printf("\n");
}
return 0;
}
5. 编程输出所有三位数中的素数。
#includestdio.h
int main(void)
{
int x,i;
for(x=100;x=999;x++)
{
for(i=2;ix/2;i++)
if(x%i==0)break;
if(i==x/2)printf("%d ",x);
}
return 0;
}
6. 定义一个函数even(),判断一个整数是否是偶数。如果是偶数返回1,否则返回0。(要求包括能使程序正常运行的主函数)
#includestdio.h
int main(void)
{
int even(int);
int x,y;
scanf("%d",x);
y=even(x);
if(y==1)
printf("%d 是偶数\n",x);
else
printf("%d 是奇数\n",x);
return 0;
}
int even(int x)
{
if(x%2==0)
return 1;
else
return 0;
}
7. 编写函数mypow,求整型变量x的y次方。(要求包括能使程序正常运行的主函数)
#includestdio.h
int main(void)
{
int mypow(int,int);
int x,y,s;
scanf("%d%d",x,y);
s=mypow(x,y);
printf("%d的%d次方是 %d\n",x,y,s);
return 0;
}
int mypow(int x,int y)
{
int sum,i;
sum=1;
for(i=1;i=y;i++)
sum=sum*x;
return sum;
}
8.输入一个3位整数,输出它的逆序数。例如,输入127,输出应该是721。
#includestdio.h
int main(void)
{
int x,y;
scanf("%d",x);
y=x/100+x/10%10*10+x%10*100;
printf("%d的逆序数 %d\n",x,y);
return 0;
}
求简单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语言源程序代码都包括哪些?
您好,很高兴回答您的问题。
在C语言中,无论是什么样程度的代码程序,都包含有以下几个方面:
宏定义(或者包含的头文件,视情况而定)
函数返回值类型 主函数(类型 变量)
{变量定义或者初始化;
输入语句;
计算语句;
输出语句;
}
函数返回值类型 函数名(类型 变量,类型 变量,。。。)(自定义函数视情况而定)
{变量定义或者初始化;
输入语句;
计算语句;
输出语句;
}