C程。从键盘上读入一个整型数,将其转化成字符串并输出。例如:输入123,则转换为字符串“123”

C程。从键盘上读入一个整型数,将其转化成字符串并输出。例如:输入123,则转换为字符串“123”,第1张

#include <stdioh>

void dtoc(long a, char str[]);

int main()

{

long intg;

char istr[20];

for(int i=0; i<20; i++)

istr[i] = '\0';

printf("Please input a long integer:");

scanf("%d", &intg);

dtoc(intg, istr);

printf("%s\n", istr);

return 0;

}

void dtoc(long a, char str[])

{

static int t=0;

if(a > 0)

{

dtoc(a/10, str);

str[t++] = a%10 + '0';

}

else if(a == 0)

{

str[t] = '0';

return;

}

else

{

str[t++] = '-';;

a = -a;

dtoc(a, str);

}

}

0x0f 这个串,0x是前缀,代表0x之后的数是16进制的数,就是说 0f是16进制数

0x0f 的10进制对应的值是 15,

前缀修饰:

0 作为前缀代表是8进制数

0x 作为前缀代表是16进制数

比如

012就是十进制的10 (八进制)

0x12就是十进制的18 (十六进制)

12 就是十进制的12 (十进制,十进制没有前缀)

#include <graphicsh>

#include <conioh>

#include <mathh>

// 定义全局变量

int rosesize = 500;

int h = -250;

// 定义结构体

struct DOT

{

double x;

double y;

double z;

double r; // 红色

double g; // 绿色

// b(蓝色) 通过 r 计算

};

// 计算点

bool calc(double a, double b, double c, DOT &d)

{

double j, n, o, w, z;

if(c > 60) // 花柄

{

dx = sin(a 7) (13 + 5 / (02 + pow(b 4, 4))) - sin(b) 50;

dy = b rosesize + 50;

dz = 625 + cos(a 7) (13 + 5 / (02 + pow(b 4, 4))) + b 400;

dr = a 1 - b / 2;

dg = a;

return true;

}

double A = a 2 - 1;

double B = b 2 - 1;

if(A A + B B < 1)

{

if(c > 37) // 叶

{

j = (int(c) & 1);

n = j 6 : 4;

o = 05 / (a + 001) + cos(b 125) 3 - a 300;

w = b h;

dx = o cos(n) + w sin(n) + j 610 - 390;

dy = o sin(n) - w cos(n) + 550 - j 350;

dz = 1180 + cos(B + A) 99 - j 300;

dr = 04 - a 01 + pow(1 - B B, -h 6) 015 - a b 04 + cos(a + b) / 5 + pow(cos((o (a + 1) + (B > 0 w : -w)) / 25), 30) 01 (1 - B B);

dg = o / 1000 + 07 - o w 0000003;

return true;

}

if(c > 32) // 花萼

{

c = c 116 - 015;

o = a 45 - 20;

w = b b h;

z = o sin(c) + w cos(c) + 620;

dx = o cos(c) - w sin(c);

dy = 28 + cos(B 05) 99 - b b b 60 - z / 2 - h;

dz = z;

dr = (b b 03 + pow((1 - (A A)), 7) 015 + 03) b;

dg = b 07;

return true;

}

// 花

o = A (2 - b) (80 - c 2);

w = 99 - cos(A) 120 - cos(b) (-h - c 49) + cos(pow(1 - b, 7)) 50 + c 2;

z = o sin(c) + w cos(c) + 700;

dx = o cos(c) - w sin(c);

dy = B 99 - cos(pow(b, 7)) 50 - c / 3 - z / 135 + 450;

dz = z;

dr = (1 - b / 12) 09 + a 01;

dg = pow((1 - b), 20) / 4 + 005;

return true;

}

return false;

}

void f()

{ setcolor(RED);

setfont(30, 0, _T("微软雅黑"));

outtextxy(0, 0, _T("H"));

Sleep(100);

outtextxy(15, 0, _T("a"));

Sleep(100);

outtextxy(30, 0, _T("p"));

Sleep(100);

outtextxy(45, 0, _T("p"));

Sleep(100);

outtextxy(60, 0, _T("y"));

Sleep(100);

outtextxy(105, 0, _T("B"));

Sleep(100);

outtextxy(120, 0, _T("r"));

Sleep(100);

outtextxy(135, 0, _T("i"));

Sleep(100);

outtextxy(150,0, _T("t"));

Sleep(100);

outtextxy(165, 0, _T("h"));

Sleep(100);

outtextxy(180, 0, _T("d"));

Sleep(100);

outtextxy(195, 0, _T("a"));

Sleep(100);

outtextxy(210, 0, _T("y"));

Sleep(100);

outtextxy(225, 0, _T("!"));

}

// 主函数

void main()

{

// 定义变量

short zBuffer;

int x, y, z, zBufferIndex;

DOT dot;

// 初始化

initgraph(640, 480); // 创建绘图窗口

setbkcolor(WHITE); // 设置背景色为白色

cleardevice(); // 清屏

f();

// 初始化 z-buffer

zBuffer = new short[rosesize rosesize];

memset(zBuffer, 0, sizeof(short) rosesize rosesize);

for(int j = 0; j < 2000 && !_kbhit(); j++) // 按任意键退出

{

for(int i = 0; i < 10000; i++) // 减少是否有按键的判断

if(calc(double(rand()) / RAND_MAX, double(rand()) / RAND_MAX, rand() % 46 / 074, dot))

{

z = int(dotz + 05);

x = int(dotx rosesize / z - h + 05);

y = int(doty rosesize / z - h + 05);

if (y >= rosesize) continue;

zBufferIndex = y rosesize + x;

if(!zBuffer[zBufferIndex] || zBuffer[zBufferIndex] > z)

{

zBuffer[zBufferIndex] = z;

// 画点

int r = ~int((dotr h)); if (r < 0) r = 0; if (r > 255) r = 255;

int g = ~int((dotg h)); if (g < 0) g = 0; if (g > 255) g = 255;

int b = ~int((dotr dotr -80)); if (b < 0) b = 0; if (b > 255) b = 255;

putpixel(x + 50, y - 20, RGB(r, g, b));

}

}

Sleep(1);

}

// 退出

delete []zBuffer;

setcolor(RED);

setfont(60, 0, _T("微软雅黑"));

outtextxy(550, 0, _T("祝"));

Sleep(300);

outtextxy(550, 60, _T("你"));

Sleep(300);

outtextxy(550, 120, _T("生"));

Sleep(300);

outtextxy(550, 180, _T("日"));

Sleep(300);

outtextxy(550, 240, _T("快"));

Sleep(300);

outtextxy(550, 300, _T("乐"));

Sleep(300);

outtextxy(550, 360, _T("!"));

getch();

closegraph();

}

还有个烟花的,有和音乐,要的话留邮箱(写下过生日的人的名字)

奔腾好。赛扬是低端品牌,阉割了总线、二级缓存等。一般用奔腾比较好。具体这两个型号细节因为太老了我不清楚。

G31好过945。 对于双核cpu,945仅仅是兼容,由于总线的问题发挥不出性能。至少也要g31才能支持。这个区别很明显

hd3100是770还是780的集成显卡?比945的显卡不只好一条街!3100虽然阉割了高清能力,但是3d性能不错,能玩一般的游戏。intel的集成显卡除了i系列的,其他简直不值一提,只能处理桌面应用。

最近我准备去淘宝配台二手电脑用(因为主力电脑准备大幅改装,长时间不能用),可以把我配置给你参考下。我选的配置是那种比较经典的,性能不错但是时间久了便宜。再久远的东西技术老(发热量大)而且效率低而且性能还低。比如你选的,95w的高频低能。我是打游戏用的。

低配版:

cpu : e2200(不推荐你那两个,至少配酷睿架构的。架构至关重要。这个65nm技术只有65w) ¥230

主板:minix g31  (itx小板)¥188

gpu: amd 3870   ¥230

电源: 300w(额定230w)的1u电源。

cpu和gpu是二手的全淘宝最低价。主板(17 x 19 cm)和电源(8 x 4cm)都是迷你机的设备。如果按普通台式机尺寸(30 x 24 cm)价格还可以降。比如主板100就买得到。

高配版:

cpu换成 e5200 ¥320

显卡换成 amd 4850 ¥378

我配机器都是不要机箱的……去买个电源开关线¥1。 

而且我有淘汰下来的ddr2内存和200g硬盘。

价格为2011年8月20日。这套配置我想了1个星期。

如果你不玩超大型游戏(这个配置可以玩2011年的最新游戏!比如尘埃3啊,战锤40K啊,高配版高画质1280解析度,低配版中画质1024解析度),但是又不想太烂得3d能力的话,我推荐你买 amd athlon ii x2 215 的cpu 配790或者890主板,这个cpu和e5200差不多,显卡能力属于能打魔兽能玩dota水平,大型游戏(占5G硬盘以上的)其他就不行了。

可以的话,希望你把你的配置详细写出来! 

最后给你两张图做参考。图里面没有的都是极其极其老的配件,买了只能做文本处理用。如果是文本处理,还不如直接买更便宜的……

函数指针强转尽量不要有,仅用于类型实际是相同的,但定义的变量类型不同,如

另一个程序员写了段代码,要求你提供一个函数指针,类型如下:

typedef int (ftype)(int,int);

但你写的函数是 unsigned int fun(unsigned int,unsigned int),参数一个有符号,一个无符号,在你知道符号不影响结果的情况下,可以强制转换。

  分析:水仙花数是指:一个三位数,其各位数字立方和等于该数本身。例如:370=33+73+00这就说明370是一个水仙花数。

  所以要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位。

  1:先取得他的百位:int BaiWei = x/100; 因为int是整形,所以不会进行四舍五入,也不会管小数点后面的数。

  再取得十位:int ShiWei = (x-BaiWei100)/10;先用这个数减去百位数100,再除以10,原因同上。

  最后取得个位数:int GeWei = x-BaiWei100-ShiWei10很明显,就能得到个位数。

  2:

  intb = x/100;

  int s = x/100%10;

  int g = x%10;

  求立方的方法:

  1,x = BaiweiBaiweiBaiwei+ShiWeiShiWeiShiWei+GeWeiGeWeiGeWei

  2,Java提供求n次方的方法:javalangMathpow(a, b);其表示为a的b次方。

  最后程序:

  第一种:

  public class ShuiXianHuaShu {

public static void main(String[] args) {

int x = 0; //定义水仙花数的个数

for(int i=100;i<=999;i++){

int b = i/100; //取得百位数

int s = (i-100b)/10; //取得十位数

int g = (i-s10-b100); //取得个位数

if(i==ggg+sss+bbb){

x++; //每次符合水仙花数条件,则x+1;

Systemoutprint(i+" "); //输出符合条件的数

}

}Systemoutprintln(); //换行

Systemoutprintln("水仙花数总共有"+x+"个"); //输出水仙花数的总数

}

}

  第二种:

  public class ShuiXianHuaShu {

public static void main(String[] args) {

int x = 0; //定义水仙花数的个数

for(int i=100;i<=999;i++){

int b = i/100; //取得百位数

int s = i%100/10; //取得十位数

int g = i%10; //取得个位数

if(i==Mathpow(b, 3) + Mathpow(s, 3) + Mathpow(g, 3)){

x++; //每次符合水仙花数条件,则x+1;

Systemoutprint(i+" "); //输出符合条件的数

}

}Systemoutprintln(); //换行

Systemoutprintln("水仙花数总共有"+x+"个"); //输出水仙花数的总数

}

}

两个函数不能同时用 C++不能通过返回值重载 这两个函数的区别是什么?

对于第一个 下面调用

x=9;

g(x)=8; 会将x赋于8

对于第二个

上面调用 编译不过去

这就是区别

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/langman/3628636.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-16
下一篇2023-08-16

发表评论

登录后才能评论

评论列表(0条)

    保存