上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
C语言复习习题-程序改错
作者:未知 申领版权
2010年12月12日 共有 2185 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:
    

一、 程序改错

一、 下面每个程序的划线处有语法或逻辑错误,请找出并改正,使其得到符合题意的执行结果。
    1.求1234n
    main()
    {  long int sum;
    int n,i=1;
    scanf("%d",n);
    printf(“\n”);
    while(i<n)
    {  sum=sum*i;
    i ;
    }
    printf("sum=%d",sum);
    }
    sum应初始化 即加入sum=1
    第四行改为:scanf(“%d”,&n);
    第六行改为:while(i<=n) 
    第十行改为:printf("sum=%ld",sum);
    
    2.求一个数组中最大值及其下标。
    main( )
    { int max,j,m;
    int a[5];
    for(j=1;j<=5;j )
    scanf(“%d”,a);
    max=a[0];
    for(j=1;j<=5;j )
    if(max>a[j])
    { max=a[j];
    m=j;
    }
    printf(“下标:%d\n最大值:%d”, j, max)
    }
    第四行改为:for(j=0;j<5;j )
    第五行改为:scanf(“%d”,&a[j]);
    第七行改为:for(j=0;j<5;j )
    第八行改为:if(max<a[j])
    第十三行改为:printf(“下标:%d\n最大值:%d”, m,max)
    
    
    
    3.用一个函数求两个数之和。
    sum(x,y)
    { float z;
    z=x y;
    return;
    }
    main()
    {  float a,b;
    int c;
    scanf("%f,%f",&a,&b);
    c=sum(a,b);
    printf("\nSum is %f",sum);
    }
    第一行改为:float sum(float x, float y );
    第四行改为:return(z);
    第八行:float c;
    第十一行:printf("\nSum is %f",c);
    
    4. 程序读入20个整数,统计非负数个数,并计算非负数之和.
    #include “stdio.h”
    main()
    {
    int   i, s , count ,n=20;
    int a[n];
    s=count=1;                            
    for( i=1, i<20, i- -)                   
    scanf(“%d”,  a[i] );               
    for(i=0;i<20;i )
    {
    if(a[i]<0)
    break;                         
    s  =a[i];
    count ;
    }
    printf(“s=%f  count=%f\n”,  s, count);
    }
    printf(“s=%d  count=%d\n”,s,count);
    
    答案:int a[20]
    s=count=0;
    for(i=0;i<20;i--)
    scanf(“%d”,&a[i]);
    continue;
    
    5. 从键盘输入整数x的值,并输出y的值.  
    main()
    { float  x,y;              
    scanf(“%d”,&x);                     
    y=3.5 x;
    printf(“y=%d”);                       
    }
    正确的:        int x;  float y;
    printf(“y=%f”,y); 
    
    6 编程计算下面分段函数, 输入x, 输出y
    
    main()
    { int x,y;
    printf(“\n Input x:\n”);
    scanf(“%d”, x);
    if(x<0)   
    y=x-1;
    else if(x>=0||x<=10)
    y=2x-1;
    else    
    y=3x-1;
    printf(“y=%d”,&y);  
    }
    7. 求100~300间能被3整除的数的和。  
    main()
    { int n;
    long sum;
    for(n=100,n<=300,n )
    { 
    if(n%3=0)
    sum=sum*n;
    }
    printf(“%ld ”,sum);
    }
    
    
    8. 求表达式的值
    #include <stdio.h>
    #include <math.h>
    int fun(int x, int y);
    main()
    { int a,b;  float f;
    scanf(“%d,%d”,a,b);
    if(ab>0){  
    fun(a,b); 
    printf("The result is:%d\n", &f)    
    }
    else printf(“error!”);}
    fun(x, y)                         
    { float result;
    result = sqrt(a b);
    return;
    }
    9、通过函数调用,求两个数之差
    sub(x,y)
    { float z;
    z=x-y;
    return;
    }
    main()
    {  float a,b;
    int c;
    scanf(“%f,%f”,&a,&b);
    sub(a,b);
    printf(“\nSub is %f”,sub);
    }
    
    
    
    
    
    
    
    
    
    
    

    

 

相关新闻

700个MBA面试题
化学实验基本操作复习
有机化学
如何学好高中化学
2011届高三化学一轮复习36
2011届高三化学一轮复习35
2011届高三化学一轮复习34
2011届高三化学一轮复习32
2011届高三化学一轮复习31
2011届高三化学一轮复习30

您可能对这些感兴趣  

第7讲 综合分析BIM在运用与推广中的障碍问题
考核学生质量的困难
日本福岛核电站事故初步分析
论科技异化与科技人化
中国科技计划项目管理现状与对策
财政科技资金的审计重点和内容
软科学研究机构在政府决策中的功效、困境及对策研究
打造超级DOS系统(下)
DOS命令基础应用(6)
打造超级DOS系统(上)

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》