Heim >Backend-Entwicklung >C#.Net-Tutorial >10 klassische kleine Programme in C-Sprache
[Prozedur 1]
Frage: Es gibt 1, 2, 3 und 4 Zahlen, die ohne wiederholte Zahlen gebildet werden können. Wie viele sind es?
1. Programmanalyse: Die Zahlen, die in die Hunderter-, Zehner- und Einerstelle eingefügt werden können, sind alle 1, 2, 3 und 4. Nachdem Sie alle Permutationen erstellt haben, gehen Sie zu
und löschen Sie die Permutationen, die die Bedingungen nicht erfüllen.
2. Programmquellcode:
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); } }
[Programm 2]
Titel: Die vom Unternehmen ausgegebenen Boni basieren auf Gewinnen. Wenn der Gewinn (I) weniger als oder gleich 100.000 Yuan beträgt, kann der Bonus um 10 % erhöht werden;
Wenn es weniger als 100.000 Yuan und weniger als 200.000 Yuan beträgt, wird für den Teil unter 100.000 Yuan eine Provision von 10 % erhoben. Für den Teil über 100.000 Yuan wird eine Provision von 10 % erhoben.
7,5 %, wenn der Betrag zwischen 200.000 und 400.000 Yuan liegt, kann eine Provision von 5 % erhoben werden, wenn er zwischen 400.000 und 600.000 Yuan liegt, beträgt die Provision 5 %;
Für den Teil von 400.000 Yuan können Sie eine Provision von 3 % für den Teil von 600.000 bis 1 Million erhalten, für den Teil über 600.000 Yuan können Sie eine Provision von 1,5 % erhalten.
Wenn der Betrag 1 Million Yuan übersteigt, beträgt die Provision 1 % für den Teil, der 1 Million Yuan übersteigt. Geben Sie den monatlichen Gewinn über die Tastatur ein. Wie soll die Gesamtzahl der Boni verteilt werden?
1. Programmanalyse: Bitte verwenden Sie die Zahlenachse zum Teilen und Positionieren. Beachten Sie, dass der Bonus bei der Definition als Ganzzahl definiert werden muss.
2. Programmquellcode:
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); } }
[Programm 2]
Titel: Die vom Unternehmen ausgegebenen Boni basieren auf Gewinnen. Wenn der Gewinn (I) weniger als oder gleich 100.000 Yuan beträgt, kann der Bonus um 10 % erhöht werden;
Wenn es weniger als 100.000 Yuan und weniger als 200.000 Yuan beträgt, wird für den Teil unter 100.000 Yuan eine Provision von 10 % erhoben. Für den Teil über 100.000 Yuan wird eine Provision von 10 % erhoben.
7,5 %, wenn der Betrag zwischen 200.000 und 400.000 Yuan liegt, kann eine Provision von 5 % erhoben werden, wenn er zwischen 400.000 und 600.000 Yuan liegt, beträgt die Provision 5 %;
Für den Teil von 400.000 Yuan können Sie eine Provision von 3 % für den Teil von 600.000 bis 1 Million erhalten, für den Teil über 600.000 Yuan können Sie eine Provision von 1,5 % erhalten.
Wenn der Betrag 1 Million Yuan übersteigt, beträgt die Provision 1 % für den Teil, der 1 Million Yuan übersteigt. Geben Sie den monatlichen Gewinn über die Tastatur ein. Wie soll die Gesamtzahl der Boni verteilt werden?
1. Programmanalyse: Bitte verwenden Sie die Zahlenachse zum Teilen und Positionieren. Beachten Sie, dass der Bonus bei der Definition als Ganzzahl definiert werden muss.
2. Programmquellcode:
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); }
[Programm 3]
Titel: Eine ganze Zahl, nach der Addition von 100 wird sie zu einer perfekten Quadratzahl, und wenn sie zu 168 addiert wird, wird sie zu einer perfekte quadratische Zahl, was ist diese Zahl?
1. Programmanalyse: Um die Zahl innerhalb von 100.000 zu bestimmen, addieren Sie zunächst 100 zur Zahl, dann 268 zur Zahl und verschreiben Sie sie dann
Das Ergebnis, das die folgenden Bedingungen erfüllt, ist das Ergebnis. Bitte beachten Sie die spezifische Analyse:
2. Programmquellcode:
#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); } }
[Programm 4]
Titel: Geben Sie einen bestimmten Tag eines bestimmten Jahres, einen bestimmten Monat und ein Bestimmen Sie, ob dieser Tag dieses Jahr ist. Welcher Tag ist es?
1. Programmanalyse: Am Beispiel des 5. März sollten Sie zunächst die beiden vorangegangenen Monate addieren und dann 5 Tage hinzufügen, also den Tag des Jahres
Wenn es sich um ein Schaltjahr handelt und der eingegebene Monat größer als 3 ist, müssen Sie darüber nachdenken, einen zusätzlichen Tag hinzuzufügen.
2. Programmquellcode:
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; defaultrintf("data error");break; } sum=sum+day; /*再加上某天的天数*/ if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ leap=1; else leap=0; if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++; printf("It is the %dth day.",sum); }
[Programm 5]
Titel: Geben Sie diese drei Zahlen von klein nach groß ein .
1. Programmanalyse: Wir finden einen Weg, die kleinste Zahl auf x zu setzen, vergleichen zuerst x mit y und tauschen die Werte von x und y aus, wenn x>y.
Verwenden Sie dann x und z zum Vergleich. Wenn x>z, tauschen Sie die Werte von x und z aus, damit x minimiert werden kann.
2. Programmquellcode:
main() { int x,y,z,t; scanf("%d%d%d",&x,&y,&z); if (x>y) /*交换x,y的值*/ if(x>z) /*交换x,z的值*/ if(y>z) /*交换z,y的值*/ printf("small to big: %d %d %d\n",x,y,z); }
[Programm 6]
Titel: Verwenden Sie das *-Zeichen, um das Muster des Buchstabens C auszugeben.
1. Programmanalyse: Sie können zunächst den Buchstaben C mit den Symbolen b4e17c67ac9499e268d9626ccce8267d*b4e17c67ac9499e268d9626ccce8267d auf das Papier schreiben und ihn dann in separaten Zeilen ausgeben.
2. Programmquellcode:
#include "stdio.h" main() { printf("Hello C-world!\n"); printf(" ****\n"); printf(" *\n"); printf(" * \n"); printf(" ****\n"); }
[Programm 7]
Titel: Spezielle Muster ausgeben, bitte in der C-Umgebung ausführen, schauen Sie sich das an, sehr schön!
1. Programmanalyse: Insgesamt sind es 256 Zeichen. Unterschiedliche Charaktere haben unterschiedliche Grafiken.
2. Programmquellcode:
#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); }
[Programm 8]
Titel: Ausgabe der 9*9-Formel.
1. Programmanalyse: Betrachten Sie Zeilen und Spalten, insgesamt 9 Zeilen und 9 Spalten, i steuert die Zeilen und j steuert die Spalten.
2. Programmquellcode:
#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");/*每一行后换行*/ } }
[Programm 9]
Titel: Anforderung zur Ausgabe eines Schachbretts.
1. Programmanalyse: Verwenden Sie i zur Steuerung von Zeilen, j zur Steuerung von Spalten und steuern Sie die Ausgabe von schwarzen oder weißen Quadraten entsprechend der Änderung der Summe von i+j.
2. Programmquellcode:
#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"); } }
[Programm 10]
Titel: Drucken Sie die Treppe und drucken Sie gleichzeitig zwei lächelnde Gesichter über der Treppe.
1. Programmanalyse: Verwenden Sie i, um die Zeilen zu steuern, j, um die Spalten zu steuern, und j, um die Anzahl der ausgegebenen schwarzen Quadrate entsprechend den Änderungen in i zu steuern.
2. Programmquellcode:
#include "stdio.h" main() { int i,j; printf("\n");/*输出两个笑脸*/ for(i=1;i<11;i++) { for(j=1;j<=i;j++) printf("%c%c",219,219); printf("\n"); } }