十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
为了中心对称,显然要用空格补齐前面的位置,循环才能做到。
富平ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
#include stdio.h
void tow(char c,int n)
{
for (int i=1;i=n;i++)
{
for(int j=1;j=n-i;j++)
{
printf(" ",c);
}
for(int k=1;k=i;k++)
{
printf("%c ",c);
}
printf("\n");
}
}
void main()
{
char c=0;
int n;
printf("输入du字符:zhi");
scanf("%c",c);
printf("输入行数:");
scanf("%d",n);
tow(c,n);
}
扩展资料:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
参考资料来源:百度百科-c语言
4 二进制左移4位,也就是*16
如:
int x = 10;
int y = x 4;
printf( "%d", y );
输出160 ;
那么上面就是如果xx[i][j]的值*16后大于32而且小于或等于100的话,就执行下面的语句
itoa函数
是int 转string类型的一个函数 msdn上是这么写的
_itoa, _i64toa, _ui64toa, _itow, _i64tow, _ui64tow
Convert an integer to a string.
char *_itoa( int value, char *string, int radix );
char *_i64toa( __int64 value, char *string, int radix );
char * _ui64toa( unsigned _int64 value, char *string, int radix );
wchar_t * _itow( int value, wchar_t *string, int radix );
wchar_t * _i64tow( __int64 value, wchar_t *string, int radix );
wchar_t * _ui64tow( unsigned __int64 value, wchar_t *string, int radix );
Routine Required Header Compatibility
_itoa stdlib.h Win 95, Win NT
_i64toa stdlib.h Win 95, Win NT
_ui64toa stdlib.h Win 95, Win NT
_itow stdlib.h Win 95, Win NT
_i64tow stdlib.h Win 95, Win NT
_ui64tow stdlib.h Win 95, Win NT
For additional compatibility information, see Compatibility in the Introduction.
Libraries
LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version
MSVCRT.LIB Import library for MSVCRT.DLL, retail version
Return Value
Each of these functions returns a pointer to string. There is no error return.
Parameters
value
Number to be converted
string
String result
radix
Base of value; must be in the range 2 – 36
Remarks
The _itoa, _i64toa, and _ui64toa function convert the digits of the given value argument to a null-terminated character string and stores the result (up to 33 bytes) in string. If radix equals 10 and value is negative, the first character of the stored string is the minus sign ( – ). _itow, _i64tow, and _ui64tow are wide-character versions of _itoa, _i64toa, and _ui64toa respectively.
Generic-Text Routine Mappings
TCHAR.H Routine _UNICODE _MBCS Not Defined _MBCS Defined _UNICODE Defined
_itot _itoa _itoa _itow
Example
/* ITOA.C: This program converts integers of various
* sizes to strings in various radixes.
*/
#include stdlib.h
#include stdio.h
void main( void )
{
char buffer[20];
int i = 3445;
long l = -344115L;
unsigned long ul = 1234567890UL;
_itoa( i, buffer, 10 );
printf( "String of integer %d (radix 10): %s\n", i, buffer );
_itoa( i, buffer, 16 );
printf( "String of integer %d (radix 16): 0x%s\n", i, buffer );
_itoa( i, buffer, 2 );
printf( "String of integer %d (radix 2): %s\n", i, buffer );
_ltoa( l, buffer, 16 );
printf( "String of long int %ld (radix 16): 0x%s\n", l,
buffer );
_ultoa( ul, buffer, 16 );
printf( "String of unsigned long %lu (radix 16): 0x%s\n", ul,
buffer );
}
Output
String of integer 3445 (radix 10): 3445
String of integer 3445 (radix 16): 0xd75
String of integer 3445 (radix 2): 110101110101
String of long int -344115 (radix 16): 0xfffabfcd
String of unsigned long 1234567890 (radix 16): 0x499602d2
Data Conversion Routines
See Also _ltoa, _ultoa
//最符合题意的答案,没有超过本章知识点,可以完全升级下面的答案,简洁明了
#includestdio.h
int tow(int *,int);
int tow(int a[],int n)
{int yu=0;
while(n!=0)
{ a[yu]=n%2;
n=n/2;
yu++;
}
return yu;
}
int main()
{ int a[10000],num,n;
printf("input num:");
scanf("%d",num);
n=tow(a,num);
for(n--;n=0;n--)//注意这里第一个n--;只执行一次,没有他数组下标会越界
printf("%d",a[n]);
return 0;
}
书本上是这样的,double pow(double x, double y); 求教函数参数非得是.
原型:extern float pow(float x, float y); 用法:#include 功能:计算x的y次幂。 说明:x应大于零,返回幂指数的结果。 举例: // pow.c #include #include.
这个函数在头文件中是这样定义的:long double pow(long double,int)”“float 。
在VC++6.0中原型为double pow( double x, double y ); 头文件:cmath 功能:计算x的y次幂。返回值:x不能为负数且y为小数,或者x为0且y小于等于0,返回幂指数的结果.
C语言里面怎么使用pow函数啊,比如我要计算10的x次方怎么写,为什么我写。
#include#include //必须引用头文件 int main() { int x; double d ; //pow返回结果为double类型 printf("input x: " ); scanf("%d", x ); d=pow(10,x) ; //函数.
#include "stdio.h"
#define N 20
void Largesttow (int a[],int n,int *pfirst,int *psecond){
int i,j,k;
for(i=0;in;i++){
for(k=i,j=k+1;jn;j++)
if(a[k]a[j])
k=j;
if(k!=i)
j=a[k],a[k]=a[i],a[i]=j;
if(a[i]!=a[0]){
*pfirst=a[0];
*psecond=a[i];
return;
}
else if(i==n-1)
*pfirst=*psecond=a[0];
}
}
int main(int argv,char *argc[]){
int i,n,a[N],max1,max2;
printf("Please enter n(int 0n=N)...\nn=");
if(scanf("%d",n)!=1 || n1 || nN){
printf("Input error, exit...\n");
return 0;
}
printf("Please enter %d integers...\n",n);
for(i=0;in;i++)
scanf("%d",a[i]);
Largesttow(a,n,max1,max2);
if(max1!=max2)
printf("\n%d %d\n",max1,max2);
else
printf("\nOnly one number: %d\n",max1);
return 0;
}
运行样例:
//声明
#includestdio.h
#includestdlib.h
#includetime.h
#includeconio.h
#includewindows.h
#define SIZE 4
static int score=0;
void putn(int n[][SIZE]);
void getn(int n[][SIZE]);
int isempty(int n[][SIZE]);
int isfull(int n[][SIZE]);
void math(int n[][SIZE],char c);
void tow(int n[][SIZE]);
void toa(int n[][SIZE]);
void tos(int n[][SIZE]);
void tod(int n[][SIZE]);
//主函数
int main()
{
int i,j;
int n[SIZE][SIZE];
char c=' ';
for(i=0;iSIZE;i++)
{
for(j=0;jSIZE;j++)
{
n[i][j]=0;
}
}
printf( "***********************\n"
" 2048(%dX%d) \n"
" control:W/A/S/D \n"
"press any key to begin \n"
"***********************\n",SIZE,SIZE);
getch();
system("cls");
//n[0][1]=2048;
//n[0][3]=2048;
while(1)
{
if(isempty(n))
getn(n);
putn(n);
if(!isempty(n)isfull(n))
break;
sleep(200);
c=getch();
while(c!='w'c!='a'c!='s'c!='d')
c=getch();
math(n,c);
system("cls");
}
printf(" Game Over!\n",score);
return 0;
}
//函数
void putn(int n[][SIZE])
{
int i,j;
for(i=0;iSIZE;i++)
{
for(j=0;jSIZE;j++)
printf("| ");
printf("|\n");
for(j=0;jSIZE;j++)
{
if(n[i][j]==0)
printf("| ");
else
printf("|%4d ",n[i][j]);
}
printf("|\n");
for(j=0;jSIZE;j++)
printf("|_____");
printf("|\n");
}
printf("score: %d",score);
}
void getn(int n[][SIZE])
{
int a,b;
a=rand()%SIZE;
b=rand()%SIZE;
while(n[a][b]!=0)
{
a=rand()%SIZE;
b=rand()%SIZE;
}
n[a][b]=2;
}
int isempty(int n[][SIZE])
{
int i,j,count=0;
for(i=0;iSIZE;i++)
for(j=0;jSIZE;j++)
if(n[i][j]==0)
count++;
return count;
}
int isfull(int n[][SIZE])
{
int i,j,count=0;
for(i=0;iSIZE;i++)
{
for(j=1;jSIZE-1;j++)
{
if(n[i][j]==n[i][j+1]||n[i][j]==n[i][j-1])
count++;
}
}
for(j=0;jSIZE;j++)
{
for(i=1;iSIZE-1;i++)
{
if(n[i][j]==n[i+1][j]||n[i][j]==n[i-1][j])
count++;
}
}
return count0?0:1;
}
void math(int n[][SIZE],char c)
{
switch(c)
{
case 'w':tow(n);break;
case 'a':toa(n);break;
case 's':tos(n);break;
case 'd':tod(n);break;
default :;
}
}
void tow(int n[][SIZE])
{
int i,j,a;
int m[SIZE];
for(a=0;aSIZE;a++)
m[a]=0;
for(j=0;jSIZE;j++)
{
for(a=0;aSIZE;a++)
{
for(i=0;iSIZE-1;i++)
{
if(n[i][j]==0)
{
n[i][j]=n[i+1][j];
n[i+1][j]=0;
}
}
}
}
for(j=0;jSIZE;j++)
{
for(a=0,i=0;iSIZE;i++)
{
if(n[i][j]!=n[i+1][j]n[i][j]!=0||n[i][j]==2048)
{
m[a++]=n[i][j];
n[i][j]=0;
}
else if(n[i][j]==n[i+1][j])
{
m[a++]=n[i][j]+n[i+1][j];
score+=m[a-1];
n[i][j]=0,n[i+1][j]=0;
}
}
for(i=0;iSIZE;i++)
{
n[i][j]=m[i];
m[i]=0;
}
}
}
void toa(int n[][SIZE])
{
int i,j,a;
int m[SIZE];
for(a=0;aSIZE;a++)
m[a]=0;
for(i=0;iSIZE;i++)
{
for(a=0;aSIZE;a++)
{
for(j=0;jSIZE-1;j++)
{
if(n[i][j]==0)
{
n[i][j]=n[i][j+1];
n[i][j+1]=0;
}
}
}
}
for(i=0;iSIZE;i++)
{
for(a=0,j=0;jSIZE;j++)
{
if(n[i][j]!=n[i][j+1]n[i][j]!=0||n[i][j]==2048)
{
m[a++]=n[i][j];
n[i][j]=0;
}
else if(n[i][j]==n[i][j+1])
{
m[a++]=n[i][j]+n[i][j+1];
score+=m[a-1];
n[i][j]=0,n[i][j+1]=0;
}
}
for(j=0;jSIZE;j++)
{
n[i][j]=m[j];
m[j]=0;
}
}
}
void tos(int n[][SIZE])
{
int i,j,a;
int m[SIZE];
for(a=0;aSIZE;a++)
m[a]=0;
for(j=SIZE-1;j=0;j--)
{
for(a=SIZE-1;a=0;a--)
{
for(i=SIZE-1;i0;i--)
{
if(n[i][j]==0)
{
n[i][j]=n[i-1][j];
n[i-1][j]=0;
}
}
}
}
for(j=SIZE-1;j=0;j--)
{
for(a=SIZE-1,i=SIZE-1;i=0;i--)
{
if(n[i][j]!=n[i-1][j]n[i][j]!=0||n[i][j]==2048)
{
m[a--]=n[i][j];
n[i][j]=0;
}
else if(n[i][j]==n[i-1][j])
{
m[a--]=n[i][j]+n[i-1][j];
score+=m[a+1];
n[i][j]=0,n[i-1][j]=0;
}
}
for(i=SIZE-1;i=0;i--)
{
n[i][j]=m[i];
m[i]=0;
}
}
}
void tod(int n[][SIZE])
{
int i,j,a;
int m[SIZE];
for(a=0;aSIZE;a++)
m[a]=0;
for(i=SIZE-1;i=0;i--)
{
for(a=SIZE-1;a=0;a--)
{
for(j=SIZE-1;j0;j--)
{
if(n[i][j]==0)
{
n[i][j]=n[i][j-1];
n[i][j-1]=0;
}
}
}
}
for(i=SIZE-1;i=0;i--)
{
for(a=SIZE-1,j=SIZE-1;j=0;j--)
{
if(n[i][j]!=n[i][j-1]n[i][j]!=0||n[i][j]==2048)
{
m[a--]=n[i][j];
n[i][j]=0;
}
else if(n[i][j]==n[i][j-1])
{
m[a--]=n[i][j]+n[i][j-1];
score+=m[a+1];
n[i][j]=0,n[i][j-1]=0;
}
}
for(j=SIZE-1;j=0;j--)
{
n[i][j]=m[j];
m[j]=0;
}
}
}
需要注意的是:
srand((unsigned) time(0);rand();是固定形式,不要更改任何一个字符!
如果不能编译,请把sleep(200);注释掉,如果提示不能找到system("cls");请把system("cls")更换为clrscr()。
c语言中没有类,只有结构,也可以像类一样编写,用结构,但其成员都是公开访问的,C++才有真正的类。