1.一些简单的程序
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <math.h> #include <string.h> int main() { int i = pow(3, 2); printf("%d",i); return 0; } 用swap函数交换数字顺序 //函数的设计 void swap(int* pa, int* pb) { int temp; temp = *pa; *pa = *pb; *pb = temp; } int main() { //创建两个数字 int a =0,b =0; scanf("%d%d", &a,& b); printf("交换前: a=%d,b=%d\n", a, b); swap(&a, &b); printf("交换后: a=%d,b=%d\n", a, b); return 0; } 字符圣诞树 int main() { char ip; scanf("%c", &ip); printf(" %c \n", ip); printf(" %c %c \n", ip,ip); printf(" %c %c %c \n", ip,ip,ip); printf(" %c %c %c %c \n", ip,ip,ip,ip); printf("%c %c %c %c %c\n", ip,ip,ip,ip,ip); return 0; } 使用嵌套循环 #include<stdio.h> int main() { char a; scanf("%c", &a);//输入一个任意字符 int i = 1;//记行数用的 int j, g; //j是输出“空格”用的,g是输出“字符+空格”用的 for (i = 1; i < 6; i++)//关于行数i在前5行执行的循环(包括第5行) { for (j = 5 - i; j > 0; j--)//输出第n行的前5-n个空格(n<=5) { printf(" "); } for (g = 0; g < i; g++)//输出第n行的所有空格后的字符 { printf("%c ", a);//注意所输出的%c后有一个空格 } printf("\n");//第n行输出结束,执行换行操作 }//运行到这里就输出了n行的字符金字塔图形 return 0; } int main() { int len =strlen("hello bit"); printf("%d", len); return 0; } 73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116 , 33输出其对应的字符 int main() { printf("%c%c%c%c%c%c%c%c%c%c%c%c", 73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116, 33); return 0; } 输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。 int main() { int a, b, c; //你输出一串数字,将其分割,可以限定存放变量的长度; scanf("%4d%2d%2d", &a, &b, &c);//%4d 代表为我的a变量创建4个字节的空间,也就是前四个输入的东西存放到a中 printf("year=%d\nmonth=%02d\ndate=%02d", a, b, c);//%02d代表输出数字有两列,不足前面补零 //2代表最小宽度为2,对于数字8,输出结果为08,对于数字100,输出结果100; return 0; }
2.反向输出数字(两种方法,字符数组and对取余%取商/的理解)
针对每组输入,反向输出对应四位数。 例如输入1234,输出4321; 第一种方法,利用字符数组,最后只输出后四位即可 int main() { char str[10]; scanf("%s", str);//直接存储输入的字符串 printf("%c%c%c%c\n", str[3], str[2], str[1],str[0]); return 0; } 第二种利用取余%和取商/ int main() { int input; scanf("%d", &input);//存储四位数 int i; for (i = 0; i < 4; i++) { printf("%d", input % 10);//%10会一直取余到余数小于10,输入一个四位数,第一次除以10,得到一个三位数,继续除以10,直到得到一个个位数,这个个位数即千位上的数字 input =input / 10; } return 0; }