首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++打印不同的数(就几行代码),帮忙修改上程序啊多谢大家

2012-07-26 
C++打印不同的数(就几行代码),帮忙修改下程序啊,谢谢大家题目要求是:一个10个数的数组,输出其中不同的数,

C++打印不同的数(就几行代码),帮忙修改下程序啊,谢谢大家
题目要求是:一个10个数的数组,输出其中不同的数,即如果一个数出现多次,只打印一次。

我写的程序如下,错误的地方标注出来了,
可是我不知道怎么修改啊,麻烦大家修改下,谢谢

void main()
{
int num[10];
cout<<"输入10个数字"<<endl;
cin>>num[0];
int a = 0, n = 1;
for (int i = 1;i<10;i++)
{
cout<<"输入10个数字"<<endl;
cin>>a;
int j;
for ( j = 0;j<n;j++)
{
if (num[j]==a)
{
break;
}
}

if (num[j]==a)//
{
break;/*就这里出现问题了,可是我不知道怎么改,麻烦大家帮忙想一想,我知道break是跳出外层循环了,蛋是不知道这里怎么修改的好*/
}
else
{
num[n]=a;
n++;
}
}
for (int k = 0;k<n;k++)
{
cout<<num[k]<<endl;
}
}

[解决办法]
。。。把break;改为Continue吧。
[解决办法]
仅供参考

C/C++ code
//将out.txt文件中的内容排序并去重,结果保存到unique.txt中#include <stdio.h>#include <stdlib.h>#define MAXLNO 10000000 //能处理的最大行数#define MAXLEN 20       //能处理的最大行宽,包括行尾的\n和字符串尾的\0char buf[MAXLNO][MAXLEN];int ln,i;FILE *f;int cmpfun( const void *arg1, const void *arg2 ) {    return strcmp((const char *)arg1,(const char *)arg2);}int main() {    f=fopen("out.txt","r");    if (NULL==f) {        printf("Can not find file out.txt\n");        return 1;    }    ln=0;    while (1) {        if (NULL==fgets(buf[ln],MAXLEN,f)) break;        ln++;        if (ln>=MAXLNO) {            printf("Lines >%d ignored.",MAXLNO);            break;        }    }    fclose(f);    if (ln>1) qsort(buf,ln,MAXLEN,cmpfun);    f=fopen("unique.txt","w");    if (NULL==f) {        printf("Can not create file unique.txt\n");        return 2;    }    fprintf(f,"%s",buf[0]);    if (ln>1) for (i=1;i<ln;i++) {        if (strcmp((const char *)buf[i-1],(const char *)buf[i])) fprintf(f,"%s",buf[i]);    }    fclose(f);    return 0;} 

热点排行