C语言基础6

来源:互联网 发布:七友软件 编辑:程序博客网 时间:2024/05/22 07:41

前面我们学了很多这门语言的基础知识,也对这门语言有了一定的了解,为了巩固和加强代码的熟悉,以下有几道经典例题。

1.请输出100---1000之间的水仙花数:水仙花数是指一个n(>=3)位数字的数,它等于每个数字的n次幂之和。

根据我们学过的知识可以用以下两种方法:

(1)

#include<stdio.h>
int main(void) {
int i, j, k, n;    //声明4个变量i, j , k, n
for(n = 100;n < 1000;n++) {
i = n / 100;  //算出水仙花数的百位
j = n / 10 - i * 10; //或者n / 10 % 10  //算出水仙花数的十位
k = n % 10;   //算出水仙花数的个位
if (n == i * i * i + j * j * j + k * k * k) {
printf("水仙花数有:%d\n",n);
}
 
}

(2)

#include<stdio.h>
int main(void) {
int i, j, k, n;
for (i = 1; i < 10; i++) {
for (j = 0; j < 10; j++) {
for (k = 0; k < 10; k++) {
n = i * 100 + j * 10 + k; //注意记得加上这一步组成一个三位数
if (n == i * i * i + j * j * j + k * k * k) {
printf("%d\t",n);
}
}
}
}
}

2.打印九九乘法表

#include<stdio.h>
int main(void) {
int i, j;
for (i = 1; i < 10; i++) { //循环外层
for (j = 1; j <= i; j++) { //循环内层,注意j=i要考虑在内,缺少“=”就少了9*9=81.
printf("%d*%d=%d\t",i, j, i * j);
}
printf("\n");
}
}

3.100以内的奇数与偶数分别的和。

#include<stdio.h>
int main(void) {
int i;
int o = 0;
int j = 0;
for (i = 0; i < 100; i++) {
if (i % 2 == 0) { //能被2整除为偶数
o = o + i;//o为偶数的和
o++; 

} else {
j = j + i;//j为奇数的和
j++;
}

}
printf("偶数之和为:%d,奇数之和为;%d",o, j);
}


4.输入5个数字并把他们由大到小输出。(冒泡排序)

#include<stdio.h>
int main(void) {
int i, j, temp; //声明一个临时变量temp来存放值
int a[5];
for (i = 0; i < 5; i++) {
scanf("%d",&a[i]);
}
for (i = 0; i < 4; i++) {
for (j = 0; j < 5; j++) {
if (a[j] < a[j+1]) {//比较两个相邻的数
temp = a[j];//若前一个小于后一个将前一个值赋给temp
a[j] = a[j+1];//将后一个数赋给前一个数
a[j+1] = temp;//再将temp赋给后一个值
}
}
}
for (i = 0;i < 5; i++) {
printf("%d\t",a[i]);
}
}

5.将1,2,3,4组成互不重复的三位数,并计算有多少个

#include<stdio.h>
int main(void) {
int i, j, k;
int count = 0;
for (i = 1; i < 5; i++) {
for (j = 1; j < 5; j++) {
if (i == j) {
continue;
}
for (k = 1; k < 5; k++) {
if (i == j || j == k) {
continue;
}
printf("%d%d%d\n",i, j, k);
count++;
}

}
printf("总个数为:%d",count);
}

以上几道例题都很好地总结了编写程序时需要用到的方法,以及所学的知识,很好地培养我们的程序思维。

0 0
原创粉丝点击