#include<string.h>int i;//当全局变量没有被初始化是,默认是0int main(){ i--;// if (i > sizeof(i)) //类型的sizeof(i)的结果是unsigned int。因此,如果我们想将i与sizeof(i)进行比较,我们需要将i的类型转换为unsigned int //因此,i转换为无符号的结果是,使i变成一个非常大的数字(其符号位转换为一个数字) printf(">\n"); else printf("<\n"); return 0;}
第二题:求输出结果
int main(){ int a = 0; int n = 0; int sum = 0, ret = 0;; int i = 0; scanf("%d %d", &a,&n); for (i = 0;i < n;i++) { ret = ret * 10 + a; sum = sum + ret; } printf("sum = %d\n", sum); return 0;}
第三题:使用指针访问数组里面的元素
int main(){ int arr[] = { 1,2,3,4,5,6,7,8,9 }; int* p = arr; int i = 0; for (i = 0;i < 9;i++) { printf("%d\n", *(p + i)); } return 0;}
第四题:求1-10000之间的水仙花数
#include<math.h>int main(){ int i = 0, n = 0,tmp = 0; int sum = 0; for (i = 0;i < 10000;i++) { //判断一共有几位数,n tmp = i; n = 1; while (tmp/10) { n++; tmp = tmp / 10; } //判断是否是水仙花数 tmp = i; sum = 0; while (tmp) { sum += pow(tmp % 10, n); tmp = tmp / 10; } if (sum == i) printf("%d ", sum); } return 0;}
int main(){ int line = 0; scanf("%d", &line);//输入行数:是上半部分的行数 int i = 0; for (i = 0;i < line;i++)//打印7行,这里一共是7行 { //输出上半部分 int j = 0; //打印一行 //' ' for (j = 0;j < line - i - 1;j++) { printf(" "); } //打印'*' for (j = 0;j < 2 * i + 1;j++) { printf("*"); } printf("\n"); } for(i=0;i<line-1;i++)//这里一共是6行 { //输出下半部分 //输出' ' int j = 0; for (j = 0;j <=i ;j++) { printf(" "); } //输出'*' for (j = 0;j < 2 * (line - i)-3;j++) { printf("*"); } printf("\n"); } return 0;}
1块钱1一瓶饮料,两个空瓶换一瓶饮料,20块钱能喝多少瓶
int main(){ int ping = 0;//瓶子计数器 scanf("%d", &ping); int kong = ping;//空瓶计数器 int tmp = 0; do { tmp = kong % 2;//先计算有多少个先把剩余的瓶子存起来 kong = kong / 2;//再在计算剩余的瓶子能换多少瓶子 ping = kong + ping;//加进总数里面 kong = kong + tmp;//再把存起来的瓶子和新的剩余的瓶子加起来 } while (kong != 1 && kong != 0); //规律是2n-1 printf("%d\n", ping); return 0;}