作业帮 > 综合 > 作业

c语言程序设计题.将输入的n个整数安从小到大的顺序输出,并求出n个整数值中所有奇数的个数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 20:31:32
c语言程序设计题.将输入的n个整数安从小到大的顺序输出,并求出n个整数值中所有奇数的个数
将输入的n个整数安从小到大的顺序输出,并求出n个整数值中所有奇数的个数
//使用冒泡排序  其中认为如果输入0则程序结束
//以下程序没有编译,可能有些小错
#include <stdio.h>
void main(){
    int oddnum=0;                        //存储奇数的数量
    int input_num=0;                     //输入的数据个数
    int INdata[50];
    int data;                            //
    
    int i;
    int j;

    while(1){
        printf("输入数字最多50个,输入数字0,程序结束!\n");
        printf("请输入一串数字:");
        scanf("%d",&data);
        
        if(data==0) return;             //如果输入为0,程序结束
        
        while(data){                    //如果有数据输入则执行while
            INdata[input_num]=data;     //存储输入的数据
            input_num++;                //统计输入的数据数量
            if(data%2)                  //对2取余,判断是否是奇数
                oddnum++;               //如果是奇数,则进行数量统计
        }
        //以下代码可单独放在另一个函数中
        for(j=1;j<input_num;j++){           //比较input_num-1次
            for(i=0;i<=input_num-1-j;i++){
                if(INdata[i]>INdata[i+1]){    //如果上面的大于下面的就交换位置
                     data=INdata[i];
                     INdata[i]=INdata[i+1];
                     INdata[i+1]=data;
                }
            }//for(i)
        }//for(j)
        
        printf("统计结果如下:\n");
        printf("输入数字总数:%d\n",input_num);
        printf("奇数总个数:%d\n",oddnum);
        printf("输入数字从小到大顺序排列:");
        for(i=0;i<input_num;i++)
            printf("%d",INdata[i]);
        printf("\n");
    }//while(1)

}