导航菜单
首页 >  » 正文

3.程序设计题 请编写函数fun,其功能是:计算并输出给定10个数的方差 C语言编程,从键盘输入10个学生的成绩,由高到低排序输出成绩。

3.程序设计题 请编写函数fun,其功能是:计算并输出给定10个数的方差

printf("f=%f ",f); out=fopen ("outfile.dat","w");

C语言编程,从键盘输入10个学生的成绩,由高到低排序输出成绩。

//如果只有成绩信息就可以用下面的代码

//如果还需要加入学号,姓名之类的信息,可以用结构体然后对成绩排序即可

#include"stdio.h"

int main()

{

int  d[10]={0},i,j,t;//数组d存放10个学生的成绩

for(i=0;i<10;i++)//输入10个成绩(空格分开)

scanf("%d",&d[i]);

for(i=0;i<9;i++)//排序 for(j=i+1;j<10;j++) if(d[i]<d[j]) {

t=d[i],d[i]=d[j],d[j]=t;

}

for(i=0;i<10;i++)//输出10个成绩

printf("%d  ",d[i]);

getch();

return 0;

}

计算机二级考试C语言程序设计题有步骤分吗

二级考试C语言程序设计题没有步骤分,只有零分和满分。
扩展资料
全国计算机二级C语言考试,分为选择题(40分),程序填空题 (18分),程序修改题 (18分),程序设计题(24分)。
考试内容
一、C 语言程序的结构
1. 程序的构成,main 函数和其他函数。
2. 头文件,数据说明,函数的开始和结束标志以及程序中的注释。
3. 源程序的书写格式。
4. C 语言的风格。
二、数据类型及其运算
1.C 的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。
2. C 运算符的种类、运算优先级和结合性。
3. 不同类型数据间的转换与运算。
4. C 表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
三、基本语句
1. 表达式语句,空语句,复合语句。
2. 输入输出函数的调用,正确输入数据并正确设计输出格式。
四、选择结构程序设计
1. 用 if 语句实现选择结构。
2. 用 switch 语句实现多分支选择结构。
3. 选择结构的嵌套。
五、循环结构程序设计
1. for 循环结构。
2. while 和 do-while 循环结构。
3. continue 语句和 break 语句。
4. 循环的嵌套。
六、数组的定义和引用
1. 一维数组和二维数组的定义、初始化和数组元素的引用。
2. 字符串与字符数组。
七、函数
1. 库函数的正确调用。
2. 函数的定义方法。
3. 函数的类型和返回值。
4. 形式参数与实际参数,参数值的传递。
5. 函数的正确调用,嵌套调用,递归调用。
6. 局部变量和全局变量。
7. 变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。
八、编译预处理
1. 宏定义和调用(不带参数的宏,带参数的宏)。
2. “文件包含”处理。
九、指针
1. 地址与指针变量的概念,地址运算符与间址运算符。
2. 一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。通过指针引用以上各类型数据。
3. 用指针作函数参数。
4. 返回地址值的函数。
5. 指针数组,指向指针的指针。
十、结构体(即“结构”)与共同体(即“联合”)
1. 用 typedef 说明一个新类型。
2. 结构体和共用体类型数据的定义和成员的引用。
3. 通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。
十一、位运算
1. 位运算符的含义和使用。
2. 简单的位运算。
十二、文件操作
只要求缓冲文件系统(即高级磁盘 I / O 系统),对非标准缓冲文件系统(即低级磁盘 I / O 系统)不要求。
1. 文件类型指针(FILE 类型指针)。
2. 文件的打开与关闭(fopen,fclose)。
3. 文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf 函数的应用),文件的定位(rewind,fseek 函数的应用)。

C语言编程题:输入N个英文单词,建立字符串数组,按字典顺序输出这些英文单词,要求用指针实现。

#include<stdio.h>
#include<string.h>
#defineN5
voidswap(char*p1,char*p2){
chartemp[100];
strcpy(temp,p1);
strcpy(p1,p2);
strcpy(p2,temp);

intmain(){
inti,j;
charstr1[N][100],*str[N];
for(i=0;i<N;i++){
scanf("%s",*(str1+i));

for(i=0;i<N;i++){
str[i]=*(str1+i);

for(i=0;i<N;i++){
for(j=i+1;j<N;j++){
if(strcmp(str[i],str[j])>0){swap(str[i],str[j]);}


for(i=0;i<N;i++){
printf("%s",str[i]);

printf("\n");
return0;


扩展资料:
printf用法:
printf()函数的调用格式为:printf("&lt;格式化字符串&gt;",&lt;参量表&gt;)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
比如:
inta=1234;
printf("a=%d\n",a);
输出结果为a=1234。
printf的格式控制的完整格式:
%-0m.nl或h格式字符
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。

C语言编程题

di1题:

#include "stdio.h" typedef struct STU//学生结构体的定义 {  char xh[10];//学号  char xm[10];//姓名  double score;//成绩 }STU; void input(STU *stu,int n) {  int i;  for(i=0;i<n;i++)     {     printf("输入第%d个学生的学号,姓名和成绩:",i+1);     scanf("%s %s %lf",stu[i].xh,stu[i].xm,&(stu[i].score));     } } double avg(STU *stu,int n) {  int i;  double aver=0.0;  for(i=0;i<n;i++)     {     aver=aver+stu[i].score;     }     aver=aver/n;     return aver; } void main() {     STU  stu[10];//定义一个学生结构数组     int n;     double aver;     printf("输入学生人数n:");     scanf("%d",&n);     input(stu,n);     aver=avg(stu,n);     printf("平均成绩是:%.1lf ",aver); }

运行结果:

JAVA编程题求全部代码

class HW1 {
    public static void main(String[] args) {
        double[] test = new double[]{5.2, 1.0, 6.7, 3.4, 100.5, 55.5};
        BoundryValues boundryValues = getBoundryValues(test);
        System.out.println("Min Value = " + boundryValues.getMin());
        System.out.println("Max Value = " + boundryValues.getMax());
        System.out.println("Ave Value = " + boundryValues.getAve());
    }
    private static class BoundryValues {
        private double max;
        private double min;
        private double ave;
        public BoundryValues(){}
        public BoundryValues(double max, double min, double ave) {
            this.max = max;
            this.min = min;
            this.ave = ave;
        }
        public void setMax(double max) {
            this.max = max;
        }
        public double getMax() {
            return max;
        }
        public void setMin(double min) {
            this.min = min;
        }
        public double getMin() {
            return min;
        }
        public void setAve(double ave) {
            this.ave = ave;
        }
        public double getAve() {
            return ave;
        }
    }
    public static BoundryValues getBoundryValues(double[] doubles) {
        BoundryValues boundryValues = new BoundryValues();
        double[] results = sort(doubles);
        double total = 0.0;
        for (int i = 0; i < results.length; i ++) {
            total += results[i];
        }
        boundryValues.setMin(results[0]);
        boundryValues.setMax(results[results.length - 1]);
        boundryValues.setAve(total/results.length);
        return boundryValues;
    }
    public static double[] sort(double[] doubles) {
        for (int i = 0; i < doubles.length; i ++) {
            for (int j = 0; j < doubles.length - i - 1; j ++) {
                if (doubles[j] > doubles[j + 1]) {
                    double temp = doubles[j];
                    doubles[j] = doubles[j + 1];
                    doubles[j + 1] = temp;
                }
            }
        }
        return doubles;
    }
}import java.util.*;
class HW2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double a, b, c;
        System.out.println("Enter a, b, c:");
        a = scanner.nextDouble();
        b = scanner.nextDouble();
        c = scanner.nextDouble();
        Setsets = calculate(a, b, c); for (Double d : sets) { System.out.println("Values are: " + d + " "); } } public static Set calculate(double a, double b, double c) { Set sets = new HashSet(); if (Math.pow(b, 2.0) - 4 * a * c < 0) { System.err.println("No value"); } else { sets.add((- b + Math.sqrt(Math.pow(b, 2.0) - 4 * a * c)) / 2.0 * a); sets.add((- b - Math.sqrt(Math.pow(b, 2.0) - 4 * a * c)) / 2.0 * a); } return sets; } }下午接着写

单片机程序分析试题

第一题:
(20H)=20H,(21H)=91H,(22H)=A0H,(23H)=01H
Cy=0, A=0A0H, R0=23H, R1=28H
至于第二题吗,你们老师可真变态,好好的SUBB不让用,要用CJNE
程序如下:
;BLOCK为地址起始位
;LEN为数据数量位
;MINI为最小数据
整个编程的思路是这样的:
先设一个基准数,从最大的0FF设起,再把这些数据与基准数比较是否一致,如果一致,则先把这个数(也就是基准数)存起来,这一行就不用再往下比较了。然后把基准数减一,再执行上面的程序,如果亦有相同的,则把现在的基准数存起来,覆盖原来存的数据。就这样一直减,减到0后,停止,存起来的最后一个基准数就是最小值。
MOV R0, #BLOCK ;将地址起始位置存入R0中
MOV R1, #MINI ;将最后结果存储地址存入R1中
MOV R2, LEN ;数据数量
MOV R3, #0FFH ;比较的基准数
LOOP:
MOV A, @R0 ;读入数据
CJNE A, 03H, NEXTLOOP ;和基准数相比较,不等于则转移
MOV A, @R0 ;等于基准数了,先存起来,如果将基准数减小后,再没有和基准数相等的了,那么这个数就是最小的。
MOV @R1, A
CLR C
MOV A, R3 ;如果基准数已经减到00H了,那么,就不用再减一比较了,因为已经从0FF开始至00结束,全比较过了
JZ WAIT
SUBB A, #01H ;基准数减1
MOV R3, A
MOV R0, #BLOCK
MOV R1, #MINI
MOV R2, LEN
LJMP LOOP
NEXTLOOP:
INC R0
DJNZ R2, LOOP
WAIT:
LJMP $
按你的修改,再修改结果
(20H)=20H,(21H)=91H,(22H)=0D0H,(23H)=00H
Cy=0, A=0D0H, R0=22H, R1=28H

相关推荐: