summaryrefslogtreecommitdiff
path: root/sem_3/Programm/TP2/exo11/exo11.c
diff options
context:
space:
mode:
authorGaspard Coulet <gaspard.coulet@mines-ales.org>2021-04-28 23:05:53 +0200
committerGaspard Coulet <gaspard.coulet@mines-ales.org>2021-04-28 23:05:53 +0200
commit9fe033ea88c2f705ec18c232873d056e0c229d72 (patch)
tree0647dc8c51610c7336c88c04de2068ea14b21e17 /sem_3/Programm/TP2/exo11/exo11.c
Initial commit
Diffstat (limited to 'sem_3/Programm/TP2/exo11/exo11.c')
-rw-r--r--sem_3/Programm/TP2/exo11/exo11.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/sem_3/Programm/TP2/exo11/exo11.c b/sem_3/Programm/TP2/exo11/exo11.c
new file mode 100644
index 0000000..e0567c2
--- /dev/null
+++ b/sem_3/Programm/TP2/exo11/exo11.c
@@ -0,0 +1,23 @@
+#include <stdlib.h>
+#include <stdio.h>
+
+int puiss (int x, int y) {
+ return ( y == 0 ? 1 : x * ( puiss(x, y-1)));
+}
+
+int main (int argc, char** argv) {
+ int ordre =1; int cp = atoi(argv[1]); int bc = cp;
+ while (cp / 10!= 0) {
+ ordre ++;
+ cp = cp /10;
+ }
+ printf("%d\n", ordre);
+ cp = bc;
+ char nbchar[ordre];
+ for ( int i = 0; i < ordre; i ++) {
+ nbchar[i] = cp / puiss(10, ordre -i-1) + 48;
+ cp = cp % puiss(10,ordre-i -1);
+ }
+ printf("%s\n", nbchar);
+ return 0;
+}