C语言作业题目 C语言简单练习题!

作者&投稿:吉仁 (若有异议请与网页底部的电邮联系)

代码:

只需更改宏就可以更改人数和学科数目:

#include<stdio.h>
#define N 3 /*3个同学*/
#define M 4 /*4门科目*/
struct score /*科目成绩*/
{
    float* goal;
};
void calMax(float *var, int len)/*计算最大值,参数:数组,数组长度*/
{
    int i;
    float m=var[0];
    for(i=0; i<len; i++)
    {
        m = (m>var[i])?m:var[i];
    }
    printf("%f ", m); /*输出*/
}
void calAvg(float *var, int len)/*计算平均数,参数:数组,数组长度*/
{
    int i;
    float avg, total;
    for(i=0, total=0; i<len; total+=var[i], i++);/*计算总分*/
    avg = total/len;
    printf("%f
", avg);
}
int main()
{
    int i, j;
    float t, *temp;
    struct score sc[N];
    printf("每行输入一个同学成绩,每门科目成绩用空格隔开:
");
    for(i=0; i<N; i++)
    {
        sc[i].goal = (int*)malloc(M*sizeof(int));
        for(j=0; j<M; j++)
        {
            if(scanf("%f", &t))
            {
                sc[i].goal[j]=t;
            }
        }
    }
    temp = (float*)malloc(N*sizeof(float));
    printf("每行表示一个科目,[最大分数 平均分]:
");
    for(i=0; i<M; i++)/*下面计算各科总分并计算*/
    {
        for(j=0; j<N; j++)
        {
            temp[j]=sc[j].goal[i];
        }
        calMax(temp, N);/*计算*/
        calAvg(temp, N);
    }
    free(temp);/*释放空间*/
    for(i=0; i<N; i++)/*释放空间*/
    {
        free(sc[i].goal);
    }
    return 0;
}


是这样么



自己做的
#include<stdio.h>
void main(){
struct student{
double a[4];
}stu[3];
int i,j;
double ave[4]={0,0,0,0},max[4];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%lf",&stu[i].a[j]);
for(i=0;i<4;i++)
for(j=0;j<3;j++)
{max[i]=stu[j].a[i];
if(max[i]<stu[j].a[i])
max[i]=stu[j].a[i];
ave[i]+=stu[j].a[i];

}
for(i=0;i<4;i++)
{ printf("第%d个科目",i+1);
printf("最大值%8.2lf\n",max[i]);
printf("%平均值8.2lf\n",ave[i]/3.0);
}

}

struct student
{
double a[4];//4门成绩
}s[3];//三名同学

用结构体和数组。。。。很简单的。。加油啊

定义结构体存科目信息

c语言作业题目~


#includeint main(){int i,a,b,c; for(i=100;i<1000;i++) { a=i/100; //百位数 b=i/10%10; //十位数 c=i%10; //个位数 if(i==a*a*a+b*b*b+c*c*c) printf("%d
",i); } return 0;}

第一题:
赋值符号"="右边是由常量,变量,运算符,和函数组成的表达式.A,B中第一个"="右边不是一个表达式.
逗号表达式形式是:表达式1,表达式2,..,表达式n;按从左到右的顺序逐个求解表达式.整个表达式的值就是最后一个表达式n的值.所以C是一个逗号表达式;加一个阔号可以与周围其他逗号区分开,在这里不会有错.
一条语句必须加分号,复合语句必须加中括号.明显D错了.
正确选C
第二题.
自加自减运算符优先与加减运算符;
并且按自右向左顺序执行,显然--i,被先合并了.被执行了,那么此刻i就是等于2,所以再执行-的时候变成了2-2,答案自然是A啦.哈
说明下++,--只能和变量组合,当然右边优先.
+++,---你要怎么拆,首先给我拆给变量,两边都是变量当然又是右边优先啦

c语言程序作业
答:第二题:include "stdio.h"include "math.h"void ShowChar(int n){ int conr,conh;for(conr=1;conr<n*2;conr++){ for(conh=1;conh<n*2;conh++){ if(abs(conh-n)+abs(conr-n)<n)putchar('*');else putchar(' ');} //这个if为核心代码。看明白说明你懂了 //conr代表...

C语言大作业 题目是:请设计一个算法完成两个超长正整数的加法。谁会...
答:有没有具体的要求,比方说数据结构方面,我这有一个,你可以参考参考 include"stdio.h"include"stdlib.h"define n 10 /*假定系统允许的最大作业为n,假定模拟实验中n值为10*/ define m 10 /*假定系统允许的空闲区表最大为m,假定模拟实验中m值为10*/ define minisize 100 struct{ float ...

语言学概论作业答案
答:让我来告诉你吧!1、B 2、C 3、D 4、B 5、A 6、B 7、C 8、A 9、D 10、C 11、A 12、B 13、A 14、C 15、C 主观题:1、语言发展的渐变性:语言作为社会交际的工具,是随着社会的发展变化而发展变化的,但同时不能突然地改变,只能在长期的过程中逐渐改变,这就是渐变性。参差性...

C语言大作业 题目是:请设计一个算法完成两个超长正整数的加法。谁会...
答:显然是高精度了。我记得长整数指的是long型、超过long还有long long、以及__int64 不过显然题目不是这个意思。我想LZ对加法的竖式应该很熟悉、高精度就是用的竖式的原理。我只给你算法、不提供代码、自己写代码才是最好的。首先、输入的时候就不能直接scanf整形了、那就以字符串的形式输入--我想LZ你...

c语言作业题目
答:include<stdio.h>int main(){int i,a,b,c; for(i=100;i<1000;i++) { a=i/100; //百位数 b=i/10%10; //十位数 c=i%10; //个位数 if(i==a*a*a+b*b*b+c*c*c) printf("%d\n",i); } return 0;} ...

C语言作业:判断一个数是不是素数,如果不是,输出它的素数因子。_百度知 ...
答:参考代码如下:include<stdio.h> include<math.h> int isPrime(int x){ int i;if(x<=1)return 0;for(i=2;i<x;++i)if(x%i==0)return 0;return 1;} int decompose(int a[],int n){ int i,j,fac,c=0;while(n>1){ for(i=2;i<=n;i++)if(n%i==0){ a[c++]=fac=i;b...

C语言作业求助,十分感谢
答:C代码和运行结果如下:输如10个数,成功输出了它们的最大值、最小值和平均值,望采纳~附源码:include <stdio.h> int main() { int max, min, sum, num, i;scanf("%d", &num); // 先输入一1个数 max = min = sum = num;for (i = 0; i < 9; i++) { // 再输入剩下9...

C语言作业题目求助,谢谢
答:1.1.A 2.C 3.B 4.(只有一个回车)2. main( ){ int year;scanf("%d",&year);if((year %4==0【 && 】year % 100!=0) 【 || 】year % 400==0)//题中少了'!'printf("leap year");} 3. 下面程序中while(!a)中的! a与编号为【 1 】的条件等价:①a==0 ...

C语言作业题目
答:代码:只需更改宏就可以更改人数和学科数目:include<stdio.h>#define N 3 /*3个同学*/#define M 4 /*4门科目*/struct score /*科目成绩*/{ float* goal;};void calMax(float *var, int len)/*计算最大值,参数:数组,数组长度*/{ int i; float m=var[0]; for(i=0;...

C语言作业,在线采纳?
答:做这个题目要写一个判断是否为回文数的函数是回文数的话就返回一,否则就返回零。在这函数中,每次取出它的个位数,加入到一个新数忠当最后结束的时候,判断它的逆序数,如果和原来的守相等,那么n就是回纹数就反回一。这样做肯定是不对,循环便利,100到n之间的所有数,如果回文数的个数是零,...