cr:经典
题目26
一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
思路:
主要做法是取出个位、十位、千位和万位,然后比较;如果两组数字的比较结果都是相同的,那么就是回文数。
代码:
#include<stdio.h>
main()
{
int x, a, b, c, d;
printf("输入一个五位数:");
scanf("%d", &x);
d = x % 10;
c = x / 10 % 10;
b = x / 1000 % 10;
a = x / 10000 % 10;
if (a == d && b == c) {
printf("\n这个数字是回文数。\n");
}
else {
printf("\n这个数字不是回文数。\n");
}
}
对方:
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鸟教程. All rights reserved.
//
#include <stdio.h>
int main( )
{
long ge,shi,qian,wan,x;
printf("请输入 5 位数字:");
scanf("%ld",&x);
wan=x/10000; /*分解出万位*/
qian=x%10000/1000; /*分解出千位*/
shi=x%100/10; /*分解出十位*/
ge=x%10; /*分解出个位*/
if (ge==wan&&shi==qian) { /*个位等于万位并且十位等于千位*/
printf("这是回文数\n");
} else {
printf("这不是回文数\n");
}
}
反思&收获:
无。
cr:小林
例26
C语言实现输出杨辉三角。
思路:
就输出最简单的统一左对齐的方式吧。题目要求不说输出几行,就按前十行来吧。
第一列和每一行与行数相同的那一列都是1,先把这些数字赋值,然后中间的值是[( x-1,y-1 )+( x-1,y )]。一共十行,也就是x=10截止。
代码:
#include<stdio.h>
main()
{
int x, y, a[10][10];
for (x = 0; x < 10; x++) {
a[x][0] = 1;
a[x][x] = 1;
}
for (x = 2; x < 10; x++) {
for (y = 1; y < x; y++) {
a[x][y] = a[x - 1][y - 1] + a[x - 1][y];
}
}
for (x = 0; x < 10; x++) {
for (y = 0; y < x+1; y++) {
printf("%-5d", a[x][y]);
}printf("\n");
}
}
对方:
反思&收获:
还是需要多加练习,这个做的还是不够熟练,有好多地方没完成好。