当前位置:编程学习 > C/C++ >>

C语言程序设计,数据处理的综合应用。

数据处理的综合应用:将n个(正或负)整数:

(1)把个位数是2的数挑出来,而且记住原来的下标

(2)将挑选出来的数按降序排列

(3)打印排序好的数及相应序号

(4)查找某个数

(5)删除某个数

 

最好可以让我一部分一部分的试,因为我要每一步的一个结果。

最后再总体的一个结果

追问:--------------------Configuration: main - Win32 Debug--------------------
Compiling...
text.cpp
D:\Program Files\Microsoft Visual Studio\MyProjects\main\main\text.cpp(4) : error C2871: 'std' : does not exist or is not a namespace
D:\Program Files\Microsoft Visual Studio\MyProjects\main\main\text.cpp(16) : error C2374: 'i' : redefinition; multiple initialization
        D:\Program Files\Microsoft Visual Studio\MyProjects\main\main\text.cpp(14) : see declaration of 'i'
D:\Program Files\Microsoft Visual Studio\MyProjects\main\main\text.cpp(19) : error C2374: 'i' : redefinition; multiple initialization
        D:\Program Files\Microsoft Visual Studio\MyProjects\main\main\text.cpp(14) : see declaration of 'i'
D:\Program Files\Microsoft Visual Studio\MyProjects\main\main\text.cpp(28) : error C2374: 'i' : redefinition; multiple initialization
        D:\Program Files\Microsoft Visual Studio\MyProjects\main\main\text.cpp(14) : see declaration of 'i'
D:\Program Files\Microsoft Visual Studio\MyProjects\main\main\text.cpp(31) : error C2065: 'swap' : undeclared identifier
D:\Program Files\Microsoft Visual Studio\MyProjects\main\main\text.cpp(32) : error C2374: 'i' : redefinition; multiple initialization
        D:\Program Files\Microsoft Visual Studio\MyProjects\main\main\text.cpp(14) : see declaration of 'i'
D:\Program Files\Microsoft Visual Studio\MyProjects\main\main\text.cpp(68) : error C2065: 'system' : undeclared identifier
执行 cl.exe 时出错.
main.exe - 1 error(s), 0 warning(s)

运行不了!
答案: 好吧,限于篇幅(而且作为一个c++er我一直用的编译器自带快排函数),所以我用的是冒泡排序,
#include <stdio.h>
#include <iostream.h>
#include <string.h>
using namespace std;
int n,Num[100000],F,Pos;
int Num1[100000];
bool Delete[10000],Found;
int main()
{
   
    printf("请输入n\n") ;
    scanf("%d",&n);
    printf("请输入这n个整数\n");
    for(int i=1;i<=n;i++)
        scanf("%d",&Num[i]);
    for(int i=1;i<=n;i++)
        Num1[i]=Num[i];
    printf("末尾数为2的数有:\n");
    for(int i=1;i<=n;i++)
        if(Num[i]%10==2)
            printf("%d在第%d位\n",Num[i],i);
//第一部分
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            if(Num1[j]<Num1[j+1])
                swap(Num1[j],Num1[j+1]);
    printf("其排序结果为\n");
    for(int i=1;i<=n;i++)
        printf("%d ",Num1[i]);
//第二部分
    printf("\n");
    while(1)
    {
        printf("输入exit退出,find查找,delete删除\n");
        char  s[10];
        scanf("%s",s);
        if(s[0]=='e'&&s[1]=='x'&&s[2]=='i'&&s[3]=='t') return 0;
        if(s[0]=='f'&&s[1]=='i'&&s[2]=='n'&&s[3]=='d')
        {
             Found=false;
             printf("请输入要查找的数\n");
             scanf("%d",&F);
             for(int i=1;i<=n;i++)
                 if(Num[i]==F&&Delete[i]==false)
                      Found=true,Pos=i;
             if(Found==false)
             {
                 printf("找不到该数\n");
             }
             else
             {
                 printf("找到该数在第%d位\n",Pos);
             }
        }
        if(s[0]=='d'&&s[1]=='e'&&s[2]=='l'&&s[3]=='e'&&s[4]=='t'&&s[5]=='e')
        {
            printf("请输入要删除的数\n");
            scanf("%d",&F);
             for(int i=1;i<=n;i++)
                 if(Num[i]==F)
                     Delete[i]=true;
            printf("已删除\n");
        }
    }
    system("pause");
    return 0;
}
代码都是有层次的你看看
这个问题比较深奥,我是来任务的,嘿嘿…

上一个:C语言中如何实现选项菜单的功能?
下一个:学习LabVIEW对c语言的要求多高

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,