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;
}