• C primer 编程练习 (不断更新)


    目前在看《C Primer》,以后会经常在这篇博客里更新课后的编程练习题

    第二章:编程练习

    2.1

    #include <stdio.h>
    
    int main(void)
    {
    printf("Anton Bruckner
    ");
    printf("Anton
    Bruckner
    ");
    printf("Anton");
    printf("Bruckner");
    return 0;
    }
    

    2.2

    #include <stdio.h>
    
    int main(void)
    {
    	printf("姓名:霍义霞
    ");
    	printf("地址:北京电子科技学院
    ");
    	
    return 0;
    }
    

    2.3

    #include <stdio.h>
    
    int main(void)
    {
    	int age;
    	int days;
    	age = 24;
    	days = age*365;
    	printf("my age is %d,that is %d days
    ",age,days);
    
    	return 0;
    }
    

    2.4

    #include <stdio.h>
    void jolly(void);
    void fellow(void);
    
    int main(void)
    {
    	jolly();
    	fellow();
    
    	return 0;
    }
    
    void jolly(void)
    {
    	printf("For he's a jolly good fellow!
    For he's a jolly good fellow!
    For he's a jolly good fellow!
    ");
    }
    void fellow(void)
    {
    	printf("which nobody can deny
    ");
    }
    

    2.5

    #include <stdio.h>
    
    int main(void)
    {
    	int toes=10;
    	int toes_double;
    	int toes_square;
    	toes_double=toes+toes;
    	toes_square=toes*toes;
    	printf("toes=%d,toes_double=%d,toes_square=%d
    ",toes,toes_double,toes_square);
    
    	return 0;
    }
    

    2.6

    #include <stdio.h>
    void smile_one(void);
    
    int main(void)
    {
    	printf("smile!smile!smile!
    ");
    	printf("smile!smile!
    ");
    	smile_one();
    
    	return 0;
    }
    void smile_one(void)
    {
    	printf("smile!
    ");
    }
    

    2.7

    #include <stdio.h>
    void one();
    void two();
    void three();
    
    int main(void)
    {
    	printf("starting now:
    ");
    	one();
    	two();
    	three();
    	printf("done
    ");
    
    	return 0;
    }
    
    void one()
    {
    	printf("one
    ");
    	
    }
    void two()
    {
    	printf("two
    ");
    }
    void three()
    {
    	printf("three
    ");
    }
    

    第三章 编程练习

    3.1

    #include<stdio.h>
    int main(void)  /*本机使用的是32位系统 */
    { 
    
    	int i=2147483647; 
    	float f_up=1.234567e38;
    	float f_down=1.234567; 
    	printf("%d
    ",i+1); //有符号整型最大表示 2147483647,故溢出 
    	printf("%f
    ",f_up*10); //单精度浮点数最大指数为38,故上溢出 
    	printf("%f
    ",f_down/10); //单精度浮点保留6位有效数字,故下溢出 
    	return 0;
    }
    

    3.2

    #include<stdio.h>
    int main(void)  /*ASCII码和字符的转换*/
    
    { 
    	char a;/*保证输入的只有8位*/
    	printf("Please enter an ASCII number between 0-127:");
    	scanf("%d",&a);
    	printf("the ASCII number means:%c
    ",a);
    	
    	return 0;
    }
    

    3.3

    #include<stdio.h>
    
    int main(void)  
    {
    	printf("aStartked by the sudden,Sally shouted,"By the Gteat Pumpkin,what was that!"
    " );
    	return 0;
    }
    

    3.4

    #include<stdio.h>
    
    int main(void)  
    {
    	float a;
    	printf("please input a float number:");
    	scanf("%f",&a);
    	printf("the input is %f or %e
    ",a,a);
    	return 0;
    }
    

    3.5

    #include<stdio.h>
    
    int main(void)  
    {
    	int a = 3.156e7;
    	int age;
    	printf("please input your age:");
    	scanf("%d",&age);
    	printf("the age is %d,that is %e seconds
    ",age,age*a);
    	return 0;
    }
    

    3.6

    #include<stdio.h>
    int main() 
    {
    float k;
    printf("Please input the weight:"); 
    scanf("%f",&k);
    printf("It includes %e molecules
    ",k*950/3.0e-23);
    
    }
    

    3.7

    #include<stdio.h>
    
    int main() 
    {  
    		float height;
    		printf("Please input your height(cm):");
    		scanf("%f",&height);
    		printf("Your height is:%f(inch)
    ",height/2.54);
    }
    

    第四章 编程练习

    4.1

    #include <stdio.h>
    
    int main() 
    {
    	char f_name[20],l_name[20];
    	printf("please input your first name and last name:");
    	scanf("%s %s",f_name,l_name);
    	printf("%s,%s
    ",l_name,f_name);
    
    	return 0;
    }
    

    4.2

    #include <stdio.h>
    
    int main() 
    {
    	char name[40];
    	printf("please input your name:");
    	scanf("%s",name);
    	printf(""%s"
    ",name);
    	printf(""%20s"
    ",name);
    	printf(""%-20s"
    ",name);
    	printf(""%s   "
    ",name);
    	return 0;
    }
    

    4.3

    #include <stdio.h>
    
    int main() 
    {
    	float a = 21.29;
    	printf("the input is %.1f or %0.1e
    ",a,a);
    	printf("the input is +%.3f or %0.3E
    ",a,a);
    
    	return 0;
    }
    

    4.4

    #include<stdio.h>
    int main() //
    {  
    	char name[20];
    	float height;
    	printf("please input your height(inch) and your name:");
    	scanf("%f %s",&height,name); 
    	printf("%s,you are %.3f feet tall
    ",name,height);
    	printf("please input your height(cm) and your name:");
    	scanf("%f %s",&height,name); 
    	printf("%s,you are %.3f meters tall
    ",name,height/100); 
    	return 0;
    }
    

    4.5

    #include<stdio.h>
    #include "string.h"
    int main() //对齐稍有难度,要用到*,*代表宽度,可参考课本p81
    {  
    	char f_name[20];
    	char l_name[20];
    	short f,l;
    	printf("please input your  first name and last name:");
    	scanf("%s %s",f_name,l_name);
    	printf("%s %s
    ",f_name,l_name);
    	f = strlen(f_name);
    	l = strlen(l_name);
    	printf("%*d %*d
    ",f,f,l,l);
    	return 0;
    }
    

    4.6

    #include<stdio.h>
    #include <float.h>
    int main() 
    {  
    	double a = 1.0/3.0;
    	float  b = 1.0/3.0;
    	printf("%.4f %.4f
    ",a,b);
    	printf("%.12f %.12f
    ",a,b);
    	printf("%.16f %.16f
    ",a,b);
    	printf("%f %lf
    ",FLT_DIG,DBL_DIG);
    	return 0;
    }
    

    4.7

    #include<stdio.h>
    #define GALLON_LITRE 3.785
    #define MILE_KILOMETRE 1.609
    int main() 
    {
    float m,g;
    printf("Please input the miles and gallons:");
    scanf("%f%f",&m,&g);
    printf("That is %f miles/gallon
    ",m/g);
    printf("That is %f litres/hkm
    ",GALLON_LITRE *g/(MILE_KILOMETRE *m*100)); 
    }
    

    第五章编程练习

    5.1

    #include <stdio.h>
    #define H_PER_M 60
    int main() 
    {  
    	long minutes;
    	long  hours;
    	printf("please input the current_time in minutes:");
    	scanf("%ld",&minutes);
    	while(minutes > 0) 
    	{
    		hours = minutes / H_PER_M;
    		minutes = minutes % H_PER_M;
    		printf("that time is %ld hours and %ld minutes
    ",hours,minutes);
    		printf("again:");
    		scanf("%ld
    ",&minutes);
    
    	}
    
    	return 0;
    }	
    

    5.2

    #include <stdio.h>
    int main() 
    {  
    	int a;
    	int i =10;
    	printf("please input the number:");
    	scanf("%d",&a);
    	while (i--)
    		printf("%3d",a++);
    		printf("%3d
    ",a);
    	return 0;
    }
    

    5.3

    #include <stdio.h>
    #define week 7
    int main() 
    {  
    	int days1;
    	int days;
    	int weeks;
    	printf("please input the days:");
    	scanf("%d",&days);
    	while (days > 0)
    	{
    		weeks = days/week;
    		days1 = days % week;
    		printf("%d days is %d weeks , %d days
    ",days,weeks,days1);
    		printf("input again:");
    		scanf("%d",&days);
    	}
    	return 0;
    }	
    

    5.4

    #include<stdio.h>
    #define INCHES_PER_FEET 12
    #define INCHES_PER_CM 0.393700
    int main() 
    {	
    	float centimeters,inches;
    	long feet;
    	printf("please input  a height in centimeters:");
    	scanf("%f",&centimeters);
    	while(centimeters>0)
    	{
    		inches=centimeters*INCHES_PER_CM;
    		feet=inches/INCHES_PER_FEET; 
    		inches=inches-feet*INCHES_PER_FEET; 
    		printf("%.1f cm = %ld feet, %.1f inches
    ",centimeters,feet,inches);
    		printf("Enter a height in centimeters(<=0 to quit):");
    		scanf("%f",&centimeters);
    	}
    	printf("Bye
    ");
    	return 0;
    }
    

    5.5

    #include<stdio.h>
    int main() 
    {	
    	int count,i = 10,sum;
    	printf("please input 20 integer:
    ");
    	while(i--)
    	{
    		scanf("%d",&count);
    		sum+=count;
    	}
    	printf("the sum of the 20 count is : %d
    ",sum);
    	return 0;
    }
    

    5.6

    #include<stdio.h>
    int main() 
    {	
    	int count,i = 10,sum;
    	printf("please input 20 integer:
    ");
    	while(i--)
    	{
    		scanf("%d",&count);
    		count=count*count;
    		sum+=count;
    	}
    	printf("the sum of the 20 count is : %d
    ",sum);
    	return 0;
    }
    

    5.7

    #include<stdio.h>
    void cube(float);
    int main() 
    {	
    	float a;
    	printf("please input a float:");
    	scanf("%f",&a);
    	cube(a);
    	return 0;
    }
    	void cube(float n)
    	{
    		printf("the number's cube is %f
    ",n*n*n);
    	}
    

    5.8

    #include<stdio.h>
    void Temperatures(double);
    int main() 
    {	
    	double fahrenheit;
    
    	printf("please input the temperatures(fahrenheit)");
    	while(scanf("%lf",&fahrenheit))
    	{
    		Temperatures(fahrenheit);
    		printf("input again:");
    	   
    	}
    	 return 0;
    }
    	void Temperatures(double fahrenheit )
    	{
    		double celsius;
    		double kelvin;
    		double C_F_MULT = 1.8;
    		double C_F_PLUS = 32.0;
    		double K_C_PLUS = 273.16;
    		celsius = C_F_MULT*fahrenheit +C_F_PLUS;
    		kelvin =  celsius + K_C_PLUS;
    		printf("%.2lf fahrenheit is %.2lf celsius or %.2lf kelvin
    ",fahrenheit,celsius,kelvin);
    	}
    

    第六章 编程练习

    6.1

    #include<stdio.h>
    int main() 
    {	
    	int i = 0;
    	char c ='a';
    	char letter[26];
    	printf("please input the 26 letters:");
    	while(c <= 'z')
    	{
    		letter[i] = c;
    		printf("%c ",c);
    		i++;
    		c++;
    	}
    	printf("
    ");
    	return 0;
    }
    

    6.2

    #include<stdio.h>
    
    int main() 
    {	
    	int i,j;
    	char c = '$';
    	for (i=0;i< 5;i++)
    	{
    		for (j=0;j < i+1;j++)
    		{
    			printf("%c",c);	
    		}
    		printf("
    ");
    	}	
    	return 0;
    }
    

    6.3

    #include<stdio.h>
    int main() 
    {	
    	int i,j;
    	char c = 'F';
    	for (i=0;i<6;i++)
    	{
    		for (j=0;j<i+1;j++)
    		{
    			printf("%c",'F'-j);
    		}
    		printf("
    ");
    	}
    	return 0;
    }
    

    6.4

    #include<stdio.h>
    int main() 
    {
    	char letter;
    	int i,space,up,down;
    	printf("please input a capital letter:");
    	scanf("%c",&letter);
    	for (i=0;i<=letter-'A';i++)
    	{
    		for (space='A';space<letter-i;space++)
    		{
    			printf(" ");
    		}
    		for (up='A';up<='A'+i;up++)
    		{
    			printf("%c",up);
    		}
    		for (down=up-2;down>='A';down--)
    		{
    			printf("%c",down);
    		}
    		printf("
    ");
    	}
    	return 0;
    }
    

    6.5

    #include<stdio.h>
    int main() 
    {
    	int up_limit;
    	int down_limit;
    	int square,cube;
    	printf("enter the down_limitand up_limit:");
    	scanf("%d %d",&down_limit,&up_limit);
    	if (down_limit>up_limit)
    	{
    		printf("error:
    ");
    	}
    	else
    	{
    		for (;down_limit<=up_limit;down_limit++)
    		{
    			square = down_limit*down_limit;
    			cube=square*down_limit;
    			printf("%6d%6d%6d
    ",down_limit,square,cube);
    		}
    	}
    	
    	return 0;
    }
    

    6.6

    #include<stdio.h>
    #include <string.h>
    int main() 
    {
    	char word[20];
    	int n;
    	printf("Enter a word:
    ");
    	scanf("%s",&word);
    	n = strlen(word);
    	for (int i=n-1;i>=0;i--)
    	{
    		printf("%c",word[i]);
    	}
    	printf("
    ");
    	return 0;
    }
    

    6.7

    #include<stdio.h>
    int main() 
    {
    	float a,b;
    	printf("please input two float numbers:");
    	while (scanf("%f%f",&a,&b)==2)
    	{
    		printf("%f
    ",(a-b)/(a*b));
    		printf("input again
    ");
    	}
    	
    
    	return 0;
    }
    

    6.8

    #include<stdio.h>
    float test(float,float);
    int main() 
    {
    	float first,second;
    	printf("please input two float numbers:");
    	while (scanf("%f%f",&first,&second)==2)
    	{
    		printf("%f
    ",test(first,second));
    		printf("input again
    ");
    	}
    	return 0;
    }
    float test(float f,float s)
    {
    	return (f-s)/(f*s);
    }
    

    6.9

    #include<stdio.h>
    int main() //用循环求平方的和 
    {
    	int super,lower,sum;
    	printf("Enter lower and upper integer limits:");
    	scanf("%d%d",&lower,&super);
    	while(lower<super)
    	{
    		for(int i=lower;i<=super;i++) 
    			sum+=i*i;
    		printf("The sums of the squares "
    			"from %d to %d is %d
    ",lower*lower,super*super,sum);
    		sum=0;
    		printf("Enter next set of limits:");
    		scanf("%d%d",&lower,&super);
    	}
    	printf("Done
    "); 
    	return 0;
    }
    

    6.10

    #include<stdio.h>
    #define SIZE 8
    int main() 
    {
    	int  number[SIZE];
    	printf("please input eight numbers:");
    	for(int i=0;i<8;i++)
    		scanf("%d",&number[i]);
    	for(int j=SIZE-1;j>=0;j--)
    		printf("%5d",number[j]);
    	printf("
    ");
    	return 0;
    }
  • 相关阅读:
    node之时间
    node之querystring
    学图像处理应该学Matlab还是C++
    柯西—施瓦茨不等式
    矿区 GPS 变形监测及其伪卫星增强技术 GPS and its Pseudolite Augmented Technique for Deformation Monitoring in the Mining Area
    伪卫星
    The Principles of Selection. The Cartographic Journal, 3, 10-16. http://dx.doi.org/10.1179/caj.1966.3.1.10 Topfer, F. and Pillewizer, W. (1966)
    基于采样的网络地图的多尺度曲线绘制表达
    Coursera上Python课程(公开课)汇总
    三江源区高寒草地地上生物量遥感反演模型研究 Modeling Aboveground Biomass of Alpine Grassland in the Three-River Headwaters Region Based on Remote Sensing Data
  • 原文地址:https://www.cnblogs.com/myidea/p/5008715.html
Copyright © 2020-2023  润新知