华南农业大学C语言oj第七章

版权声明:本文版权属CSDN博客黑兔子撒所有,转载请申明版权。 https://blog.csdn.net/weixin_41409140/article/details/88070953

18065 所有数字之和

时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

题型: 填空题   语言: G++;GCC;VC

Description

编写一个函数,计算一个整数的所有数字之和

#include "stdio.h" 

int sum(int n) 
{ 
    _______________________ 
} 

main() 
{ 
    int n; 
    scanf("%d", &n); 
    printf("%d", sum(n)); 
} 

输入格式

由键盘输入一个整数

输出格式

输出该数各位数字之和

输入样例

123

输出样例

6

提示

1+2+3=6

    int ret=0;

    while(n>0)

    {

        ret+=n%10;

        n/=10;

    }

return ret;

 

18066 元音字母

时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

题型: 填空题   语言: G++;GCC;VC

Description

编写一个函数,挑选一个字符串中的所有元音字母构成并返回一个新的字符串

#include "stdio.h" 

void yuan(char *s,char *s2) 
{ 
_______________________ 
} 

main() 
{ 
    char str[81], str2[81]; 
    gets(str); 
    yuan(str,str2); 
    printf("%s", str2); 
} 

输入格式

由键盘输入一行字符,以'\n'结束

输出格式

输出新构成的字符串

输入样例

I am good

输出样例

Iaoo   

 while(*s!='\0')

    {

        if(*s=='a' ||*s=='o' ||*s=='e' ||*s=='i' ||*s=='u' ||

           *s=='A' ||*s=='O' ||*s=='E' ||*s=='I' ||*s=='U')

           {*s2=*s; s2++;}

        s++;

    }

*s2='\0';

 

18067 字符统计

时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

题型: 填空题   语言: G++;GCC;VC

Description

编写一个函数,统计一个字符串中字母、数字和空格的个数。使用全局变量存放字母和数字个数,函数返回值是空格个数

#include <stdio.h> 
#include <string.h> 
#include <math.h> 

int nL=0, nN=0; 

int statistics(char *s) 
{ 
    _______________________ 
} 

int main() 
{ 
    char s[81]; 
    int nS; 
    gets(s); 
    nS = statistics(s); 

    printf("%d %d %d\n", nL, nN, nS); 
    return 0; 
} 

输入格式

输入一行字符,以'\n'符结束

输出格式

统计结果

输入样例

Ab 45

输出样例

2 2 1

    int ret=0;

    while(*s!='\0')

    {

        if(*s>='a'&&*s<='z'||

           *s>='A'&&*s<='Z')

           nL++;

        else if (*s>='0'&&*s<='9')

            nN++;

        else if (*s==' ')

            ret++;

        s++;

    }

return ret;

 

18068 选择排序

时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

题型: 填空题   语言: G++;GCC;VC

Description

输入10个整数,编写一个实现对数组进行选择排序的函数

输入格式

10个整数,以空格分隔

输出格式

排序后的10个整数,一行一个数字

输入样例

3 2 1 6 5 4 9 8 7 0

输出样例

0

1

2

3

4

5

6

7

8

9

标程

$line1$

j=i+1; j<n; j++

$line2$

a[k]>a[j]

 

18069 x的n次方

时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

题型: 填空题   语言: G++;GCC;VC

Description

输入正整数x和n,编写递归函数求x的n次方。

#include <stdio.h> 

int F(int x, int n) 
{ 
    if(_______________________) return _______________________; 
    else return _______________________; 
} 

int main() 
{ 
    int x, n; 
    scanf("%d%d", &x, &n); 
    printf("%d", F(x, n)); 
    return 0; 
} 

输入格式

两个正整数,x和n

输出格式

x的n次方,假定结果不会超过10的次方。

输入样例

5 2

输出样例

25

标程

$line1$

n==1

$line2$

x

$line3$

F(x, n-1)*x

 

18070 矩阵行交换或列交换

时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

题型: 填空题   语言: G++;GCC;VC

Description

输入一个4*4矩阵,编写两个函数分别实现对二维数组元素的行与行进行交换,以及列与列进行交换

#include <stdio.h> 

void swap(int *a, int *b) 
{ 
    int temp; 
    temp=*a;*a=*b;*b=temp; 
} 

void col(int a[][4], int i, int j) 
{ 
    _______________________ 
} 

void row(int a[][4], int i, int j) 
{ 
    _______________________ 
} 

int main() 
{ 
    int a[4][4]; 
    int i,j; 
    for(i=0; i<4; i++) 
        for(j=0; j<4; j++) 
            scanf("%d", &a[i][j]); 
    col(a,0,2); 
    row(a,0,2); 
    col(a,1,3); 
    row(a,1,3); 
    col(a,0,3); 
    row(a,0,3); 
    for(i=0; i<4; i++) 
    { 
        for(j=0; j<4; j++) 
            printf("%d ", a[i][j]); 
        printf("\n"); 
    } 
    return 0; 
} 

输入格式

输入一个4*4矩阵

输出格式

输出经过变换的矩阵

输入样例

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

输出样例

6 8 5 7

14 16 13 15

2 4 1 3

10 12 9 11

$block1$

    int k;

    for(k=0; k<4; k++)

        swap(&a[k][i], &a[k][j]);

$end1$

$block2$

    int k;

    for(k=0; k<4; k++)

        swap(&a[i][k], &a[j][k]);

$end2$

 

18071 学生信息统计

时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

题型: 填空题   语言: G++;GCC;VC

Description

输入10个学生5门课的考试成绩,分别用函数实现以下功能:

(1) 计算一个学生的平均分。

(2) 计算每门课程的平均分。

(3) 找出每门课程的最高分。

显示结果,显示两位小数。

#include <stdio.h> 

void average(double a[][5], int n) 
{ 
_______________________ 
} 

void average2(double a[][5], int n) 
{ 
_______________________ 
} 

void top(double a[][5], int n) 
{ 
_______________________ 
} 

int main() 
{ 
    double a[10][5]; 
    int i, j; 
    for(i=0; i<10; i++) 
        for(j=0; j<5; j++) 
            scanf("%lf", &a[i][j]); 
    average(a,10); 
    average2(a,10); 
    top(a,10); 
    return 0; 
} 

输入格式

输入10个学生5门课成绩

输出格式

输出每个学生的平均分,以空格分隔

输出每门课的平均分,以空格分隔

输出每门课的最高分,以空格分隔

输入样例

79 61 57 70 77

67 73 83 72 70

82 59 85 84 80

80 53 67 72 79

80 59 72 92 84

88 72 79 79 80

76 99 82 73 97

67 96 81 69 63

58 80 98 93 84

66 61 64 57 64

输出样例

68.80 73.00 78.00 70.20 77.40 79.60 85.40 75.20 82.60 62.40

74.30 71.30 76.80 76.10 77.80

88.00 99.00 98.00 93.00 97.00

$block1$

    int i,j;double sum;

    for(i=0; i<n; i++)

    {

        sum=0;

        for(j=0; j<5; j++)

            sum+=a[i][j];

        printf("%.2f ", sum/5);

    }

    printf("\n");

$end1$

$block2$

    int i,j;double sum;

    for(j=0; j<5; j++)

    {

        sum=0;

        for(i=0; i<n; i++)

            sum+=a[i][j];

        printf("%.2f ", sum/n);

    }

    printf("\n");

$end2$

$block3$

    int i,j; double max;

    for(j=0; j<5; j++)

    {

        max=a[0][j];

        for(i=1; i<n; i++)

            if(a[i][j]>max) max = a[i][j];

        printf("%.2f ", max);

    }

    printf("\n");

$end3$

猜你喜欢

转载自blog.csdn.net/weixin_41409140/article/details/88070953