C语言程序10题

这篇具有很好参考价值的文章主要介绍了C语言程序10题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第60题 (20.0分)            难度:中        第1章

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子

      (不包括1与自身)之和。规定n的值不大于1000。

例如:若主函数从键盘给n输入的值为856,则输出为sum=763。

注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入

      所编写的若干语句。

-------------------------------------------------------*/

#include  <stdio.h>

void wwjt();

int fun(int n)

{

        /**********Program**********/

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

}

void main()

{

        int  n,sum;

        printf("Input  n:");

        scanf("%d", &n);

        sum=fun(n);

        printf("sum=%d\n", sum);

        wwjt();

}

void wwjt()

{

        FILE *in, *out;

        int i, n, sum;

        in=fopen("in.dat","r");

        if(in==NULL)

        {

                printf("Please Verify The Currernt Dir..It May Be Changed");

        }

        out=fopen("out.dat","w");

        if(out==NULL)

        {

                printf("Please Verify The Current Dir.. It May Be Changed");

        }

        

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

        {

                fscanf(in,"%d",&n);

                sum=fun(n);

                fprintf(out,"%d\n",sum);

        }

        fclose(in);

        fclose(out);

}

答案: int s=0,i;

for(i=2;i<=n-1;i++)                                                                  /*将n减1累加*/

if(n%i==0)

s+=i;

return s;

第61题 (20.0分)              难度:易        第2章

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:求一个给定字符串中的字母的个数。

------------------------------------------------*/

#include <stdio.h>

void wwjt();

    

int fun(char s[])

{

  

  /**********Program**********/

  

  

  

  

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

  

}

main()

{

  char str[]="Best wishes for you!";

  int k;

  k=fun(str);

  printf("k=%d\n",k);

  wwjt();

  

}

void wwjt()

{

  FILE *IN,*OUT;

  char sin[80];

  int iOUT,i;

  IN=fopen("in.dat","r");

  if(IN==NULL)

  {

    printf("Please Verify The Currernt Dir..it May Be Changed");

  }

  OUT=fopen("out.dat","w");

  if(OUT==NULL)

  {

    printf("Please Verify The Current Dir.. It May Be Changed");

  }

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

  {    

    fscanf(IN,"%s",sin);

    iOUT=fun(sin);

  }

  fprintf(OUT,"%d\n",iOUT);

  fclose(IN);

  fclose(OUT);

}

答案:----------------------

int i,k=0;

   for(i=0;s[i]!='\0';i++)

    if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')

     k++;

    return k;

----------------------

第62题 (20.0分)          难度:中        第2章

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:判断一个整数w的各位数字平方之和能否被5整除,

      可以被5整除则返回1,否则返回0。

------------------------------------------------*/

#include <stdio.h>

#include"conio.h"

void  wwjt();

  

int fun(int w)

{

  /**********Program**********/

  

  

  

  

  

  

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

  

}

main()   

{

  int m;

  printf("Enter m: ");

  scanf("%d", &m);

  printf("\nThe result is %d\n", fun(m));

  wwjt();

}

void wwjt()

{

  FILE *IN,*OUT;

  int c ;

  int t;

  int 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(c=1;c<=5;c++)

  {

    fscanf(IN,"%d",&t);

    o=fun(t);

    fprintf(OUT,"%d\n",o);

  }

  fclose(IN);

  fclose(OUT);

}

答案:----------------------

int k,s=0;

 do

 {s=s+(w%10)*(w%10);

  w=w/10;

  }while(w!=0);

 if(s%5==0)k=1;

 else k=0;

 return(k);

----------------------

第63题 (20.0分)           难度:中        第1章

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:编写函数fun,其功能是:求Fibonacci数列中大于t的最小的数,结果由函数返回。

      Fibonacci数列F(n)的定义为:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)

例如:当t=1000时,函数值为1597。

注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入

      你编写的若干语句。

-------------------------------------------------------*/

#include <math.h>

#include <stdio.h>

void wwjt (  );

int  fun( int  t)

{

        /**********Program**********/

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

}

void main()   /* 主函数 */

{

        int  n;

        n=1000;

        printf("n = %d, f = %d\n",n, fun(n));

        wwjt( );

}

void wwjt (  )

{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */

        FILE *in, *out ;

        int i, n, s ;

        in=fopen("in.dat","r");

        if(in==NULL)

        {

                printf("Please Verify The Currernt Dir..It May Be Changed");

        }

        out=fopen("out.dat","w");

        if(out==NULL)

        {

                printf("Please Verify The Current Dir.. It May Be Changed");

        }

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

        {

                fscanf(in, "%d", &n) ;

                s = fun(n) ;

                fprintf(out, "%d\n", s) ;

        }

        fclose(in) ;

        fclose(out) ;

}

答案: int f0 = 0, f1 = 1, f ;

do

{

f = f0 + f1 ;

f0 = f1 ;

f1 = f ;

}

while(f < t) ;

return f ;

第64题 (20.0分)          难度:中        第2章

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:输入正整数m和n(设100≤m≤n≤999),输出m到n之间满足下列条件的三位数:它的

      个位数的立方加十位数的平方再加上百位数等于该数的本身

     (例如135=1+3*3+5*5*5)。

      如输入:135  600

      则输出:135  175  518  598

-------------------------------------------------------*/

#include <stdio.h>

main()

{

    int  m,n;

/**********Program**********/

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

}

答案:    int  i,a,b,c;

    scanf( "%d%d", &m, &n );

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

    {

        a = i%10;

        b = i/10%10;

        c = i/100%10;

        if ( i==c+b*b+a*a*a )

            printf( "%d  ", i );

    }

第65题 (20.0分)        题号:527        难度:中        第1章

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:从键盘上输入一个字符串,放在数组中,要求将字符串中

      的大写字母转换成小写字母,小写字母转换成大写字母,

      非字母字符不变,并输出

-------------------------------------------------------*/

#include <stdio.h>

#include <string.h>

#include <conio.h>

#define N 80

void wwjt();

char fun(char a[])

{

    /**********Program**********/

         

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

}

void main()

{

    char a[80];

    char s;

    gets(a);

    s=fun(a);

    puts(a);

    wwjt();

}

void wwjt()

{

    FILE *IN,*OUT;

    char sin[N];

    char iOUT;

    IN=fopen("in.dat","r");

    if(IN==NULL)

    {

        printf("Please Verify The Currernt Dir..it May Be Changed");

    }

    OUT=fopen("out.dat","w");

    if(OUT==NULL)

    {

        printf("Please Verify The Current Dir.. it May Be Changed");

    }

    fscanf(IN,"%s",sin);

    iOUT=fun(sin);

    fprintf(OUT,"%s\n",sin);

    fclose(IN);

    fclose(OUT);

}

答案:    int i;

    for(i = 0; i < (strlen(a)); i ++)

    if(a[i] >= 'A' && a[i] <= 'Z')

        a[i] = a[i] + 32;

    else if(a[i] >= 'a' && a[i] <= 'z')

        a[i] = a[i] - 32;

    return a[i];

第66题 (20.0分)          难度:中        第1章

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,

      请编写函数fun,其功能是:按分数降序排列学生的记录,高分在前,低分在后。

注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入

      你编写的若干语句。

-------------------------------------------------------*/

#include <stdio.h>

#define   N   16

void wwjt ( );

typedef  struct

{  

        char  num[10];

        int   s;

} STREC;

void  fun( STREC  a[] )

{

        /**********Program**********/

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

}

void main()

{  

        STREC  s[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},

                {"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},

                {"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},

                {"GA011",66},{"GA017",64},{"GA018",64},{"GA016",72}};

        int i;

        fun( s );

        printf("The data after sorted :\n");

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

        {  

                if( (i)%4==0 )printf("\n");

                printf("%s  %4d  ",s[i].num,s[i].s);

        }

        printf("\n");

        wwjt( );

        

}

void wwjt( )

{

        FILE *in, *out ;

        STREC  s[N];

        int  i,j;

        in=fopen("in.dat","r");

        if(in==NULL)

        {

                printf("Please Verify The Currernt Dir..It May Be Changed");

        }

        out=fopen("out.dat","w");

        if(out==NULL)

        {

                printf("Please Verify The Current Dir.. It May Be Changed");

        }

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

        {

                fscanf(in,"%s %d",&s[j].num,&s[j].s);

        }

        fun(s);

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

        {  

                if( (i)%4==0 && i)

                        fprintf(out, "\n");

                        fprintf(out, "%4d  ",s[i].s);

        }

        fprintf(out,"\n");

        fclose(out) ;

}

答案: int i,j;

STREC t;

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

for(j=0;j<N-1;j++)

if(a[j].s<a[j+1].s)

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

第67题 (20.0分)           难度:中        第95章

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:找出1000以内的所有完数。(一个数若恰好等于它的真因子(即除了本身以外的约数)之和,

      这个数就称为完数,如6=1+2+3)。

-------------------------------------------------------*/

#include <stdio.h>

void main( )

{   

        int i,j,s=1;

/**********Program**********/

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

}

答案: for(i=2;i<=1000;i++)

{   

s=1;

for(j=2;j<=i/2;j++)

if(i%j==0)

s+=j;  

if(s==i)  

printf("%d\n",i);          

}

第68题 (20.0分)        题号:670        难度:难        第1章

/*------------------------------------------------------------------------

【程序设计】

--------------------------------------------------------------------------

函数fun的功能:对一个任意位数的正整数n,,从十位起计算隔位数字之和,即十位、

千位、……等数字之和。例如输入1234567,6+4+2的结果为12。

------------------------------------------------------------------------

注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在

      Program-End之间删除【?】填入若干语句。不要删除标志否则不得分。

----------------------------------------------------------------------*/

int fun(int n)

{

    int sum=0;

    /**********Program**********/

    n=【?】;

     【?】(n>0)

     {  

          【?】+=【?】;

    

          n=【?】;

     }

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

    return sum;

}

#include <stdio.h>

int main()

{

    int n;

    printf("输入一个正整数: ");

    scanf("%d",&n);

    printf("从十位起,隔位数字之和是%d\n",fun(n));

    return 0;

}

答案: n=n/10;

 while(n>0)

{  sum=sum+n%10;

    n=n/100;

}

第69题 (20.0分)            难度:中        第1章

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的

      前导*号不得多于n个,若多于n个,则删除多余的*号;若少于或等n个,则不做处

      理,字符串中间和尾部的*号不删除。

例如:字符串中的内容为:*******A*BC*DEF*G****,若n的值为4,删除后,字符串中的

      内容应当是:****A*BC*DEF*G****;若n的值为8,则字符串中的内容仍

      为:*******A*BC*DEF*G****。n的值在主函数中输入。在编写函数时,

      不得使用C语言提供的字符串函数。

注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入

      你编写的若干语句。

-------------------------------------------------------*/

#include <stdio.h>

void  wwjt ( );

void  fun( char *a, int  n )

{

        /**********Program**********/

        

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

}

void main()

{  

        char  s[81];  int  n;

        printf("Enter a string:\n");

        gets(s);

        printf("Enter n :  ");

        scanf("%d",&n);

        fun( s,n );

        printf("The string after deleted:\n");

        puts(s);

        wwjt( );

}

void wwjt ( )

{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */

        FILE *in, *out ;

        int i, n ; char s[81] ;

        in=fopen("in.dat","r");

        if(in==NULL)

        {

                printf("Please Verify The Currernt Dir..It May Be Changed");

        }

        out=fopen("out.dat","w");

        if(out==NULL)

        {

                printf("Please Verify The Current Dir.. It May Be Changed");

        }

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

        {

                fscanf(in, "%s", s) ;

                fscanf(in, "%d", &n) ;

                fun(s,n) ;

                fprintf(out, "%s\n", s) ;    

        }

        fclose(in) ;

        fclose(out) ;

}

答案: int i=0;

int k=0;

char *p,*t;

p=t=a;

while(*t=='*')

{

k++;

t++;

}

if(k>n)

{

while(*p)

{

a[i]=*(p+k-n);

i++;

p++;

}

a[i]='\0';

}

第70题 (20.0分)         难度:中        第1章

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:下列程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的

      功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的s。

例如:若a 数组中的值为: 0 1 2 7 9                     

                         1 9 7 4 5               

                         2 3 8 3 1              

                         4 5 6 8 2               

                         5 9 1 4 1

      则返回主程序后s的值应为3.375。

注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入

      所编写的若干语句。

-------------------------------------------------------*/

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#define  N  5

void wwjt();

double fun (int w[][N])

{

        /**********Program**********/

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

}

void main()

{

        int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};

        int i, j;

        double s;

        system("CLS");

        printf("*****The array*****\n ");

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

        {

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

                {

                        printf("%4d ",a[i][j]);

                }

                printf("\n ");

        }

        s=fun(a);

        printf("*****THE RESULT*****\n ");

        printf("The sum is : %lf\n ",s);

        wwjt();

}

void wwjt()

{

        FILE *in, *out;

        int a[N][N];

        int i, j;

        double s;

        in=fopen("in.dat","r");

        if(in==NULL)

        {

                printf("Please Verify The Currernt Dir..It May Be Changed");

        }

        out=fopen("out.dat","w");

        if(out==NULL)

        {

                printf("Please Verify The Current Dir.. It May Be Changed");

        }

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

        {

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

                {

                        fscanf(in,"%d",&a[i][j]);

                }

        

        }

        s=fun(a);

        fprintf (out,"%lf\n",s);

        fclose(in);

        fclose(out);

}

答案: int i,j,k=0;

double av=0.0;

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

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

if(i==0||i==N-1||j==0||j==N-1)             

{

av=av+w[i][j];                                                              

k++;

}

return av/k;文章来源地址https://www.toymoban.com/news/detail-852310.html

到了这里,关于C语言程序10题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PTA 浙大版《C语言程序设计(第4版)》题目集 参考答案(编程题)

    😀😀 欢 迎 订 阅 😀😀 PTA浙大版《C语言程序设计(第4版)》题目集 详解教程 for循环 版本 while循环 版本 do-while循环 版本 while循环 for循环 参考答案1 if分支 参考答案2 switch-case分支 参考答案1 #include ctype.h 参考答案2 自定义函数 本题题干建议使用动态内存分配 参考答案1 参

    2024年02月02日
    浏览(48)
  • C语言程序10题

    第60题 (20.0分)            难度:中        第1章 /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目:请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子       (不包括1与自身)之和。规定n的值

    2024年04月15日
    浏览(32)
  • 【高级语言程序设计(一)】第 10 章:文件

    目录 一、文件概述 (1)文件定义 (2)文件命名 (3)文件分类 ① 按照文件的内容划分 ② 按照文件的组织形式划分 ③ 按照文件的存储形式划分 ④ 按照文件的存储介质划分 (4)文件存取方式 (5)文件系统  二、文件的打开和关闭函数 (1)文件打开函数 ①  库函数

    2024年02月08日
    浏览(28)
  • 《C语言程序设计》谭浩强 第五版 编程10题解答1

    《C语言程序设计》谭浩强 第五版 编程10题解答1 编程题1-10 1.计算总成绩和平均成绩 编写程序输入某学生的数学(math)、英语(english)和C语言(C)的成绩,输出该学生这三门课的总成绩(sum)和平均成绩(aver)。 #include “stdio.h” int main() { int math,english,c; scanf(“%d%d%d”,

    2024年02月05日
    浏览(58)
  • Java 语言程序设计(基础篇)原书第10版 梁勇著 PDF 文字版电子书

    Java 语言程序设计(基础篇)原书第 10 版 是 Java 语言的经典教材,中文版分为基础篇和进阶篇,主要介绍程序设计基础、面向对象程序设计、GUI 程序设计、数据结构和算法、高级 Java 程序设计等内容。本书通过示例讲解问题求解技巧,提供大量的程序清单,每章配有丰富的

    2024年04月16日
    浏览(33)
  • 数据结构与算法大作业:走迷宫程序(C语言,DFS)(代码以及思路)

    好家伙,写大作业,本篇为代码的思路讲解   问题描述: 以一个 m * n 的长方阵表示迷宫, 0和1分别表示迷宫的通路和障碍。 设计一个程序, 对任意设定的迷宫, 求出一条从入口到出口的通路, 或得出没有通路的结论。 基本要求: (1) 实现一个以链表做存储的栈类型,

    2024年02月03日
    浏览(31)
  • 【软件设计师07】程序设计语言与语言处理程序基础

    编译与解释、文法、正规式、有限自动机、表达式、传值与传址、多中程序语言特点 (逐渐降低考察比例,很少考察) 概念 文法类型 语法推导树 有限自动机 与正规式(重点) 常见问题:给一个串比如01、10、001等,看图中起点到终点能否连起来得到这样的串 正规式 是有限自

    2023年04月08日
    浏览(45)
  • 【C语言学习2——第一个C语言程序】

    程序员之间有一个约定俗成的习惯,我们在学习任何编程语言时,所写的第一个程序,就是在显示屏上 打印一行字符“Hello World”。 而为什么会有这个习惯呢?这个习惯又是从什么时候开始的呢? 其实,先让我们回顾一下C语言的历史,就可以了解到这个习惯的出处。 1972年

    2023年04月13日
    浏览(67)
  • 【C语言】详解计算机二级c语言程序题

    最近计算机二级的c语言快要考试了,我从网上摘抄了一些c语言二级的原题,并利用gpt做了一些解析来理解这些问题,以便大家能够更好的学习。 同时,我将问题答案设置为白色(只需要选中就可以查看),大家可以在理解问题的同时进行练习。 Dotcpp——里面有C语言原题以

    2024年02月21日
    浏览(28)
  • C语言程序生命周期

    可能大家都知道一个C语言程序需要经过编译生成可执行文件就可以运行起来,但是这并非是一个完整的C语言程序流程,下面我们就详细了解一下C语言程序的整个生命周期。 一个完整C语言的生命周期分为以下五个部分: 编写代码 编译 链接 装载 执行 编写代码是大家最熟悉不过

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包