C语言的八道题,有人会吗

1.随机生成10个整数,找出这批整数中的最小值,输出最小值和下标。

2.随机生成1个[100,200]之间的整数n,打印1+2+3+……+n的值

3.随机生成一个整数n,编写函数判断n是否素数,如果n是素数输出Y,否则输出N。

4.随机生成一个整数n,打印n!

5.随机生成一个整数n,打印n!,要求使用递归函数实现。

6.随机生成一个整数n,打印Fibonacci数列的第n项,要求使用递归函数实现。

7.随机生成一个整数n,打印1+2+3+……+n的值要求使用递归函数实现

8.随机生成100个随机数,已二进制的形式写入到文件data.dat中。

第1题:


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main(){
    srand(time(0));
    int num[10];
    int min=10000,_min;//最小值和下标 
    printf("生成的数字如下:\n");
    for (int i=0;i<10;i++){
        num[i]=rand()%1000;
        printf("%d. %d\n",i+1,num[i]);
        if (num[i]<min){
            min=num[i];
            _min=i;
        }
    }
    printf("最小值为%d, 下标为%d",min,_min+1);
}

第2题:


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main(){
    srand(time(0));
    int n=rand()%100+100,ans=0;
    printf("生成的值为:%d\n",n);
    for (int i=1;i<=n;i++){
        ans+=i;
    }
    printf("1+2+3+.....+n 的值为:%d",ans);
}

第3题:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
bool isPrime(int n){//判断素数函数 
    if (n<=1)return true;
    for (int i=2;i*i<=n;i++){
        if (n%i==0){
            return false;
        }
    }
    return true;
}
 
int main(){
    srand(time(0));
    int n=rand()%10000;
    printf("生成的值为%d\n",n);
    if (isPrime(n)){
        printf("Y");
    }else{
        printf("N");
    }
}

第4题:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main(){
    srand(time(0));
    int n=rand()%10;
    printf("生成的值为:%d\n",n);
    long long ans=1;
    for (int i=1;i<=n;i++){
        ans*=i;
    }
    printf("n!的值为:%d",ans);
}

第5题:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
long long fac(int n){
    if (n==1)return 1;
    else return n*fac(n-1);
}

int main(){
    srand(time(0));
    int n=rand()%10;
    printf("生成的值为:%d\n",n);
    printf("n!的值为:%d",fac(n));
}

第6题:

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
using namespace std;

int fibo(int n){
    if(n==1||n==2) return 1;
    else return (fibo(n-1)+fibo(n-2));
}

int main(){
    srand(time(0));
    int n=rand()%20+1;
    printf("生成的值为:%d\n",n);
    printf("答案为:%d\n",fibo(n));
}

第7题:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int fun(int n){
    if (n==1)return 1;
    else return fun(n-1)+n;
}

int main(){
    srand(time(0));
    int n=rand()%10;
    printf("生成的值为:%d\n",n);
    printf("答案为:%d",fun(n));
}

第8题:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int decToBin(int dec){
    int result = 0, temp = dec, j = 1;
    while(temp){
        result = result + j * (temp % 2);
        temp = temp / 2;
        j = j * 10;
    }
    return result;
}

int main(){
    srand(time(0));
    int ans[105];
    printf("生成的数据如下");
    for (int i=1;i<=100;i++){
        int n=rand()%100;
        printf(" %d.%d\n",i,n);
        ans[i-1]=decToBin(n);
    }
    printf("\n正在保存到data.txt...\n");
    FILE *fp;
    fp=fopen("data.txt","w");
    
    for(int i=0;i<100;i++){
        fprintf(fp,"%d\t\n", ans[i]);
    }
    
    fclose(fp);
    printf("保存成功!");
}

望采纳!

8道题的代码如下。
如有帮助,望采纳!

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//1.随机生成10个整数,找出这批整数中的最小值,输出最小值和下标。
void func1()
{
    int num[10], min, index;
    srand(time(NULL));
    for(int i=0; i<10; i++) {
        num[i] = rand() % 1000; //0~999
        printf("%d ", num[i]);
    }
    printf("\n");
    min = num[0];
    index = 0;
    for(int i=1; i<10; i++) {
        if(min > num[i]) {
            min = num[i];
            index = i;
        }
    }
    printf("最小值为:%d,下标为:%d\n", min, index);
}

//2.随机生成1个[100,200]之间的整数n,打印1+2+3+……+n的值
void func2()
{
    int n, sum = 0;
    srand(time(NULL));
    n = rand() % 100 + 100; //100~200
    printf("n的值为:%d\n", n);
    for(int i=1; i<=n; i++) {
        sum += i;
    }
    printf("1+2+3+……+n = %d\n", sum);
}

//3.随机生成一个整数n,编写函数判断n是否素数,如果n是素数输出Y,否则输出N。
void func3()
{
    int n;
    srand(time(NULL));
    n = rand() % 10000; //0~9999
    printf("n的值为:%d\n", n);
    if(n > 1) {
        for(int i=2; i<n; i++) {
            if(n % i == 0) {
                printf("N");
                return;
            }
        }
        printf("Y");
    }
    else {
        printf("N");
    }
}

//4.随机生成一个整数n,打印n!
void func4()
{
    int n, s = 1;
    srand(time(NULL));
    n = rand() % 10 + 1; //1~10
    printf("n的值为:%d\n", n);
    for(int i=2; i<=n; i++) {
        s *= i;
    }
    printf("n! = %d\n", s);
}

//5.随机生成一个整数n,打印n!,要求使用递归函数实现。
int fact(int n)
{
    if(n >= 2) {
        return n * fact(n - 1);
    }
    else if(n == 1) {
        return 1;
    }
}
void func5()
{
    int n, s;
    srand(time(NULL));
    n = rand() % 10 + 1; //1~10
    printf("n的值为:%d\n", n);
    s = fact(n);
    printf("n! = %d\n", s);
}

//6.随机生成一个整数n,打印Fibonacci数列的第n项,要求使用递归函数实现。
int fib(int n)
{
    if(n <= 2) {
        return 1;
    }
    else {
        return (fib(n - 1) + fib(n - 2));
    }
}
void func6()
{
    int n, s;
    srand(time(NULL));
    n = rand() % 10 + 1; //1~10
    printf("n的值为:%d\n", n);
    s = fact(n);
    printf("fib(n) = %d\n", s);
}

//7.随机生成一个整数n,打印1+2+3+……+n的值要求使用递归函数实现
int sum(int n)
{
    if(n <= 1) {
        return 1;
    }
    else {
        return (n + sum(n - 1));
    }
}
void func7()
{
    int n, s;
    srand(time(NULL));
    n = rand() % 100 + 1; //1~100
    printf("n的值为:%d\n", n);
    s = sum(n);
    printf("1+2+3+……+n = %d\n", s);
}

//8.随机生成100个随机数,已二进制的形式写入到文件data.dat中。
void func8()
{
    int num[100];
    srand(time(NULL));
    for(int i=0; i<100; i++) {
        num[i] = rand() % 1000; //0~999
        printf("%d ", num[i]);
    }
    printf("\n");
    FILE *fp = fopen("data.dat", "wb");
    if(fp == NULL) {
        printf("打开文件失败!\n");
        return;
    }
    fwrite(num, 1, sizeof(num), fp);
    fclose(fp);
    printf("100个随机数写入文件成功。\n");

    //读取文件中的100个随机数
    int num2[100];
    FILE *fp2 = fopen("data.dat", "rb");
    if(fp2 == NULL) {
        printf("打开文件失败!\n");
        return;
    }
    fread(num2, 1, sizeof(num2), fp2);
    fclose(fp2);
    printf("100个随机数读取成功:\n");
    for(int i=0; i<100; i++) {
        printf("%d ", num2[i]);
    }
    printf("\n");
}

int main()
{
    printf("1 **********************************\n");
    func1();
    printf("2 **********************************\n");
    func2();
    printf("3 **********************************\n");
    func3();
    printf("4 **********************************\n");
    func4();
    printf("5 **********************************\n");
    func5();
    printf("6 **********************************\n");
    func6();
    printf("7 **********************************\n");
    func7();
    printf("8 **********************************\n");
    func8();

    return 0;
}

那我从后面写
如有帮助,望采纳

4
#include <stdio.h>
int Func(int n)
{
if(n < 2)

return 1;

else

return n*Func(n-1);

}

void main()
{
int n =0,m=0;

printf("请输入一个正整数:")

scanf("%d",&n);  

m=Func(n);

printf("%d!=%d\n",n,m);
}

需要一道道题分开写call我

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//1.随机生成10个整数,找出这批整数中的最小值,输出最小值和下标。
void func1()
{
    int num[10], min, index;
    srand(time(NULL));
    for(int i=0; i<10; i++) {
        num[i] = rand() % 1000; //0~999
        printf("%d ", num[i]);
    }
    printf("\n");
    min = num[0];
    index = 0;
    for(int i=1; i<10; i++) {
        if(min > num[i]) {
            min = num[i];
            index = i;
        }
    }
    printf("最小值为:%d,下标为:%d\n", min, index);
}
//2.随机生成1个[100,200]之间的整数n,打印1+2+3+……+n的值
void func2()
{
    int n, sum = 0;
    srand(time(NULL));
    n = rand() % 100 + 100; //100~200
    printf("n的值为:%d\n", n);
    for(int i=1; i<=n; i++) {
        sum += i;
    }
    printf("1+2+3+……+n = %d\n", sum);
}
//3.随机生成一个整数n,编写函数判断n是否素数,如果n是素数输出Y,否则输出N。
void func3()
{
    int n;
    srand(time(NULL));
    n = rand() % 10000; //0~9999
    printf("n的值为:%d\n", n);
    if(n > 1) {
        for(int i=2; i<n; i++) {
            if(n % i == 0) {
                printf("N");
                return;
            }
        }
        printf("Y");
    }
    else {
        printf("N");
    }
}
//4.随机生成一个整数n,打印n!
void func4()
{
    int n, s = 1;
    srand(time(NULL));
    n = rand() % 10 + 1; //1~10
    printf("n的值为:%d\n", n);
    for(int i=2; i<=n; i++) {
        s *= i;
    }
    printf("n! = %d\n", s);
}
//5.随机生成一个整数n,打印n!,要求使用递归函数实现。
int fact(int n)
{
    if(n >= 2) {
        return n * fact(n - 1);
    }
    else if(n == 1) {
        return 1;
    }
}
void func5()
{
    int n, s;
    srand(time(NULL));
    n = rand() % 10 + 1; //1~10
    printf("n的值为:%d\n", n);
    s = fact(n);
    printf("n! = %d\n", s);
}
//6.随机生成一个整数n,打印Fibonacci数列的第n项,要求使用递归函数实现。
int fib(int n)
{
    if(n <= 2) {
        return 1;
    }
    else {
        return (fib(n - 1) + fib(n - 2));
    }
}
void func6()
{
    int n, s;
    srand(time(NULL));
    n = rand() % 10 + 1; //1~10
    printf("n的值为:%d\n", n);
    s = fact(n);
    printf("fib(n) = %d\n", s);
}
//7.随机生成一个整数n,打印1+2+3+……+n的值要求使用递归函数实现
int sum(int n)
{
    if(n <= 1) {
        return 1;
    }
    else {
        return (n + sum(n - 1));
    }
}
void func7()
{
    int n, s;
    srand(time(NULL));
    n = rand() % 100 + 1; //1~100
    printf("n的值为:%d\n", n);
    s = sum(n);
    printf("1+2+3+……+n = %d\n", s);
}
//8.随机生成100个随机数,已二进制的形式写入到文件data.dat中。
void func8()
{
    int num[100];
    srand(time(NULL));
    for(int i=0; i<100; i++) {
        num[i] = rand() % 1000; //0~999
        printf("%d ", num[i]);
    }
    printf("\n");
    FILE *fp = fopen("data.dat", "wb");
    if(fp == NULL) {
        printf("打开文件失败!\n");
        return;
    }
    fwrite(num, 1, sizeof(num), fp);
    fclose(fp);
    printf("100个随机数写入文件成功。\n");
    //读取文件中的100个随机数
    int num2[100];
    FILE *fp2 = fopen("data.dat", "rb");
    if(fp2 == NULL) {
        printf("打开文件失败!\n");
        return;
    }
    fread(num2, 1, sizeof(num2), fp2);
    fclose(fp2);
    printf("100个随机数读取成功:\n");
    for(int i=0; i<100; i++) {
        printf("%d ", num2[i]);
    }
    printf("\n");
}
int main()
{
    printf("1 **********************************\n");
    func1();
    printf("2 **********************************\n");
    func2();
    printf("3 **********************************\n");
    func3();
    printf("4 **********************************\n");
    func4();
    printf("5 **********************************\n");
    func5();
    printf("6 **********************************\n");
    func6();
    printf("7 **********************************\n");
    func7();
    printf("8 **********************************\n");
    func8();
    return 0;
}