您的位置:首页 > 编程语言 > C语言/C++

C语言学习100例实例程序--我练习的C++版(每天一题夯实基础)

2010-05-23 16:41 369 查看
开始每天一个小程序。。。C语言学习100例实例程序--我练习的C++版和进步版    进步版是 每年把自己学到的知识与题目结合 呵呵

  第一天
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。


#include <stdio.h>
#include <iostream.h>
#include <string.h>
int main()
{
int i,j,k,count=0;
for(i=1;i<=4;i++)
{
for (j=1;j<=4;j++)
{
if((i==j))
continue;
else
for(k=1;k<=4;k++)
{
if((i==j)||(i==k)||(j==k))
continue;else{
count++;
cout<<i<<j<<k<<endl;
}
}
}
}
cout<<"共有"<<count<<endl;
getchar();
return 0;
}

自己没事写的根据输入N个数字  进行的无重复的三位数(知识把所学知识用下 希望指正)
#include <stdio.h>
#include <iostream.h>
#include <string.h>
int main()
{
int i,j,k,count=0,n=0;
cout<<"请输入你需要判断多少个数字(必须大于3而且不包含0)"<<endl;
cin>>n;
for (;;)//输入非法数字后,允许重新输入
{
if(n<=2){
cout<<"输入不合法重新输入"<<endl;
cin>>n;
}
for(i=1;i<=n;i++){
for (j=1;j<=n;j++){
if((i==j))//如果i和j相当  下次循环
continue;
else
for(k=1;k<=n;k++){
if((i==k)||(j==k))//如果k和j相等 或者 k和i相等 下次循环
continue;
else{
count++;
cout<<i<<j<<k<<"----";
if(count%8==0)
cout<<endl;//每行输出8个
}
}
}
}
cout<<endl;//输出最后一行后换行
break;//跳出for 结束判断
}
cout<<"共有"<<count<<"种"<<endl;//输出共有多少种方法
getchar();//防止控制台 一闪而过
return 0;
}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  语言 c++ c