求一个自己做的c或者c++小程序,20行左右的。要有较详细的注释。交c++作业~

 我来答
郝在益
2011-12-30 · TA获得超过2079个赞
知道小有建树答主
回答量:1496
采纳率:54%
帮助的人:634万
展开全部
# include <stdio.h>
# include <math.h> //包含库函数

main()
{
int i, k, t = 0; //定义辅助变量。
float j; // 定义开方变量。

printf("输入大于1的自然数:\n");
scanf("%d", &i); // 输入要判断的数

if (i == 2) // 如果是2,就是素数。
printf("这是一个素数!\n");
else if (i > 2) // 不然,如果大于2
{
j = sqrt(i); // 将i开方存在j中
for (k = 2; k <= j; k++) // 从2到j循环
{
if ((i%k==0)) // 如果有约数,
t = 1; // t=1,作为判断,1表示不是素数
}
if (t == 1) // 如果t==1,则不是素数。
printf("这不是一个素数!\n");
else // 否则 ,是素数。
printf("这是一个素数!\n");
}
else printf("输入错误!\n"); 否则,即小于2或非整数,显示输入错误。
}
满意请采纳!
追问
多谢!
mdmmdm2
2011-12-30 · TA获得超过414个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:94.1万
展开全部
帮别人解答的一个题目,供楼主选用

题目:
某图初始状态为一个三角形,此后每一时间步内都以上一时间步内新增加的边为一边再构造一个新的三角形(参见下图),请设计程序计算如此经历20步(T=20),此时图中有多少条边,多少个点。

答案:
楼主不要被题目给唬住了,其实这是一个简单的循环问题。关键是找到其中的算法。其实很简单,要一条边一条边来看:以三角形的一个边再构造一个三角形,显然已经具备了2个点和一个边,再增加一个点和2条边就是一个新的三角形。所以有:
1)初始条件:一个三角形,因此有3个点,3条边。然后根据边数来计算就可以了
2)循环第一次,3条边等于新增3个点,新增6条边。
3)循环第二次,新增的6条边,等于新增6个点,新增12条边。
4)循环第三次,新增的12条边,等于新增12个点,新增24条边。
这样循环计算20次就可以了,通过2个变量将点数和边数累计就行了。楼主这个不难吧!

三角形个数也好统计,改了下程序。
#include <stdio.h>
#include <string.h>
void main()
{ long i; /*循环次数*/
long b; /*每次新增的边数*/
long tp,tb; /*累计的点数和变数*/
long s; /*三角形个数*/

tp=3; /*最初一个三角形,有三个点*/
tb=3; /*最初一个三角形,有三条边*/
b=3; /*刚开始时,只有一个三角形,所以初始条件新增的边数为3*/
s=1; /*刚开始,三角形个数为1*/
for (i=1;i<20;i++){ /*这个还要解释吗*/
tp=tp+b; /*每次循环,增加的点数与上一次循环新增的边数相等,累加*/
tb=tb+2*b; /*每次循环,增加的边数是上一次循环新增边数的2倍,累加*/
s=s+b; /*每次循环,上一次循环新增一条边,本次就会新画出一个三角形*/
b=2*b; /*每次循环,新增的边数等于上一次循环新增边数的2倍,用于下一次循环计算点数和边数*/

}
printf("Point=%ld; Line=%ld\n",tp,tb); /*这个还要解释吗*/
}
追问
多谢!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黄理huangli
2011-12-30 · TA获得超过367个赞
知道小有建树答主
回答量:177
采纳率:100%
帮助的人:45.5万
展开全部
木有分呀

不过看你是个学生,我帮你改好了。
都是你自己的原程序,不用注释了吧?用的话就HI我吧,我有时间就帮你解答吧
#include <stdio.h>
#include <conio.h>
//using namespace std;//这句不能有的,记住了,原因是你前的都已经是头文件了,无需加上空间

void Bubble_sort(int *a,int n)
{
int len =0;
for (int i=1;i<n;i++)
{
int tmp =0;
for (int j=n-1;j>=0;j--)//冒泡排序用的从后往前排的方法,这句你是写错的
{
if (a[j]>a[j+1])
{
tmp = a[j+1];
a[j+1] = a[j];
a[j] = tmp;
}
}
}

for (int k=0;k<6;k++)
{
printf("%d\n",a[k]);
}

}

int main(void)
{

int k[]={4,13,78,534,8,2};
int len=(sizeof(k)/sizeof(int));
Bubble_sort(k,len);
return 0;//你没有写这个的
}

已经写好了,多多加油吧,你应该还是挺懂的,只是出现部分问题吧,请采纳吧
追问
多谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sdp1031
2011-12-30 · TA获得超过1315个赞
知道小有建树答主
回答量:695
采纳率:0%
帮助的人:196万
展开全部
#include <stdio.h>
#include <conio.h>

using namespace std;

void Bubble_sort(int *a,int n)
{

int len =0;

for (int i=1;i<n;i++)
{
int tmp =0;
for (int j=1;j<n-1;j++)
{
if (a[j]>a[j+1])
{
tmp = a[j+1];
a[j+1] = a[j];
a[j] = tmp;
}
}
}

for (int k=0;k<6;k++)
{
printf("%d\n",a[k]);
}

}

int main(void)
{

int k[]={4,13,78,534,8,2};
int len=(sizeof(k)/sizeof(int));
Bubble_sort(k,len);

}

冒泡排序
追问
多谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式