高手用C帮我编写几个程序,我学习参考。~!!

供稿:hz-xin.com     日期:2025-01-12
我想学用C或C++编写游戏程序

额,被我看到这个问题,你就幸运囖。

我就是游戏软件开发专业的。。

首先你要用C C++做游戏,必须先学好C C++

市面上这些书太多了,自己选一部名气大的看看就可以了。

学完C++ 就可以做一些普通平面游戏了。

现在比较热门的 植物大战僵尸 只要会C++就可以做。


然后就要学习 directx 编程。这个比较重要
是图形编程,3D游戏不可或缺的技术

至于推进你看什么书,我就好难说了,我的书都是学校买的,书名就是 《游戏软件开发》

你可以搜搜

#include
#include
using namespace std;

int main()
{
// 定义一个2维字符型数组存放菜单,假设都是不超过四个汉字的菜名
char cMenu[][9] = {
"酸菜豆腐",
"红烧茄子",
"麻辣鸡丝",
"火爆腰花",
"水煮牛肉",
"吃什么呢",
"最讨厌了"
};

int iCountDishes = sizeof(cMenu)/9; // 菜单上一共有这么多道菜

// 遍历菜单
cout<<" 欢迎光临,请点菜"<<endl;
cout<<" 编号 菜名"<<endl;
for (int i = 0; i < iCountDishes; i++)
{
cout<<" "<<i+1<<" "<<cMenu[i]<<endl;
}

// 输入编号点菜
vector VBill; // 顾客的账单
int iTemp = 0; // 临时整形变量,用来存放顾客点菜的编号
bool bIsFirst = true; // 用来辅助进入点菜循环的布尔型变量
cout<<endl<<"请输入编号进行点菜,输入0则结束点菜:"<<endl;
while (iTemp||bIsFirst)
{
bIsFirst = false;
cin>>iTemp; // 用户输入
// 确定有这道菜
if ((iTemp > 0)&&(iTemp <= iCountDishes))
{
VBill.push_back(iTemp);
cout<<"您刚点了一道"<<cMenu[iTemp]<<endl;
}
else if (iTemp != 0)
{
cout<<"对不起,没有这道菜,请重新点菜。"<<endl;
}
}
cout<<endl<<"请确认!"<<endl;
for (unsigned int i = 0; i < VBill.size(); i++)
{
cout<<"第"<<i+1<<"道菜是:"<<cMenu[VBill[i]]<<endl;
}

system("pause");
return 0;
};

// 由于顾客点菜的数量不确定,所以顾客的选择那里我使用的是整形的
// vector,这是STL中的可扩展长度的数组,也算是数组吧。
// 不行的话换成int[]自己给定长度就是了。

第一题:
#include<stdio.h>
voidmain()
{
inta,b,c;
int*p;
printf("请输入需要交换的第1个数:");
scanf("%d",&a);
printf("请输入需要交换的第2个数:");
scanf("%d",&b);
p=&c;
printf("\n交换前的2个数分别是:%d,%d",a,b);
*p=a;
a=b;
b=*p;
printf("\n\n交换后的2个数分别为:%d,%d\n\n",a,b);
}

第二题:
冒泡法排序思路:从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使

这两个数交换位置。第一遍的(N-1)次比较后,最大的数已放在最后,第二遍只需考虑(N-1)个数,以

此类推直到第(N-1)遍比较后就可以完成排序。另外注意:c语言中的数组元素下标是从0开始的。
void sort(int a[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++) //一共执行n-1次比较
{
for(j=0;j<n-1-i;j++) //第i次进行比较的数要进行n-i次比较,注意i,j是从0开始;
{
if(a[j]>a[j+1])
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
}
printf("\n");
for(k=0;k<10;k++)
{
printf("a[%d]=%d\n",k,a[k]);
}
}
void main()
{
int k,a[10];
for(k=0;k<10;k++)
{
scanf("%d",&a[k]);
}
sort(a,10);
}

第三题:
#include<stdio.h>
void main()
{
float pi,s,c,r;
printf("请输入圆的半径:");
scanf("%f",&r);
s=3.14*r*r;
c=2*3.14*r;

printf("圆的面积为: %f,周长为: %f ",s,c);

}

第四题:

参考:http://zhidao.baidu.com/question/24889050.html

第五题:
#include <stdio.h>

int main()
{
int x,y,z,result;
scanf("%d", x);
scanf("%d", y);
scanf("%d", z);
result = x*x*x + y*y*y + z*z*z;
return result;
}

第六题:
#include <stdio.h>
#define N 10

int b(char c[N])
{
int i,j=0;
for(i=0;i<N;i++)
if(c[i]>'a'&&c[i]<'z') j++;

return j;
}
void main()
{
int i,j;
char a[N];
printf("请输入10个字符:");
for(i=0;i<N;i++)
scanf("%c",&a[i]);
j=b(a);
printf("小写字母的个数为:%d",j);

}

第七题:
#include<stdio.h>
#include<string.h>
void main()
{
char city[15];

printf("请输入您所在的城市:\t");
gets(city);

if(strcmp(city,"bei jing")==0)
printf("\n您来自纽约,我也是"!!\n\n");
else
printf("\n我们居住在不同的城市!!\n\n");

}

第八题:
#include <stdio.h>
int main()
{
char str[100];
int n=0,i=0;
gets(str);
while(str[i]!=0)
{
if(str[i++]=='x') n++;
}
printf("共有%d个x\n",n);
}

第九题:
#include <stdio.h>
#define N 5
struct student
{
int num;
char name[20];
float scoreC;
float scoreJava;
};

void ave(struct student *);

void main()
{
struct student students[N];
int i;
for(i=0;i<N;i++)
{
printf("\n请输入第%d个学生的数据:\n",i+1);
printf("学号:");
scanf("%d",&students[i].num);
printf("姓名:");
fflush(stdin);
gets(students[i].name);
printf("C课程成绩:");
scanf("%f",&students[i].scoreC);
printf("Java课程成绩:");
scanf("%f",&students[i].scoreJava);
}
ave(students);
}

void ave(struct student *p)
{
float ave[N];
int i;
for(i=0;i<N;i++,p++)
{
ave[i]= (p->scoreC + p->scoreJava)/2;
printf("\n学号: %d 姓名: %s C课程成绩: %6.2f Java课程成绩: %6.2f 平均成绩:

%.2f\n",p->num,p->name,p->scoreC,p->scoreJava,ave[i]);
}
}

第十题:
#include <stdio.h>
struct base
{
int a;
int b;
int c;
};

void fun(struct base *);

void main()
{
struct base triangle;
printf("输入三角形的信息:\n\n");
printf("请输入第一条边:");
scanf("%d",&triangle.a);
printf("请输入第二条边:");
scanf("%d",&triangle.b);
printf("请输入第三条边:");
scanf("%d",&triangle.c);
fun(&triangle);
}

void fun(struct base *p)
{
if(((*p).a + (*p).b) <= (*p).c||((*p).a + (*p).c) <= (*p).b||((*p).b + (*p).c) <=

(*p).a)
{
printf("\n输入有误!这三条边不能组成三角形。\n");
}
else if(((*p).a==(*p).b && (*p).a != (*p).c)||((*p).a == (*p).c && (*p).a != (*p).b)||

((*p).b == (*p).c && (*p).b != (*p).a))
{
printf("\n这三条边组成的是等腰三角形。\n");
}
else if((*p).a == (*p).b && (*p).b == (*p).c)
{
printf("\n这三条边组成的是等边三角形。\n");
}
else
{
printf("\n这三条边组成的是不等边三角形。\n");
}

}

1,#include "stdio.h"

void change(int *p1,int *p2)
{
int tmp;
tmp=*p1;
*p1=*p2;
*p2=tmp;
}
main()
{
int a=1,b=2;
change(&a,&b);
printf("%d,%d\n",a,b);

}
2,指针好像在这里没有意义
void paosort()
{
int i,j;
int tmp;

for(i=0;i<num-1;i++)
{
for(j=1;j<num-i;j++)
{
if(data[j]>data[j+1])
{
tmp=data[j];
data[j]=data[j+1];
data[j+1]=tmp;
}
}
}
}
3,#include "stdio.h"

void c(int denth,int longth,int *zhouchang,int *mianji)
{
*zhouchang=2*(denth+longth);
*mianji=denth*longth;

}
int main()
{
int zhouchang,mianji;
int denth,longth;

scanf("%d%d",&denth,&longth);
c(denth,longth,&zhouchang,&mianji);
printf("%d,%d",zhouchang,mianji);
}

请帮忙写一个程序:单片机控制液晶显示器60秒倒计时(C语言)
在单片机领域,使用C语言编写一个控制液晶显示器60秒倒计时的程序是一项有趣且实用的任务。程序的核心在于精确地控制液晶显示器的显示内容和倒计时的时间流逝。为了实现这一目标,我们需要熟悉单片机的基本编程技巧以及液晶显示器的接口控制。首先,我们需要定义几个关键的变量和宏定义。例如,使用uchar和uint...

求c语言大佬帮助!帮我写个小程序,谢谢
int n);\/\/在屏幕上输出数组各元素的值(逗号分隔)#define N (10)int main(){ int a[N],b[N],c[N*2],i; srand(time(NULL)); Init(a,N); Print(a,N); Short(a,N); Print(a,N); Init(b,N); Print(b,N); Short(...

C语言程序,请你编写一个程序计算每个学生的平均成绩并按降序排序_百度...
\/\/--这段我是用随机数做50个学生的成绩,我懒得录入200个成绩!!,你要手输,就把这段随机数改成输入函数--- srand(time(NULL)); while(i++<300) { count++; if(count==1)\/\/学生编号存储 *p++=(float)i\/6+1; if(count>1 && count<6)\/\/随机2位数作为4科...

c语言程序设计例题
题目1 include "stdio.h"void main(void){ int n=5,m=10,i=1;long sum=1;for(;i<=n;i++){ sum*=i;} printf("\\n5!=%d",sum);for(i=1;i<=10;i++){ sum*=i;} printf("\\n10!=%d",sum);} 题目2 include "stdio.h"include "string.h"struct Student { char s_Name[...

用C语言怎么编写一个从1加到10的程序...新手求解
include <stdio.h> void main(){ int n;int sum=0; \/\/初始sum变量值为0;for(n=1;n<=10;n++){ sum=sum+n; \/\/从一加到10;} printf("1+2+...+10=%d",sum);}

怎么用C语言编写一个程序,输入三个数值,然后输出其中最大者。
如果最后一个数大,就把第一个数换走,否则不换 a=c; \/\/此时第一个数是最大的 printf("最大值为:%d",a);\/\/输出第一个数 } 这种方法可以完成题目要求,但是无法实现排序,因为第一个数丢了,只要不丢数,多用几次if就可以再实现排序.当然,只看本题的话以上代码是比较简洁的....

怎样用C语言编写一个程序?
具体公式如下:include <stdio.h> void main(){ float c,f;printf("请输入一个华氏温度\\n");scanf("%f",&f);c=(f-32)*5\/9;printf("它的摄氏温度为:%.2f",c);}

哪为大侠能帮我编写一下这个程序啊``
1.include <stdio.h> main(){ float y,x;scanf("%f",&x);if(x>20)y=(x-20)*3.5+10*2.5+10*1.8;if(x>10&&x<=20)y=(x-10)*2.5+10*1.8;if(x>=0&&x<=10)y=x*1.8;printf("%.2f",y);getch();} 2.① include <stdio.h> main(){ float p;int d;scanf("...

用C语言编写一程序,统计N个学生的成绩信息。
printf("第%d个学生:\\n",i+1);stud[i].mc=i+1;printf("输入学号:");scanf("%d",&stud[i].number);printf("输入姓名:");scanf("%s",stud[i].name);printf("输入数学成绩:");scanf("%lf",&stud[i].math);printf("输入英语成绩:");scanf("%lf",&stud[i].English);printf("...

高加分!!!求用C语言编程序~~~
请帮小弟编一个图书管理系统的程序,用C语言编写,谢谢~~~... 请帮小弟编一个图书管理系统的程序,用C语言编写,谢谢~~~ 展开  我来答 1个回答 #热议# 生活中有哪些成瘾食物?百度网友f40712d 2007-09-01 · TA获得超过828个赞 知道小有建树答主 回答量:643 采纳率:0% 帮助的人:538万 我也...