c语言随机输入,c语言随机输入10个数字,要求按从大到小顺序打印

发布时间:2023-01-06

本文目录一览:

  1. C语言随机输入一个整数,若整数中含数字5则输入yes否则输出no?
  2. C语言题目:键盘随机输入5个数,请从大到小排列输出,并输出其中所有的素数?
  3. C语言 随机输入十个数 能把它们从大到小排列出来的程序怎么写?
  4. C语言随机输入7个不同的无符号数,请找出其中大于10的数和小于10的数,分别展示出来?
  5. c语言编程:随机输入五个整数,利用选择排序法对输入的数进行从小到大排序

C语言随机输入一个整数,若整数中含数字5则输入yes否则输出no?

#include<stdio.h>
main(){
    int n, ok=0;
    scanf("%d", &n);
    while(n){
        if (n%10==5) ok=1;
        n /= 10;
    }
    if (ok) printf("yes"); else printf("no");
}

C语言题目:键盘随机输入5个数,请从大到小排列输出,并输出其中所有的素数?

#include<stdio.h>
#define N 5 //定义要排序的个数N为5个
main() //主程序开始
{
    int a[N], i, j, temp; //定义数组a,变量i,j和中间存储变量temp
    printf("please input %d numbers\n", N); //输出文本,"请输入N个数字(此处N=5)"
    for(i=0; i<N; i++) //循环语句,利用i循环将N个数存入数组a[i]
        scanf("%d", &a[i]);
    for(i=0; i<N-1; i++)
        for(j=0; j<N-1-i; j++)
        {
            if(a[j] < a[j+1]) //如果前一个数a[j]大于后一个数a[j+1],则2个数互换位置,否则不作任何操作
            {
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    printf("the array after sort:\n");
    for(i=0; i<N; i++)
        printf("%5d", a[i]); //输出数组a[i]的值
}

非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

C语言 随机输入十个数 能把它们从大到小排列出来的程序怎么写?

可以采用冒泡排序~

#include<stdio.h>
#define elemType int /*元素类型*/
#define ASC 0 /*升序*/
#define DESC 1 /*降序*/
#define LEN 100 /*数组长度*/
/*录入数组*/
void inputArr(elemType arr[], int len) {
    int i;
    for (i=0; i<len; i++)
        scanf("%d", &arr[i]);
    putchar('\n');
}
/*打印数组*/
void printArr(elemType arr[], int len) {
    int i;
    for (i=0; i<len; i++)
        printf("%-4d", arr[i]);
    putchar('\n');
}
/*冒泡排序*/
/*参数说明:*/
/*elemType arr[]:排序目标数组*/
/*int len:元素个数*/
/*int order:排序方式;升序(由小到大):ASC;降序(由大到小):DESC*/
void bubbleSort(elemType arr[], int len, int order) {
    int i, j, temp;
    for (i = 0; i < len - 1; i++)
        for (j = 0; j < len - 1 - i; j++) {
            if (order == ASC) { /*升序*/
                if (arr[j] > arr[j+1]) {
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            } else if (order == DESC) { /*降序*/
                if (arr[j] < arr[j+1]) {
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
}
int main(void) {
    elemType arr[LEN];
    elemType max, min, maxIndex, minIndex;
    int len, i;
    len = 10; /*指定数组元素个数*/
    printf("请输入包含%d个元素的整型数组:\n", len);
    inputArr(arr, len);
    puts("================================================================\n");
    puts("此前输入数组:");
    printArr(arr, len);
    putchar('\n');
    puts("排序后数组:");
    bubbleSort(arr, 10, DESC);
    printArr(arr, 10);
    putchar('\n');
    fflush(stdin); /*清除缓冲区*/
    getch(); /*屏幕暂留*/
    return 0;
}

运行结果

C语言随机输入7个不同的无符号数,请找出其中大于10的数和小于10的数,分别展示出来?

下面是一个示例代码,它实现了随机输入7个无符号整数,找出其中大于10的数和小于10的数,并分别展示出来。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUM_INPUTS 7
int main(void) {
    // 用于存储随机数的数组
    unsigned int inputs[NUM_INPUTS];
    // 用于存储大于10的数的数组
    unsigned int greater_than_10[NUM_INPUTS];
    // 用于存储小于10的数的数组
    unsigned int less_than_10[NUM_INPUTS];
    // 用于存储大于10的数的数量
    int greater_than_10_count = 0;
    // 用于存储小于10的数的数量
    int less_than_10_count = 0;
    // 用当前时间作为随机种子
    srand(time(NULL));
    // 随机生成7个无符号整数
    for (int i = 0; i < NUM_INPUTS; i++) {
        inputs[i] = rand();
    }
    // 找出大于10的数和小于10的数,并存储在对应的数组中
    for (int i = 0; i < NUM_INPUTS; i++) {
        if (inputs[i] > 10) {
            greater_than_10[greater_than_10_count++] = inputs[i];
        } else {
            less_than_10[less_than_10_count++] = inputs[i];
        }
    }
    // 打印出大于10的数
    printf("大于10的数有:");
    for (int i = 0; i < greater_than_10_count; i++) {
        printf("%u ", greater_than_10[i]);
    }
    printf("\n");
    // 打印出小于10的数
    printf("小于10的数有:");
    for (int i = 0; i < less_than_10_count; i++) {
        printf("%u ", less_than_10[i]);
    }
    printf("\n");
    return 0;
}

c语言编程:随机输入五个整数,利用选择排序法对输入的数进行从小到大排序

你的程序逻辑有些问题,输入,排序,输出分开做,这样更明确,更清晰,代码如下:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a[5];
    int i, j, t;
    int min;
    // 输入
    printf("input 5 numbers:\n");
    for (i = 0; i < 5; i++)
        scanf("%d", &a[i]);
    // 选择排序
    for (i = 0; i < 5; i++) {
        for (j = i + 1; j < 5; j++) {
            if (a[j] < a[i]) {
                t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
        }
    }
    // 输出
    printf("the sorrted numbers:\n");
    for (i = 0; i < 5; i++) {
        printf("%d ", a[i]);
    }
    printf("\n");
    system("pause");
    return 0;
}

运行结果: