前提:
以前はコンセプトに触れる機会が多かったので、今度は実際に運用していきます。
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と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 );
}