C言語の古典的なプログラミング282例01

前提:

以前はコンセプトに触れる機会が多かったので、今度は実際に運用していきます。

01 Hello world

最初のプログラムと言えば、Hello world!から始めなければなりません。

#include<stdio.h>

main()
{
    
    
	printf("hello word!"); //;分号要注意!
	printf("\n");
 } 

022つの値の追加-完全なC言語プログラム

#include<stdio.h>

main()
{
    
    
	int a, b, sum = 0;//sum记得赋初值
	a = 10;
	b = 20;
	sum = a + b;//方向不要弄反
	
	printf(" sum = %d", sum);//
	printf("\n");
 } 

03あなたは貴重なのですが、なぜ3〜5人以上寝るのが面倒なのでしょう。最も役に立たないのは、1日10日間寒さにさらされるのではないかと心配です。

#include<stdio.h>

main()
{
    
    
	printf(" 贵有恒,何必三更起五更睡;最无益,只怕一日曝十日寒! ");
	printf("\n");
 } 

04正方形の周囲

コード:

	h = a * 4;  

毎日のフォームを書かないでください:

	h = 4a;  
#include<stdio.h>

main()
{
    
    
	int a, h;
	a = 4;
	h = a * 4;  
	 
	printf(" h = %d ", h);
	printf("\n");
 } 

05正方形を出力

#include<stdio.h>

main()
{
    
    
	printf("* * * * *\n");//'\n'为转义符
    printf("*       *\n");
    printf("*       *\n");
	printf("*       *\n");   
	printf("* * * * *\n");	

 } 
文字定数
一般文字定数 特殊文字定数
一般文字定数 「A」、「8」、「a」など
特殊文字定数 '\'で始まり、その後に1つ以上の文字が続きます。各エスケープ文字には、特定の意味があります。

ここに画像の説明を挿入

注:
(i)エスケープ文字は小文字のみにすることができ、各エスケープ文字は1文字としてのみ見なすことができます。
(2)縦タブ文字「\ v」および改ページ文字「\ f」は画面に影響を与えず、対応する操作を実行するためにプリンターに影響を与えます。
(3)Cでは、エスケープ文字は印刷できない文字を意味します。

06三角形を出力する

#include<stdio.h>

main()
{
    
    
	printf("    *    \n");
    printf(" *     *  \n");
	printf("* * * * *\n");	

 } 

07総和手続き

#include<stdio.h>

main()
{
    
    
    int a, b, sum = 0; 		/*声明变量*/
    a = 123;			 	/*为变量赋初值*/
    b = 789;				/*为变量赋初值*/
    sum = a + b;			/*求和运算*/
     
	printf("  sum = %d\n", sum );/*输出结果*/
 } 

08シーク10!

#include<stdio.h>

main()
{
    
    
    int i = 2, n = 10;   /*定义变量i,n为整型,i=2n=10*/
    float fac = 1;		 /*定义变量fac为单精度型,赋初值fac=1*/
    if(n == 0 || n == 1) /*当n=0 /1 时输出阶乘1*/
    {
    
    
    	printf("  factorial is 1 \n" );
    	return 0;
	}
   
    while(i <= n)		/*当数值大于等于i时执行循环体*/
    {
    
    
    	fac = fac * i;  /*实现求阶乘过程*/
    	i ++;			/*变量i自加*/
	}
	printf(" factorial of %d is: %.2f.\n",  n, fac );
   

 } 

注意:階乗の最終結果を単精度/倍精度型として定義します。整数型として定義すると、溢出現象が発生しやすくなります

//me:
#include<stdio.h>

main()
{
    
    
    int i;
    float sum = 1;
   
   for(i = 1; i <= 10 ; i ++)
   {
    
    
   	sum *= i;
   }
     
	printf("  sum = %f\n", sum );
   

 } 

093つの数字が小さいものから大きいものへとソートされています

#include<stdio.h>

main()
{
    
    
    int a, b, c;
    scanf("%d %d %d\n", &a, &b, &c);
    
    int temp;
    if(a > b)
    {
    
    
    	temp = a;
    	a = b;
    	b = temp;
	}
	if(a > c)
    {
    
    
    	temp = a;
    	a = c;
    	c = temp;
	}
	if(b > c)
    {
    
    
    	temp = b;
    	b = c;
    	c = temp;
	}
    
	printf("  %d  %d  %d\n",  a, b, c );
   

 } 

①ifステートメントには次の3つの形式があります。

  • if(式)ステートメント

  • ここに画像の説明を挿入

  • ここに画像の説明を挿入
    ②、それ以外の場合は単独で使用することはできません
    。ネストできる場合は、ifステートメント③の一部である必要があります
    ④ifとelseの後に1つ以上の埋め込み操作ステートメントを含めることができます。

010モンキーイーツピーチ

サルは桃を食べる:サルは初日に数個の桃を選び、初日に半分以上の桃を食べ、2日目に残りの半分ともう1個を食べました。それ以降、彼らはもう1個の桃を食べました。毎朝前日から10日目。朝は1つだけ食べたいです。サルは初日に何個の桃を選びましたか?
xがあり、残りが翌日であると仮定します。x= x / 2-1;

//官方
#include<stdio.h>

main()
{
    
    
    int day, x1, x2;
    day = 9;
	x2 = 1;
    
  while(day > 0)
  {
    
    
  	x1 = (x2 + 1) * 2;
	x2 = x1;
	day--;   
  }
	
	printf("  %d  \n",  x1 );
   

 } 
//me
#include<stdio.h>

main()
{
    
    
    int a = 1, i;		//设置原先桃只有1个;i为次数
    
    for(i = 0 ; i < 9; i++)//因为i从0开始算,就要<9,不能等于
    {
    
    
    	a= (a +1) * 2;
	}
	
	printf("  %d  \n",  a );
   
 } 

011Appleを購入する

陰と陽のためにリンゴを購入します。リンゴは0.8元で、初日に2個購入し、翌日の初日に2倍購入します。購入したリンゴの数が、1日の平均コストである100を超えなくなるまでです。陰と陽?

#include<stdio.h>

main()
{
    
    
    int n = 2, day = 0,;
	float money = 0, ave;
    
    while(n < 100)			//苹果个数不超过100,故while 中的表达式n小于100
    {
    
    
    	  money += n * 0.8;		//将每天花的钱数累加求和
    	  day++;				//天数+1
    	  n *= 2; 				//苹果每天购买的数目变化。
	}
    
	ave = money / day ;
   
	printf("  %.06f  \n",  ave );
   
 } 
//me
#include<stdio.h>

main()
{
    
    
    int day, a;
	float money;
    day = 0;
  
    for(a = 2; a < 100 ; 	a *= 2)
    {
    
    
       money += a * 0.8;		//第一天2个,第2天4个,每天买的数目渐渐上升,钱就要边加变算。
       day++;
	}
	
	money = money / day ;
	printf("  %.06f  \n",  money );
 } 

おすすめ

転載: blog.csdn.net/qq_41070511/article/details/109989122