IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言期末题库3 -> 正文阅读

[C++知识库]C语言期末题库3

1,改错

/*------------------------------------------------
【程序改错】
---------------------------------------------------
下列给定的程序中,函数fun的功能是:用选择排序法对一
个字符串的字符进行递增排序。

注意:请改正程序中的错误,不得增行、删行,不得更改
程序的结构。
------------------------------------------------*/
#include <stdio.h>
#include <string.h>
#define  N  50
/**********ERROR**********/
void fun(char a[];int n)
{
	int i,j,p;
	char t;
	for(j=0;j<n;j++)
	{
		p=j;
		for(i=j+1;i<n;i++)
		/**********ERROR**********/
		if(a[i]<a[j])
			p=i;
		t=a[p];
		/**********ERROR**********/
		a[j]=a[p];
		a[j]=t;
	}
}
void main( )
{
	char s[N];
	int m;
	printf("\nplease enter a string:\n");
	gets(s);
	m=strlen(s);
	/**********ERROR**********/
	fun(s[N],m);
	printf("排序后的串为:\n");
	puts(s);
}

答案
【改错1】 错误
【学生答案】
void fun(char a[];int n)
【参考答案】
void fun(char a[],int n)

==============================
【改错2】 错误
【学生答案】
if(a[i]<a[j])
【参考答案】
if(a[i]<a[p])
if(a[p]>a[i])

==============================
【改错3】 错误
【学生答案】
a[j]=a[p];
【参考答案】
a[p]=a[j];

==============================
【改错4】 错误
【学生答案】
fun(s[N],m);
【参考答案】
fun(s,m);

2

/*------------------------------------------------------        
【程序改错】
--------------------------------------------------------

题目:从键盘输入的整数中找出最小值,输入负数时结束。

--------------------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
#include "stdio.h"
main()
{
   int min,a;
   scanf("%d",&a);
   min=a;
   /**********ERROR**********/
   while (a<0 )
   {
     /**********ERROR**********/
     if(a>min)  min=a;
     scanf("%d",&a);
   }
}

答案
【改错1】 错误
【学生答案】
while (a<0 )
【参考答案】
while(a>=0)

==============================
【改错2】 错误
【学生答案】
if(a>min) min=a;
【参考答案】
if(a<min) min=a;
if(a<=min) min=a;
3,程序设计

/*------------------------------------------------
【程序设计】
--------------------------------------------------

题目:编写函数fun其功能是:求k!(k〈13),所求
      阶乘的值作为函数值返回。
     (不能用"for"语句)
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main
      和其它函数中的任何内容,仅在函数fun的花
      括号中填入所编写的若干语句。
*********Begin**********和**********  End  **********不可删除



------------------------------------------------*/
#include "stdio.h"
#include"conio.h"


long fun(int k)
{
/*********Begin**********/






/**********  End  **********/

}

     main()   
     {int m;


     printf("Enter m: ");
     scanf("%d", &m);
     printf("\nThe result is %ld\n", fun(m));
      TestFunc();
     

     }   

TestFunc()
{

FILE *IN,*OUT;
 int s ;
int t;
long o;

IN=fopen("in.dat","r");
if(IN==NULL)
{printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{printf("Write File Error");
} for(s=1;s<=5;s++)
 { fscanf(IN,"%d",&t);
   o=fun(t);
    fprintf(OUT,"%ld\n",o);
  }
fclose(IN);
fclose(OUT);
}

答案

【参考代码】

if (k>0)
return(k*fun(k-1));
else if(k==0)
return 1L;

4

/*    请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标, 
最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。
主函数中x是数组名, n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
    注意:部分源程序存在文件prog.c中。
    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
*********Begin**********和**********  End  **********不可删除
*/

#include <stdlib.h>
#include <stdio.h>
#include <time.h> 
void fun(int  a[],  int  n , int  *max, int  *d )
{

    /**********  Begin  **********/

  
  
  
  
    /**********   End  ***********/

}
void NONO ( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
  FILE *fp, *wf ;
  int i,  x[20],  max , index, n = 10, j ;

  fp = fopen("bc06.in","r") ;
  if(fp == NULL) {
    printf("数据文件bc06.in不存在!") ;
    return ;
  }
  wf = fopen("bc06.out","w") ;
  for(i = 0 ; i < 10 ; i++) {
    for(j = 0 ; j < n ; j++) fscanf(fp, "%d,", &x[j]) ;
    fun( x, n , &max, &index);
    fprintf(wf, "Max=%d,Index=%d\n", max, index) ;
  }
  fclose(fp) ;
  fclose(wf) ;
}

main()
{ int i,  x[20],  max , index, n = 10;
  srand(time(0)); 
  for (i=0;i < n;i++) {x[i] = rand()%50; printf("%4d", x[i]) ; }
  printf("\n");
  fun( x, n , &max, &index);
  printf("Max =%5d ,  Index =%4d\n",max, index );
  NONO();
}

答案

int i,base,subscript;
     base=a[0]; /*假定第一个元素的值最大*/
     subscript=0;  /*subscript用于存放数组下标*/
   for(i=1;i<n;i++) {
       if(a[i]>base) { /*将数组中的其他元素与变量base作比较,如果大于它则交换两者的值*/
           subscript=i; 
           base=a[i];
        }
   }
   *max=base; /*将最大值元素的值赋给*max*/
   *d=subscript; /*将最大值元素的下标赋给*d*/

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-30 15:24:34  更:2021-11-30 15:28:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:48:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码