//
// main.c
// 循环练习
//
// Created by zhangxueming on 15/5/29.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
//
#include <stdio.h>
//4.循环(计算某个数的位数) 输入一个正整数, 计算这个正整数的位数
//int main(int argc, const char * argv[]) {
// // insert code here...
// //printf("Hello, World!\n");
// //num = 12345;
// //12345 / 10 cnt++;
// //1234 / 10 cnt++;
// //123 / 10 cnt++;
// //12 / 10 cnt++;
// //1 / 10 cnt++;
// //0
// int num;
// scanf("%d", &num);
// int cnt=0;
// while (num) {
// cnt++;
// num/=10;
// }
// printf("cnt = %d\n", cnt);
// return 0;
//}
//9.流程控制(数值序列3) 输出数字序列 1,2,3,5,8,13,21...,输出个数由键盘输入。注意输入使用scanf输入
// a = 1, b=2; a+b = 3;
// a = 2, b=3; a+b = 5;
// a = 3, b=5; a+b = 8;
//\
//比如:
//\
//输入 3输出为
//1
//2
//3
//输入 4 输出为
//1
//2
//3
//5
//int main(int argc, const char *argv[])
//{
// int n;
// int a=0,b=1;
// scanf("%d", &n);
// for (int i=0; i<n; i++) {
// int temp = a+b;
// printf("%d ", temp);
// a = b;
// b = temp;
// }
// printf("\n");
// return 0;
//}
//int a=1, b=1;
// a = 2 b=1;
// a= 3 b=2
//10.流程控制(数值序列2) 输出数字序列2/1,3/2,5/3,8/5,13/8,21/13...,输出个数由键盘输入。注意输入使用scanf输入 feibonaqi
//\
//比如:
//输入 3输出为
//2/1
//3/2
//5/3
//输入 4 输出为
//2/1
//3/2
//5/3
//8/5
//int main(int argc, const char *argv[])
//{
// int n;
// scanf("%d", &n);
// int a=1, b=1;
// for (int i=0; i<n; i++) {
// printf("%d/%d ", a+b, a);
// int temp = a+b;
// b = a;
// a = temp;
// }
// printf("\n");
// return 0;
//}
//11. 输入一个数a,求 s=a+aa+aaa+aaaa+aa...a 的值,其中 a 是一个数字(1-9 之间)计算的数据的个数是5。例如 2+22+222+2222+22222。
//a = 3; int temp = a;
//a = a*10+temp a = 33
//a = a*10 +temp 333;
//a = a*10 + temp 3333;
//int main(int argc,const char *argv[])
//{
// int a;
// int sum = 0;
// scanf("%d", &a);
// int temp = a;
//
// for (int i=0; i<5; i++) {
// sum+=a;
// a= a*10+temp;
// }
// printf("sum = %d\n", sum);
// return 0;
//}
//12. 输入年月日, 判断是一年中的第多少天
//2015 3 1
//31 + 28 + 1 = 60
//2012 3 1
//31 + 29 + 1 = 61
//int main(int argc,const char *argv[])
//{
// int year, month, day;
// int sum = 0;
// scanf("%d %d %d", &year, &month, &day);
// for (int i=1; i<month; i++) {
// switch (i) {
// case 1:
// case 3:
// case 5:
// case 7:
// case 8:
// case 10:
// case 12:
// sum+=31;
// break;
// case 4:
// case 6:
// case 9:
// case 11:
// sum+=30;
// break;
// case 2:
// if ((!(year%4)&&year%100)||!(year%400)) {
// sum+=29;
// }
// else
// {
// sum+=28;
// }
// break;
// default:
// break;
// }
// }
// printf("sum = %d", sum+=day);
// return 0;
//}
//int main(int argc,const char *argv[])
//{
// int i;
// scanf("%d",&i);
//
// switch (i) {
// case 1:
// printf("hello world%d\n", i);
// case 2:
// printf("hello world%d\n", i);
// case 3:
// printf("hello world%d\n", i);
// case 4:
// printf("hello world%d\n", i);
// case 5:
// printf("hello world%d\n", i);
// break;
// default:
// break;
// }
// return 0;
//}
//13.一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第
//10 次落地时,共经过多少米?
//int main(int argc,const char *argv[])
//{
// float s = 100;
// float temp = 100;
// for (int i=0; i<9; i++) {
// s+=temp;
// temp/=2;
// }
// printf("s = %.2f\n", s);
// return 0;
//}
//14. 求最大公约数 (辗转相除法)
//a b a%b
//319 / 377 --- 319
//377 / 319 --- 58
//319 / 58 --- 29
//58 / 29 --- 0
//29 / 0
//int main(int argc,const char *argv[])
//{
// int a, b;
// scanf("%d %d", &a, &b);
// while (b) {
// int temp = a%b;
// a = b;
// b = temp;
// }
// printf("最大公约数 = %d\n",a);
// return 0;
//}
//17. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
//sdfghjkl;\n
//int main(int argc,const char *argv[])
//{
// int cnt1=0,cnt2=0,cnt3=0,cnt4=0;
// char ch;
// while (scanf("%c",&ch), ch!='\n') {
// if ((ch>='a' && ch<='z') || (ch>='A'&&ch<='Z')) {
// cnt1++;
// }
// else if(ch == ' ')
// {
// cnt2++;
// }
// else if(ch>='0' && ch<='9')
// {
// cnt3++;
// }
// else
// {
// cnt4++;
// }
// }
// printf("英文字母:%d 空格:%d 数字:%d 其它字符:%d\n", cnt1, cnt2, cnt3, cnt4);
// return 0;
//}
//19. 循环(输出图案) 打印以下图案, 该图案的行数由输入的数n来控制
//
//A
//AA
//AAA
//int main(int argc,const char *argv[])
//{
// int n;
// scanf("%d", &n);
// for (int i=0; i<n; i++) {
// for (int j=0; j<=i; j++) {
// printf("A");
// }
// printf("\n");
// }
// return 0;
//}
//20.使用嵌套循环产生下列图案:
// * j=3 i=0
// *** j=2 j=3 i=1 j=4
// ***** j=1 j=2 j=3 i=2 j=4 j=5
//*******j=0 j=1 j=2 j=3 i=3 j=4 j=5 j=6
//int main(int argc,const char *argv[])
//{
// int n;
// scanf("%d", &n);
// for (int i=0; i<n; i++) {
// for (int j=0; j<(n-1)*2+1; j++) {
// if (i+j>=n-1 && j-i<=n-1) {
// printf("*");
// }
// else
// {
// printf(" ");
// }
// }
// printf("\n");
// }
// return 0;
//}
//24. 将一个正整数分解质因数(用for 循环)。例如:输入90,打印出90=2*3*3*5。//%d* %d
//n
//90
//90 / 2 --- 0
//45 / 2 ---
//45 / 3 --- 0
//15 / 3 --- 0
//5 / 3 ---
//5 / 4 ---
//5 / 5 --- 0
//1
//int main(int argc,const char *argv[])
//{
// int n;
// scanf("%d", &n);
// printf("%d=",n);
// for (int i=2; n!=1; i++) {
// if(!(n%i))
// {
// n==i?printf("%d", i):printf("%d*",i);
// n /= i;
// i--;
// }
// }
// return 0;
//}
//30. 输入一个自然数n, 统计 n! 末尾有多少个0?
//5! 1 5*4*3*2*1
//10! 2 2*5*9*8*7*6*5*4*3*2*1
//15! 3 3*5...2*5...5*...
//20! 4 4*5...3*5...2*5...5...
//25! 6 5*5...4*5...3*5...2*5...5...
//125! 5*5*5 25%5 5%5
//25%5 cnt++ 5%5 cnt++; 1%5
//int main(int argc,const char *argv[])
//{
// int n;
// int cnt=0;
// scanf("%d", &n);
// for (int i=1; i<=n; i++) {
// int temp = i;
// while (!(temp%5)) {
// cnt++;
// temp/=5;
// }
// }
// printf("cnt = %d\n", cnt);
// return 0;
//}
//31. 编写程序,找到1000以内的所有”完数”,所谓完数是指一个数是其所有因子之和 如: 6 = 1+2+3; 6 28 496
//int main(int argc, const char *argv[])
//{
// for (int i=1; i<=1000; i++) {
// int sum=0;
// for (int j=1; j<i; j++) {
// if (!(i%j)) {
// sum+=j;
// }
// }
// if (sum==i) {
// printf("%d ", i);
// }
// }
// return 0;
//}
//25.流程控制(for循环) 输入一个大写字母,如F
//\
//比如:
//\
//输入:F
//\
//输出:
//
// A
// AB A
// ABC BA
// ABCD CBA
// ABCDE DCBA
//ABCDEF EDCBA
//int main(int argc, const char *argv[])
//{
// char ch;
// scanf("%c", &ch);
// for (int i=0; i<ch-'A'+1; i++) {
// for (int j=0; j<ch-'A'-i; j++) {
// printf(" ");
// }
// for (int j=0; j<=i; j++) {
// printf("%c",'A'+j);
// }
// for (int j=i; j>0; j--) {
// printf("%c", 'A'+j-1);
// }
// printf("\n");
//
// }
// return 0;
//}
//26. 流程控制(for循环) 输入一个大写字母,如 F,输出
//\
//比如:
//\
//输入:F
//\
//输出:
// F
// EFE
// DEFED
// CDEFEDC
// BCDEFEDCB
//ABCDEFEDCBA
//27. 流程控制(for循环) 输入一个大写字符,如F
//\
//比如:
//
//输入:F
//
//输出:
//
//FEDCBA
// EDCBA B
// DCBA BC
// CBA BCD
// BA BCDE
// A BCDEF
int main(
int argc,
const char *
argv[])
{
char ch;
scanf("%c",&
ch);
for (
int i=
0; i<ch-
'A'+
1; i++
) {
for (
int j=
0; j<i; j++
) {
printf(" ");
}
for (
int j=ch-
'A'-i; j>=
0; j--
) {
printf("%c",
'A'+
j);
}
for (
int j=
0; j<i; j++
) {
printf("%c",
'A'+
1+
j);
}
printf("\n");
}
return 0;
}
转载于:https://www.cnblogs.com/0515offer/p/4543780.html
相关资源:Java中for循环练习题
转载请注明原文地址: https://win8.8miu.com/read-1541590.html