第一题:
将一个四位数,反向输出。
输入描述:
一行,输入一个整数n(1000 <= n <= 9999)。
输出描述:
针对每组输入,反向输出对应四位
#include <stdio.h>
int main()
{
int n,j;
scanf("%d",&n);
while (n>0)/***进入一个 while 循环,只要 n 大于 0,就会执行循环体内的操作。在每次循环中,使用取模运算 n%10 获取 n 的最后一位,并使用 printf 函数将其输出。然后,将 n 除以 10,去掉最后一位,为下一次循环做准备。***/
{
printf("%d",n%10);
n=n/10;
}
return 0;
}
第二题:
我
想判断输入的字符是不是字母
输入描述:
多组输入,每一行输入一个字符。
输出描述:
针对每组输入,输出单独占一行,判断输入字符是否为字母
#include <stdio.h>
int main()
{
char a;
while ( (a = getchar()) != -1)
{
if ((a >= 'A' && a <= 'Z') || (a >= 'a' && a <= 'z')) {//字符 a 是否在大写字母 A 到 Z //或小写字母 a 到 z 的范围内。
printf("%c is an alphabet.\n", a);//如果字符是字母,使用 printf 函数输出 a 是一个字母。
getchar();//在每个判断之后,都使用 getchar() 函数额外读取一个字符。
} else
{
printf("%c is not an alphabet.\n", a);//否则,输出 a 不是一个字母。
getchar();
}
}
return 0;
}
第三题:
小明学习了循环,老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的金字塔图案。
输入描述:
多组输入,一个整数(2~20),表示金字塔边的长度,即“*”的数量,,也表示输出行数。
输出描述:
针对每行输入,输出用“*”组成的金字塔,每个“*”后面有一个空格。
//对于有行有列的图形采用双循环,i控制行,j控制列,对于这种金字塔,我们可以先利用循环把空格打印出来,然后在相应的位置放上*.
#include<stdio.h>
int main()
{
int i,j,n;
while (scanf("%d", &n) != EOF) {
for (int i = 0; i < n; i++) { //行
for (int j = 0; j <n - i-1; j++) {//列,观察列与行的关系
printf(" ");
}
for (int j = 0; j<= i; j++) {
printf("* ");
}
printf("\n");
}
}
}