精华内容
下载资源
问答
  • C语言编程经典100例(含答案),适合刚刚入门的萌新。
  • C语言经典编程100例

    2017-08-27 16:53:47
    C语言经典编程100例word清晰版,C语言经典入门l100道练习,基本涵盖了C 语言绝大部分的基础知识的运用和练习,是巩固c语言基础和c语言编程入门练习 的不二之选!!
  • 文档中包括了最新版的c语言经典习题100例(最全面),可用于C语言编程中练习用。
  • 这是我自己精心整理的100例源码,对于初学者来说是非常不错的,可以自己在Microsoft Visual C++ 6.0上自行调试,变成自己的东西
  • c语言编程题面试C Interview Questions and Answers – Here you will find frequently asked C language interview questions and answers with suitable examples on various C language topics. C面试问题和...

    c语言编程题面试

    C Interview Questions and Answers – Here you will find frequently asked C language interview questions and answers with suitable examples on various C language topics.

    C面试问题和答案 –在这里,您会发现常见的C语言面试问题和答案,以及有关各种C语言主题的合适示例。

    常见/常见的C面试问题 (Frequently /commonly asked C Interview Questions)

    1) What is modular programming?

    1)什么是模块化编程?

    Modular programming is a program design technique in which a large program is divided into sub programs/ functions that are called modules, it improve maintainability of a program. It makes software development, debug, modify, update faster and easy.

    模块化编程是一种程序设计技术,其中将大程序分为称为模块的子程序/功能,它提高了程序的可维护性。 它使软件开发,调试,修改,更新更快,更容易。

    2) How many keywords & operators are used in c Language?

    2)c语言中使用了多少关键字和运算符?

    There are 32 keywords & 45 operators that are used in c programming language.

    使用c编程语言有32个关键字和45个运算符。

    3) What is variable?

    3)什么是变量?

    Variable is a named location with unique name, used to stored data according to the requirement.

    变量是具有唯一名称的命名位置,用于根据需要存储数据。

    4) What is the return type of printf() function, and what it returns ?

    4)printf()函数的返回类型是什么,它返回什么?

    printf() is a library function, the prototype of printf() is available in <stdio.h>, It returns a interger value, that describe how many charaters are printed on console.

    printf()是一个库函数, <stdio.h>中提供了printf()的原型,它返回一个整数值,该值描述控制台上打印了多少个字符。

    5) What is the return type of scanf() function, and what it returns ?

    5)scanf()函数的返回类型是什么,它返回什么?

    scanf() is a library function, the prototype of scanf() is availabe in <stdio.h>, It returns a integer value, that describe successful input from console in variable.

    scanf()是一个库函数,在<stdio.h>中提供了scanf()的原型,它返回一个整数值,该整数值描述了从控制台成功输入变量。

    6) What is full form of AT & T lab ?

    6)AT&T实验室的完整形式是什么?

    Americal Telegraph and Telecommunication.

    美国电报和电信。

    7) What is the full form of ANSI?

    7) ANSI的完整形式是什么?

    American National Standard Institute.

    美国国家标准协会。

    8) What is full form of ARM ?

    8)什么是完整形式的ARM?

    Advance RISC(Reduced Instruction Set Computer) Machine.

    先进的RISC(精简指令集计算机)机。

    9) Whenever a condition is evaluated in C language, How can we understand It is TRUE or FALSE?

    9)每当使用C语言评估条件时,我们如何理解它是TRUE还是FALSE?

    Every condition returns 1 when it is TRUE, and return 0 when it is FALSE.

    每个条件为TRUE时返回1,为FALSE则返回0。

    10) What is the difference between #include < > and #include " "?

    10)#include <>和#include“”有什么区别?

    #include< >: compiler searches header files in standard directory.

    #include <> :编译器在标准目录中搜索头文件。

        /***header files***/
        #include < stdio.h >
        #include < math.h >
    
    

    #include" ": compiler searches header files in current directory first then searches in standard directory, basically this type of inclusion used for user defined header files.

    #include“” :编译器首先在当前目录中搜索头文件,然后在标准目录中搜索,基本上,这种包含类型用于用户定义的头文件。

        /***header files***/
        #include "stdio.h"
        #include "math.h"
        #include "inc/cam.h"
        
    

    11) What is a main() and difference b/w void main() and int main()?

    11)什么是main()和b / w void main()和int main()的区别?

    mian() is an entry point ( main function) which is in most programming languages, When compiler begins compile the program, It looks for an entry point, and main() acts as an entry point in C program, or we can say main is a thread/ process/ function that invokes automatically by the compiler when program is being executed.

    mian()是大多数编程语言中的入口点(主要功能),当编译器开始编译程序时,它会寻找一个入口点,并且main()充当C程序中的入口点,或者我们可以说main是一个线程/进程/函数,在执行程序时由编译器自动调用。

    Every function returns a value to the calling function, at that time main will be a called function for compiler/OS and it will return some value to the compiler before exit, here void and int defines that main will return a void ( nothing) and int will return an integer values to the compiler.

    每个函数都会向调用函数返回一个值,届时main将成为编译器/ OS的被调用函数,并且它将在退出之前向编译器返回一些值,此处的void和int定义了main将返回一个void(无),并且int将向编译器返回一个整数值。

    void main() syntax

    void main()语法

    #include <stdio.h>
    void main()
    {
    	statements;
    	....;
    	statements;
    }
    
    

    int main() syntax

    int main()语法

    #include <stdio.h>
    int main()
    {
        statements;
        ....;
        statements;
        return 0; /*return any integer value*/
    }
    
    
    

    12) What is an lvalue?

    12)什么是左值?

    An lvalue is a variable to which value can be assigned by assignment operator, this is located on the left side of assignment (=) operator, whereas rvalue is located on the right side of the assignment operator, and lvalue can not be a constant.

    lvalue是可以由赋值运算符分配值的变量,它位于赋值(=)运算符的左侧,而rvalue位于赋值运算符的右侧,而lvalue不能为常数。

    13) What is the difference between printf() and puts() ?

    13)printf()和puts()有什么区别?

    The function printf() writes the data on standard output device with the ability of formatted string using %c, %d, %s, %20s .. etc and printf does not add new line after displaying text.

    函数printf()使用%c,%d,%s,%20s等将格式化的字符串写入标准输出设备的数据,并且printf在显示文本后不会添加新行。

     int printf(const char *format, ...);
    

    puts() writes the string on standard output device and add new line after displaying text.

    puts()将字符串写入标准输出设备,并在显示文本后添加新行。

     int puts(const char *s);
    

    14) In the case of character array what is the difference b/w strlen() and sizeof() ?

    14)对于字符数组,b / w strlen()和sizeof()有什么区别?

    In character array strlen() returns the number of characters, while sizeof() returns the number of occupied bytes by character array.

    在字符数组中,strlen()返回字符数,而sizeof()返回按字符数组占用的字节数。

    Example

    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
    	char text[100]= "Sample test";
    	printf("%d,%d", strlen(text), sizeof(text));
    	return 0;
    }
    
    

    In this example strlen(text) will return 11 because total number of characters are 11 and sizeof(text) will return 100, because text variable will take 100 bytes in memory.

    在此示例中, strlen(text)将返回11,因为字符总数为11, sizeof(text)将返回100,因为text变量将占用100个字节的内存。

    15) When is a switch statement can be better than an if statement?

    15)switch语句何时比if语句更好?

    If you have more than one condition to check on single variable or a single expression, then switch is better than if. In switch statement, program’s execution jumps to the matching value if found. If you use if condition, it checks one by one condition. So it is highly recommended to use switch, if you have to check a variable/condition/expression with multiple values.

    如果要检查单个变量或单个表达式的条件不只一个,那么switch比if更好。 在switch语句中,程序的执行将跳至匹配的值(如果找到)。 如果使用if条件,它将一一检查条件。 因此,如果必须检查具有多个值的变量/条件/表达式,则强烈建议使用switch。

    Example

    if( errorCode == 0)
    	printf("Error code is 0: reading failed error.\n");
    if( errorCode == 1)
    	printf ("Error code is 1: writing failed error.\n");
    if( errorCode == 2)
    	printf("Error code is 2: opening failed error.\n");
    if( errorCode == 3)
    	printf("Error code is 3: write protected.\n");
    
    

    Here, errorCode variable is checking with values 0,1,2 and 3. In such case you can use switch.

    在这里, errorCode变量将使用值0、1、2和3进行检查。在这种情况下,可以使用switch。

    switch(errorCode)
    {
    	case 0:
    		printf("Error code is 0: reading failed error.\n");
    		break;
    
    	case 1:
    		printf ("Error code is 1: writing failed error.\n");
    		break;
    
    	case 2:
    		printf("Error code is 2: opening failed error.\n");
    		break;
    
    	case 3:
    		printf("Error code is 3: write protected.\n");
    		break;
    
    	default:
    		printf("Undefined error.\n");
    }
    
    

    翻译自: https://www.includehelp.com/c-programs/c-interview-questions-and-answers-page-1.aspx

    c语言编程题面试

    展开全文
  • C语言经典编程实例100题+答案
  • C语言经典编程实例100题+答案
  • 经典C语言程序设计习题,共100题,内附有答案与习题简略解析; 题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。...
  • C语言编程入门100题(实战编程)

    千人学习 2020-04-20 23:07:42
    C语言编程入门100题》实战编程,由WangTeacher精心制作,14+年专业程序员,精通多门编程语言,多年系统架构设计经验,从事网络安全行业,项目数过100,代码量过100W。 该课程将录制C语言入门编程100道编程题目,零...
  • 经典C语言编程100例——题目+答案代码(1-10)

    千次阅读 多人点赞 2019-11-17 21:10:15
    1.程序分析:以 3 月 5 日为,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情况,闰年且输入月份大于 3 时需考虑多加一天。 2.程序源代码: main() { int day,month,year,sum,leap; ...


    【程序 1】

    题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
    1.程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去掉不满足条件的排列。
    2.程序源代码:

    main()
    {
    int i,j,k;
    printf("\n");
    for(i=1;i<5;i++) /*以下为三重循环*/
    for(j=1;j<5;j++)
    for (k=1;k<5;k++)
    {
    if (i!=k&&i!=j&&j!=k) /*确保 i、j、k 三位互不相同*/
    printf("%d,%d,%d\n",i,j,k);
    }
    }

    ==============================================================

    【程序 2】
    题目:企业发放的奖金根据利润提成。利润(I)低于或等于 10 万元时,奖金可提 10%;利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分,可可提成 7.5%;20 万到 40 万之间时,高于 20 万元的部分,可提成 5%;40 万到 60 万之间时高于

    40 万元的部分,可提成 3%;60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5%,高于
    100 万元时,超过 100 万元的部分按 1%提成,从键盘输入当月利润 I,求应发放奖金总数?
    1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
    2.程序源代码:

    main()
    {
    long int i;
    int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
    scanf("%ld",&i);
    bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
    bonus4=bonus2+200000*0.5;
    bonus6=bonus4+200000*0.3;
    bonus10=bonus6+400000*0.15;
    if(i<=100000)
    bonus=i*0.1;
    else if(i<=200000)
    bonus=bonus1+(i-100000)*0.075;
    else if(i<=400000)
    bonus=bonus2+(i-200000)*0.05;
    else if(i<=600000)
    bonus=bonus4+(i-400000)*0.03;
    else if(i<=1000000)
    bonus=bonus6+(i-600000)*0.015;
    else
    bonus=bonus10+(i-1000000)*0.01;
    printf("bonus=%d",bonus);
    }

    ==============================================================

    【程序 3】

    题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少?1.程序分析:在 10 万以内判断,先将该数加上 100 后再开方,再将该数加上 268 后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:

    2.程序源代码:

    #include "math.h"
    main()
    {
    long int i,x,y,z;
    for (i=1;i<100000;i++)
    { x=sqrt(i+100); /*x 为加上 100 后开方后的结果*/
    y=sqrt(i+268); /*y 为再加上 168 后开方后的结果*/
    if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
    printf("\n%ld\n",i);
    }
    }

    ==============================================================

    【程序 4】

    题目:输入某年某月某日,判断这一天是这一年的第几天?
    1.程序分析:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情况,闰年且输入月份大于 3 时需考虑多加一天。
    2.程序源代码:

    main()
    {
    int day,month,year,sum,leap;
    printf("\nplease input year,month,day\n");
    scanf("%d,%d,%d",&year,&month,&day);
    switch(month)/*先计算某月以前月份的总天数*/
    {
    case 1:sum=0;break;
    case 2:sum=31;break;
    case 3:sum=59;break;
    case 4:sum=90;break;
    case 5:sum=120;break;
    case 6:sum=151;break;
    case 7:sum=181;break;
    case 8:sum=212;break;
    case 9:sum=243;break;
    case 10:sum=273;break;
    case 11:sum=304;break;
    case 12:sum=334;break;
    default:printf("data error");break;
    }
    sum=sum+day; /*再加上某天的天数*/
    if(year@0==0||(year%4==0&&year 0!=0))/*判断是不是闰年*/
    leap=1;
    else
    leap=0;
    if(leap==1&&month>2)/*如果是闰年且月份大于 2,总天数应该加一天*/ sum++;
    printf("It is the %dth day.",sum);}

    ==============================================================

    【程序 5】

    题目:输入三个整数 x,y,z,请把这三个数由小到大输出。
    1.程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较,如果 x>y 则将 x 与 y 的值进行交换,然后再用 x 与 z 进行比较,如果 x>z 则将 x 与 z 的值进行交换,这样能使 x 最小。
    2.程序源代码:

    main()
    {
    int x,y,z,t;
    scanf("%d%d%d",&x,&y,&z);
    if (x>y)
    {t=x;x=y;y=t;} /*交换 x,y 的值*/
    if(x>z)
    {t=z;z=x;x=t;}/*交换 x,z 的值*/
    if(y>z)
    {t=y;y=z;z=t;}/*交换 z,y 的值*/
    printf("small to big: %d %d %d\n",x,y,z);
    }

    ==============================================================

    【程序 6】题目:用*号输出字母 C 的图案。
    1.程序分析:可先用'*'号在纸上写出字母 C,再分行输出。
    2.程序源代码:

    #include "stdio.h"
    main()
    {
    printf("Hello C-world!\n");
    printf(" ****\n");
    printf(" *\n");
    printf(" * \n");
    printf(" ****\n");
    
    }

    ==============================================================

    【程序 7】

    题目:输出特殊图案,请在 c 环境中运行,看一看,Very Beautiful!
    1.程序分析:字符共有 256 个。不同字符,图形不一样。
    2.程序源代码:

    #include "stdio.h"
    main()
    {
    char a=176,b=219;
    printf("%c%c%c%c%c\n",b,a,a,a,b);
    printf("%c%c%c%c%c\n",a,b,a,b,a);
    printf("%c%c%c%c%c\n",a,a,b,a,a);
    printf("%c%c%c%c%c\n",a,b,a,b,a);
    printf("%c%c%c%c%c\n",b,a,a,a,b);}

    ==============================================================

    【程序 8】
    题目:输出 9*9 口诀。
    1.程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。
    2.程序源代码:

    #include "stdio.h"
    main()
    {
    int i,j,result;
    printf("\n");
    for (i=1;i<10;i++)
    { for(j=1;j<10;j++)
    {
    result=i*j;
    printf("%d*%d=%-3d",i,j,result);/*-3d 表示左对齐,占 3 位*/
    }
    printf("\n");/*每一行后换行*/
    }
    }

    ==============================================================

    【程序 9】

    题目:要求输出国际象棋棋盘。
    1.程序分析:用 i 控制行,j 来控制列,根据 i+j 的和的变化来控制输出黑方格,还是白方格。
    2.程序源代码:

    #include "stdio.h"
    main()
    {
    int i,j;
    for(i=0;i<8;i++)
    {
    for(j=0;j<8;j++)
    if((i+j)%2==0)
    printf("%c%c",219,219);
    else
    printf(" ");
    printf("\n");
    }
    }

    ==============================================================

    【程序 10】
    题目:打印楼梯,同时在楼梯上方打印两个笑脸。
    1.程序分析:用 i 控制行,j 来控制列,j 根据 i 的变化来控制输出黑方格的个数。
    2.程序源代码:

    #include "stdio.h"
    main()
    {
    int i,j;
    printf("\1\1\n");/*输出两个笑脸*/
    for(i=1;i<11;i++)
    {
    for(j=1;j<=i;j++)
    printf("%c%c",219,219);
    printf("\n");
    }
    }


     

    展开全文
  • C语言100例_C++100例+经典、实用、趣味程序设计编程精解
  • 题目:利用条件运算符的嵌套来完成此:学习成绩>=90 分的同学用 A 表示,60-89 分之间的用 B 表示, 60 分以下的用 C 表示。 1.程序分析:(a>b)?a:b 这是条件运算符的基本例子。 2.程序源代码: main()...

    【程序 11】

    题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
    1.程序分析: 兔子的规律为数列 1,1,2,3,5,8,13,21....
    2.程序源代码:

    main()
    {
    long f1,f2;
    int i;
    f1=f2=1;
    for(i=1;i<=20;i++)
    { printf(" ld ld",f1,f2);
    if(i%2==0) printf("\n");/*控制输出,每行四个*/
    f1=f1+f2; /*前两个月加起来赋值给第三个月*/
    f2=f1+f2; /*前两个月加起来赋值给第三个月*/
    }
    }

    ==============================================================

    【程序 12】
    题目:判断 101-200 之间有多少个素数,并输出所有素数。
    1.程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
    2.程序源代码:

    #include "math.h"
    main()
    {
    int m,i,k,h=0,leap=1;
    printf("\n");
    for(m=101;m<=200;m++)
    { k=sqrt(m+1); for(i=2;i<=k;i++) if(m%i==0) {leap=0;break;}
    if(leap) {printf("%-4d",m);h++; if(h ==0)
    printf("\n");
    }
    leap=1;
    }
    printf("\nThe total is %d",h);
    }

    ==============================================================

    【程序 13】

    题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个“水仙花数”,因为 153=1 的三次方+5 的三次方+3 的三次方。1.程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。

    2.程序源代码: 

    main()
    {
    int i,j,k,n;
    printf("'water flower'number is:"); for(n=100;n<1000;n++)
    {
    i=n/100;/*分解出百位*/ j=n/10 ;/*分解出十位*/ k=n ;/*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
    {
    printf("%-5d",n);
    }
    }
    printf("\n");
    }

    ==============================================================

    【程序 14】

    题目:将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。
    程序分析:对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成:
    (1)如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。
    (2)如果 n<>k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数你 n, 重复执行第一步。
    (3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。
    2.程序源代码:

    /* zheng int is divided yinshu*/
    main()
    {
    int n,i;
    printf("\nplease input a number:\n");
    scanf("%d",&n);
    printf("%d=",n);
    for(i=2;i<=n;i++)
    {
    while(n!=i)
    {
    if(n%i==0)
    { printf("%d*",i);
    n=n/i;
    }
    else
    break;
    }
    }
    printf("%d",n);}

    ==============================================================

    【程序 15】

    题目:利用条件运算符的嵌套来完成此题:学习成绩>=90 分的同学用 A 表示,60-89 分之间的用 B 表示, 60 分以下的用 C 表示。

    1.程序分析:(a>b)?a:b 这是条件运算符的基本例子。

    2.程序源代码:

    main()
    {
    int score;
    char grade;
    printf("please input a score\n");
    scanf("%d",&score);
    grade=score>=90?'A':(score>=60?'B':'C');
    printf("%d belongs to %c",score,grade);
    
    }

    ==============================================================

    【程序 16】

    题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。

    1.程序分析:利用辗除法。

    2.程序源代码:

    main()
    
    {
    int a,b,num1,num2,temp;
    printf("please input two numbers:\n");
    scanf("%d,%d",&num1,&num2);
    if(num1 { temp=num1;
    num1=num2;
    num2=temp;
    }
    a=num1;b=num2;
    while(b!=0)/*利用辗除法,直到 b 为 0 为止*/
    {
    temp=a%b;
    a=b;
    b=temp;
    }
    printf("gongyueshu:%d\n",a);
    printf("gongbeishu:%d\n",num1*num2/a);
    }

    ==============================================================

    【程序 17】

    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
    1.程序分析:利用 while 语句,条件为输入的字符不为'\n'.
    2.程序源代码:

    #include "stdio.h"
    main()
    {char c;
    int letters=0,space=0,digit=0,others=0;
    printf("please input some characters\n");
    while((c=getchar())!='\n')
    {
    if(c>='a'&&c<='z'||c>='A'&&c<='Z')
    letters++;
    else if(c==' ')
    space++;
    else if(c>='0'&&c<='9')
    digit++;
    else
    others++;
    }
    printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,
    space,digit,others);
    }

    ==============================================================

    【程序 18】
    题目:求 s=a+aa+aaa+aaaa+aa...a 的值,其中 a 是一个数字。例如 2+22+222+2222+22222(此时共有 5 个数相加),几个数相加有键盘控制。

    1.程序分析:关键是计算出每一项的值。

    2.程序源代码:

    main()
    {
    int a,n,count=1;
    long int sn=0,tn=0;
    printf("please input a and n\n");
    scanf("%d,%d",&a,&n);
    printf("a=%d,n=%d\n",a,n);
    while(count<=n)
    {
    tn=tn+a;
    sn=sn+tn;
    a=a*10;
    ++count;
    }
    printf("a+aa+...=%ld\n",sn);
    }

    ==============================================================

    【程序 19】

    题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=1+2+3.编程找出 1000 以内的所有完数。

    1.程序分析:请参照程序<--上页程序 14.
    2.程序源代码: 

    main()
    {
    static int k[10]; int i,j,n,s; for(j=2;j<1000;j++)
    {
    n=-1; s=j; for(i=1;i { if((j%i)==0)
    { n++;
    s=s-i;
    k[n]=i;
    }
    }
    if(s==0)
    {
    printf("%d is a wanshu",j);
    for(i=0;i printf("%d,",k[i]);
    printf("%d\n",k[n]);
    }
    }
    }

    ==============================================================

    【程序 20】

    题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次落地时,共经过多少米?第 10 次反弹多高?

    1.程序分析:见下面注释

    2.程序源代码:

    main()
    {
    float sn=100.0,hn=sn/2;
    int n;
    for(n=2;n<=10;n++)
    
    {
    sn=sn+2*hn;/*第 n 次落地时共经过的米数*/
    hn=hn/2; /*第 n 次反跳高度*/
    }
    printf("the total of road is %f\n",sn);
    printf("the tenth is %f meter\n",hn);
    }

     

    展开全文
  • 1.程序分析:同 29 2.程序源代码: main( ) { long ge,shi,qian,wan,x; scanf("%ld",&x); wan=x/10000; qian=x 000/1000; shi=x 0/10; ge=x ; if (ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/ ...

    【程序 21】

    题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

    1.程序分析:采取逆向思维的方法,从后往前推断。
    2.程序源代码:

    main()
    {
    int day,x1,x2;
    day=9;
    x2=1;
    while(day>0)
    {x1=(x2+1)*2;/*第一天的桃子数是第 2 天桃子数加 1 后的 2 倍*/
    x2=x1;
    day--;
    }
    printf("the total is %d\n",x1);
    }

    ==============================================================

    【程序 22】

    题目:两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a 说他不和 x 比,c 说他不和 x,z 比,请编程序找出三队赛手的名单。
    1.程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
    2.程序源代码:

    main()
    {
    char i,j,k;/*i 是 a 的对手,j 是 b 的对手,k 是 c 的对手*/
    for(i='x';i<='z';i++)
    for(j='x';j<='z';j++)
    {
    if(i!=j)
    for(k='x';k<='z';k++)
    { if(i!=k&&j!=k)
    { if(i!='x'&&k!='x'&&k!='z')
    printf("order is a--%c\tb--%c\tc--%c\n",i,j,k);
    }
    }
    }
    }

    ==============================================================

    【程序 23】

    题目:打印出如下图案(菱形)

    *

    ***

    ******

    ********

    ******

    ***

    *

    1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for 循环,第一层控制行,第二层控制列。
    2.程序源代码:

    main()
    {
    int i,j,k;
    for(i=0;i<=3;i++)
    {
    for(j=0;j<=2-i;j++)
    printf(" ");
    for(k=0;k<=2*i;k++)
    printf("*");
    printf("\n");
    }
    for(i=0;i<=2;i++)
    {
    for(j=0;j<=i;j++)
    printf(" ");
    for(k=0;k<=4-2*i;k++)
    printf("*");
    printf("\n");
    }
    }

    ==============================================================

    【程序 24】

    题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前 20 项之和。
    1.程序分析:请抓住分子与分母的变化规律。
    2.程序源代码:

    main()
    {
    int n,t,number=20;
    float a=2,b=1,s=0;
    for(n=1;n<=number;n++)
    {
    s=s+a/b;
    t=a;a=a+b;b=t;/*这部分是程序的关键,请读者猜猜 t 的作用*/
    }
    printf("sum is %9.6f\n",s);
    }

    ==============================================================

    【程序 25】
    题目:求 1+2!+3!+...+20!的和
    1.程序分析:此程序只是把累加变成了累乘。
    2.程序源代码:

    main()
    {
    float n,s=0,t=1;
    for(n=1;n<=20;n++)
    {
    t*=n;
    s+=t;
    }
    printf("1+2!+3!...+20!=%e\n",s);
    }

    ==============================================================

    【程序 26】

    题目:利用递归方法求 5!。
    1.程序分析:递归公式:fn=fn_1*4!
    2.程序源代码:

    #include "stdio.h"
    main()
    {
    int i;
    int fact();
    for(i=0;i<5;i++)
    printf("\40:%d!=%d\n",i,fact(i));
    }
    int fact(j)
    int j;
    {
    int sum;
    if(j==0)
    sum=1;
    else
    sum=j*fact(j-1);
    return sum;
    }


    ==============================================================

    【程序 27】
    题目:利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。
    1.程序分析:
    2.程序源代码:

    #include "stdio.h"
    main()
    {
    int i=5;
    void palin(int n);
    printf("\40:");
    palin(i);
    printf("\n");
    }
    void palin(n)
    int n;
    {
    char next;
    if(n<=1)
    {
    next=getchar();
    printf("\n\0:");
    putchar(next);
    }
    else
    {
    next=getchar();
    palin(n-1);
    putchar(next);
    }
    }

    ==============================================================

    【程序 28】

    题目:有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁。问第 4 个人岁数,他说比第 3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个人大两岁。最后问第一个人,他说是 10 岁。请问第五个人多大?

    1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10 岁),再往回推。

    2.程序源代码:

    age(n)
    
    {
    int n;
    int c;
    if(n==1) c=10;
    else c=age(n-1)+2;
    return(c);
    }
    main()
    { printf("%d",age(5));
    }

    ==============================================================

    【程序 29】

    题目:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
    1.    程序分析:学会分解出每一位数,如下解释:(这里是一种简单的算法)
    2.    程序源代码:

    main( )
    {
    long a,b,c,d,e,x; scanf("%ld",&x); a=x/10000;/*分解出万位*/ b=x 000/1000;/*分解出千位*/
    c=x 00/100;/*分解出百位*/
    d=x 0/10;/*分解出十位*/
    e=x ;/*分解出个位*/
    if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a); else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b); else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c); else if (d!=0) printf("there are 2, %ld %ld\n",e,d);
    else if (e!=0) printf(" there are 1,%ld\n",e);
    }


    ==============================================================
    【程序 30】
    题目:一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位相同,十位与千位相同。
    1.程序分析:同 29 例
    2.程序源代码:

    main( )
    {
    long ge,shi,qian,wan,x;
    scanf("%ld",&x);
    wan=x/10000;
    qian=x 000/1000;
    shi=x 0/10;
    ge=x ;
    if (ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/ printf("this number is a huiwen\n"); else
    printf("this number is not a huiwen\n");
    }

     

    展开全文
  • C语言经典例题(菜鸟教程100例

    万次阅读 多人点赞 2018-09-04 18:47:59
    学习c语言基础,怎么能少了菜鸟教程上的100道例题呢,这里整理一下每道的链接,希望大家能享受学习的乐趣 1,有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 2,企业发放的奖金根据...
  • C语言经典100例(PDF)

    2018-12-10 10:36:19
    100经典C语言编程题及答案,涵盖了C程序大部分基本知识,适合初学者练习
  • 经典C语言编程100例——题目+答案代码(完结)

    千次阅读 多人点赞 2020-03-15 07:35:22
    【程序 91】 题目:时间函数举例 1 1.程序分析: 2.程序源代码: #include "stdio.h" #include "time.h" void main() { time_t lt; /*define a longint time varible*/ lt=time(NULL);/*system time and date*/ ...
  • C语言经典例题100例(一)

    千次阅读 2019-03-18 23:44:40
    C语言大神之路----经典例题100例(程序一) 程序一 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 解: 首先看本身是数字相互排列且不重复问题,用循环语句就可以解决。要求输出而是...
  • 很不错的。也包含了答案。适合考试,初学者的。
  • floodfill(202,100,WHITE); getch(); for(k=0;k;k++) { setcolor(3); for(i=0;i;i++) { a=(2*PAI/16)*i+(2*PAI/180)*k; x=ceil(x0+48*cos(a)); y=ceil(y0+48+sin(a)*B); setcolor(2); line(x0,y0,x,y); } for(j=1;j...
  • C语言编程100题-5.5

    千次阅读 2019-05-14 15:55:01
    输入的字符串长度不超过100。 输入:一个字符串 输出:空格隔开的子字符串,用一个空格间隔。 输入输出样例如下所示: 输入:Hello 输出:o lo llo ello Hello 样例输入: Hello 样例输出: o lo llo ello Hello #in...
  • C语言编程100题-8.3

    千次阅读 2019-05-05 00:05:55
    8.3 设计一个队列,将任意n个整数入队(n值从键盘读入,n>2),将队列的前两个元素输出(即出队),随后将11和12入队,再次输出队列中的所有元素。...//这个题目好奇怪,在这里吐槽一下,这...
  • C语言编程100题-4.8

    千次阅读 2019-05-14 15:49:15
    4.8 编写函数,用牛顿迭代法求方程f(x)=2x3-4x2+3x-6=0在1.5附近的根。 牛顿迭代公式为:xn+1=xn-f(xn)/f’(xn) 其中,f’(xn) 是f在xn处的导数。 结束条件:|f(xn+1)|< eps与|xn+1-xn|< eps同时成立(eps是一...
  • C语言编程100题-9.7

    千次阅读 2019-05-04 10:50:39
    Each case occupies one line which contains an N (^100). Output Specification: For each test case, output in one line the digits of the sum in English words. There must be one space between two ...
  • 100经典例题包含答案,做完收获很大,适合掌握了C语言基本语法以后想做练习的同学学习
  • 问题:爱因斯坦出了一个数学:有一个长阶梯 若每步跨2阶 则最后剩余一阶 若每步跨3阶 最后剩余2阶 若每跨5阶 最后剩下4阶 若每步跨6阶 最后剩余5阶 只有每次跨7阶 最后才正好一阶不剩。请问在1-N内 有多少个数能...
  • C语言经典100编程练习

    千次阅读 多人点赞 2020-10-30 22:49:02
    1.生成不重复的三位数,有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 2.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金...高于100万元时,超过100万元的部分按1%提成。
  • C语言经典算法100例(一)

    万次阅读 多人点赞 2013-10-12 00:31:44
    C语言中有有许多经典的算法,这些算法都是许多人的智慧结晶,也是编程中常用的算法,这里面包含了众多算法思想,掌握这些算法,对于学习更高级的、更难的算法都会有很大的帮助,会为自己的算法学习打下坚实的基础。...
  • 1,201603编程题 编函数fun()实现:移动一位数组中的内容,若数组中有n个整数,要求把下标从p~n-1(p)的数组元素平移到数组的前面。 #include #include #define N 80 void fun (int *w, int p, int n) { int i,j...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,127
精华内容 8,450
关键字:

c语言编程题经典100例

c语言 订阅