1.使用 printf() 输出 “Hello, World!”。
#includeint main() { // printf() 中字符串需要引号 printf("Hello, World!"); return 0; }
结果:
Hello, World!
2.输出整数
#includeint main() { int number; // printf() 输出字符串 printf("输入一个整数: "); // scanf() 格式化输入 scanf("%d", &number); // printf() 显示格式化输入 printf("你输入的整数是: %d", number); return 0; }
结果:
输入一个整数: 45 你输入的整数是: 45
3.输出单个字符
#includeint main() { char c; // 声明 char 变量 c = 'A'; // 定义 char 变量 printf("c 的值为 %c", c); return 0; }
结果:
c 的值为 A
4.输出浮点数
#includeint main() { float f; // 声明浮点数变量 f = 12.001234; // 定义浮点数变量 printf("f 的值为 %f", f); return 0; }
结果:
f 的值为 12.001234
5.输出双精度(double)数
#includeint main() { double d; // 声明双精度变量 d = 12.001234; // 定义双精度变量 printf("d 的值为 %le", d); return 0; }
结果:
d 的值为 1.200123e+01
6.两个整数相加
#includeint main() { int firstNumber, secondNumber, sumOfTwoNumbers; printf("输入两个数(以空格分割): "); // 通过 scanf() 函数接收用户输入的两个整数 scanf("%d %d", &firstNumber, &secondNumber); // 两个数字相加 sumOfTwonumbers = firstNumber + secondNumber; // 输出结果 printf("%d + %d = %d", firstNumber, secondNumber, sumOfTwoNumbers); return 0; }
结果:
输入两个数(以空格分割): 1 2 1 + 2 = 3
7.两个浮点数相乘
#includeint main() { double firstNumber, secondNumber, product; printf("输入两个浮点数: "); // 用户输入两个浮点数 scanf("%lf %lf", &firstNumber, &secondNumber); // 两个浮点数相乘 product = firstNumber * secondNumber; // 输出结果, %.2lf 保留两个小数点 printf("结果 = %.2lf", product); return 0; }
结果:
输入两个浮点数: 1.2 2.345 结果 = 2.81
8.字符转 ASCII 码(A是65,a是97)
#includeint main() { char c; printf("输入一个字符: "); // 读取用户输入 scanf("%c", &c); // %d 显示整数 // %c 显示对应字符 printf("%c 的 ASCII 为 %d", c, c); return 0; }
结果:
输入一个字符: a a 的 ASCII 为 97
9.两数相除,如果有余数,输出余数。
#includeint main(){ int dividend, divisor, quotient, remainder; printf("输入被除数: "); scanf("%d", ÷nd); printf("输入除数: "); scanf("%d", &divisor); // 计算商 quotient = dividend / divisor; // 计算余数 remainder = dividend % divisor; printf("商 = %dn", quotient); printf("余数 = %d", remainder); return 0; }
结果:
输入被除数: 5 输入除数: 2 商 = 2 余数 = 1
10.数值比较
#includeint main() { int a, b; a = 11; b = 99; // 也可以通过以下代码实现让用户在终端输入两个数 // printf("输入第一个值:"); // scanf("%d", &a); // printf("输入第二个值:"); // scanf("%d", &b); if(a > b) printf("a 大于 b"); else printf("a 小于等于 b"); return 0; }
结果:
a 小于等于 b
#includeint main() { int a, b, c; a = 11; b = 22; c = 33; if ( a > b && a > c ) printf("%d 最大", a); else if ( b > a && b > c ) printf("%d 最大", b); else if ( c > a && c > b ) printf("%d 最大", c); else printf("有两个或三个数值相等"); return 0; }
结果:
33 最大
11.使用 sizeof 操作符计算int, float, double 和 char四种变量字节大小。
#includeint main() { int integerType; float floatType; double doubleType; char charType; // sizeof 操作符用于计算变量的字节大小 printf("Size of int: %ld bytesn",sizeof(integerType)); printf("Size of float: %ld bytesn",sizeof(floatType)); printf("Size of double: %ld bytesn",sizeof(doubleType)); printf("Size of char: %ld byten",sizeof(charType)); return 0; }
结果:
Size of int: 4 bytes Size of float: 4 bytes Size of double: 8 bytes Size of char: 1 byte
计算 long long, long double 字节大小。
#includeint main() { int a; long b; long long c; double e; long double f; printf("Size of int = %ld bytes n", sizeof(a)); printf("Size of long = %ld bytesn", sizeof(b)); printf("Size of long long = %ld bytesn", sizeof(c)); printf("Size of double = %ld bytesn", sizeof(e)); printf("Size of long double = %ld bytesn", sizeof(f)); return 0; }
结果:
Size of int = 4 bytes Size of long = 8 bytes Size of long long = 8 bytes Size of double = 8 bytes Size of long double = 16 bytes
12.交换两个数的值(使用临时变量)
#includeint main() { double firstNumber, secondNumber, temporaryVariable; printf("输入第一个数字: "); scanf("%lf", &firstNumber); printf("输入第二个数字: "); scanf("%lf",&secondNumber); // 将第一个数的值赋值给 temporaryVariable temporaryVariable = firstNumber; // 第二个数的值赋值给 firstNumber firstNumber = secondNumber; // 将 temporaryVariable 赋值给 secondNumber secondNumber = temporaryVariable; printf("n交换后, firstNumber = %.2lfn", firstNumber); printf("交换后, secondNumber = %.2lf", secondNumber); return 0; }
结果:
输入第一个数字: 1 输入第二个数字: 2 交换后, firstNumber = 2.00 交换后, secondNumber = 1.00
不使用临时变量:
#includeint main() { int a, b; a = 11; b = 99; printf("交换之前 - n a = %d, b = %d nn", a, b); a = a + b; // ( 11 + 99 = 110) 此时 a 的变量为两数之和,b 未改变 b = a - b; // ( 110 - 99 = 11) a = a - b; // ( 110 - 11 = 99) printf("交换后 - n a = %d, b = %d n", a, b); }
结果:
交换之前 - a = 11, b = 99 交换后 - a = 99, b = 11
13.判断奇数/偶数
#includeint main() { int number; printf("请输入一个整数: "); scanf("%d", &number); // 判断这个数除以 2 的余数 if(number % 2 == 0) printf("%d 是偶数。", number); else printf("%d 是奇数。", number); return 0; }
结果:
请输入一个整数: 5 5 是奇数。
14.循环区间范围内的奇数/偶数
通过循环输出指定区间范围的偶数:
#includeint main() { int i; for(i = 1; i <= 10; i++) { if(i%2 == 0) printf(" %2dn", i); } return 0; }
结果:
2 4 6 8 10
通过循环输出指定区间范围的奇数。
#includeint main() { int i; for(i = 1; i <= 10; i++) { if(i%2 != 0) printf("%dn", i); } return 0; }
结果:
1 3 5 7 9
15.判断输入的字母是元音,还是辅音。
英语有26个字母,元音只包括 a、e、i、o、u 这五个字母,其余的都为辅音。y是半元音、半辅音字母,但在英语中都把他当作辅音。
#includeint main() { char c; int isLowercaseVowel, isUppercaseVowel; printf("输入一个字母: "); scanf("%c",&c); // 小写字母元音 isLowercaseVowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'); // 大写字母元音 isUppercaseVowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'); // if 语句判断 if (isLowercaseVowel || isUppercaseVowel) printf("%c 是元音", c); else printf("%c 是辅音", c); return 0; }
结果:
输入一个字母: G G 是辅音
16.通过屏幕我们输入三个数字,并找出最大的数。
#includeint main() { double n1, n2, n3; printf("请输入三个数,以空格分隔: "); scanf("%lf %lf %lf", &n1, &n2, &n3); if( n1>=n2 && n1>=n3 ) printf("%.2f 是最大数。", n1); if( n2>=n1 && n2>=n3 ) printf("%.2f 是最大数。", n2); if( n3>=n1 && n3>=n2 ) printf("%.2f 是最大数。", n3); return 0; }
结果:
请输入三个数,以空格分隔: 1 2 3 3.00 是最大数。
17.求一元二次方程:ax2+bx+c=0 的根。
输入三个实数a,b,c的值,且a不等于0。
#include#include int main() { float a,b,c,x1,x2,d; printf("输入方程的三个系数:"); scanf("%f %f %f",&a,&b,&c); if(a!=0) { d=sqrt(b*b-4*a*c); x1=(-b+d)/(2*a); x2=(-b-d)/(2*a); if(x1 结果:
输入方程的三个系数:1 2 1 -1.00 -1.0018.判断闰年
用户输入年份,判断该年份是否为闰年。#includeint main() { int year; printf("输入年份: "); scanf("%d",&year); if(year%4 == 0) { if( year%100 == 0) { // 这里如果被 400 整数是闰年 if ( year%400 == 0) printf("%d 是闰年", year); else printf("%d 不是闰年", year); } else printf("%d 是闰年", year ); } else printf("%d 不是闰年", year); return 0; } 结果:
输入年份: 1990 1990 不是闰19.用户输入一个数字,判断该数字是正数还是负数或是零。
#includeint main() { double number; printf("输入一个数字: "); scanf("%lf", &number); if (number <= 0.0) { if (number == 0.0) printf("你输入的是 0。"); else printf("你输入的是负数。"); } else printf("你输入的是正数。"); return 0; } 结果:
输入一个数字: 9 你输入的是正数。20.用户输入一个字符,判断该字符是否为一个字母。
#includeint main() { char c; printf("输入一个字符: "); scanf("%c",&c); if( (c>='a' && c<='z') || (c>='A' && c<='Z')) printf("%c 是字母",c); else printf("%c 不是字母",c); return 0; } 结果:
输入一个字符: a a 是字母21.计算自然数的和
自然数是指表示物体个数的数,即由0开始,0,1,2,3,4,……一个接一个,组成一个无穷的集体,即指非负整数。
使用 for:#includeint main() { int n, i, sum = 0; printf("输入一个正整数: "); scanf("%d",&n); for(i=1; i <= n; ++i) { sum += i; // sum = sum+i; } printf("Sum = %d",sum); return 0; } 使用 while:
#includeint main() { int n, i, sum = 0; printf("输入一个正整数: "); scanf("%d",&n); i = 1; while ( i <=n ) { sum += i; ++i; } printf("Sum = %d",sum); return 0; } 使用递归:
#includeint addNumbers(int n); int main() { int num; printf("输入一个整数: "); scanf("%d", &num); printf("Sum = %d",addNumbers(num)); return 0; } int addNumbers(int n) { if(n != 0) return n + addNumbers(n-1); else return n; } 结果:
输入一个正整数: 100 Sum = 505022.输出九九乘法口诀表
#includeint main(){ //外层循环变量,控制行 int i = 0; //内层循环变量,控制列 int j = 0; for(i=1;i<=9;i++){ for(j=1;j<=i;j++){ printf("%dx%d=%dt",j,i,i*j); } //每行输出完后换行 printf("n"); } } 结果:
1x1=1 1x2=2 2x2=4 1x3=3 2x3=6 3x3=9 1x4=4 2x4=8 3x4=12 4x4=16 1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=8123.斐波那契数列
斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…
这个数列从第3项开始,每一项都等于前两项之和。
输出指定数量的斐波那契数列:#includeint main() { int i, n, t1 = 0, t2 = 1, nextTerm; printf("输出几项: "); scanf("%d", &n); printf("斐波那契数列: "); for (i = 1; i <= n; ++i) { printf("%d, ", t1); nextTerm = t1 + t2; t1 = t2; t2 = nextTerm; } return 0; } 结果:
输出几项: 10 斐波那契数列: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,输出指定数字前的斐波那契数列:
#includeint main() { int t1 = 0, t2 = 1, nextTerm = 0, n; printf("输入一个正数: "); scanf("%d", &n); // 显示前两项 printf("斐波那契数列: %d, %d, ", t1, t2); nextTerm = t1 + t2; while(nextTerm <= n) { printf("%d, ",nextTerm); t1 = t2; t2 = nextTerm; nextTerm = t1 + t2; } return 0; } 结果:
输入一个正数: 100 斐波那契数列: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,24.求两数的最大公约数
用户输入两个数,求这两个数的最大公约数。
使用 for 和 if:#includeint main() { int n1, n2, i, gcd; printf("输入两个正整数,以空格分隔: "); scanf("%d %d", &n1, &n2); for(i=1; i <= n1 && i <= n2; ++i) { // 判断 i 是否为最大公约数 if(n1%i==0 && n2%i==0) gcd = i; } printf("%d 和 %d 的最大公约数是 %d", n1, n2, gcd); return 0; } 结果:
输入两个正整数,以空格分隔: 81 153 81 和 153 的最大公约数是 9使用 while 和 if:
#includeint main() { int n1, n2; printf("输入两个数,以空格分隔: "); scanf("%d %d",&n1,&n2); while(n1!=n2) { if(n1 > n2) n1 -= n2; else n2 -= n1; } printf("GCD = %d",n1); return 0; } 结果:
输入两个数,以空格分隔: 81 153 GCD = 9适用正数和负数:
#includeint main() { int n1, n2; printf("输入两个数,以空格分隔: "); scanf("%d %d",&n1,&n2); // 如果输入的是负数,将其转换为正数 n1 = ( n1 > 0) ? n1 : -n1; n2 = ( n2 > 0) ? n2 : -n2; while(n1!=n2) { if(n1 > n2) n1 -= n2; else n2 -= n1; } printf("GCD = %d",n1); return 0; } 结果:
输入两个数,以空格分隔: 81 -153 GCD = 925.求两数最小公倍数
用户输入两个数,求这两个数的最小公倍数。
使用 while 和 if:#includeint main() { int n1, n2, minMultiple; printf("输入两个正整数: "); scanf("%d %d", &n1, &n2); // 判断两数较大的值,并赋值给 minMultiple minMultiple = (n1>n2) ? n1 : n2; // 条件为 true while(1) { if( minMultiple%n1==0 && minMultiple%n2==0 ) { printf("%d 和 %d 的最小公倍数为 %d", n1, n2,minMultiple); break; } ++minMultiple; } return 0; } 结果:
输入两个正整数: 72 120 72 和 120 的最小公倍数为 360通过最大公约数计算:
#includeint main() { int n1, n2, i, gcd, lcm; printf("输入两个正整数: "); scanf("%d %d",&n1,&n2); for(i=1; i <= n1 && i <= n2; ++i) { // 判断最大公约数 if(n1%i==0 && n2%i==0) gcd = i; } lcm = (n1*n2)/gcd; printf("%d 和 %d 的最小公倍数为 %d", n1, n2, lcm); return 0; } 结果:
输入两个正整数: 72 120 72 和 120 的最小公倍数为 36026.阶乘
一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且 0 的阶乘为 1。自然数 n 的阶乘写作 n!。n!=1×2×3×…×n。阶乘亦可以递归方式定义:0!=1,1!=1,n!=(n-1)!×n。#includeint main() { int n, i; unsigned long long factorial = 1; printf("输入一个整数: "); scanf("%d",&n); // 如果输入是负数,显示错误 if (n < 0) printf("Error! 负数没有阶乘jiechen"); else { for(i=1; i<=n; ++i) { factorial *= i; // factorial = factorial*i; } printf("%d! = %llu", n, factorial); } return 0; } 结果:
输入一个整数: 10 10! = 3628800使用递归:
#includelong int multiplyNumbers(int n); int main() { int n; printf("输入一个整数: "); scanf("%d", &n); printf("%d! = %ld", n, multiplyNumbers(n)); return 0; } long int multiplyNumbers(int n) { if (n > 1) return n*multiplyNumbers(n-1); else return 1; } 27.循环输出26个字母
#includeint main() { char c; for(c = 'A'; c <= 'Z'; ++c) printf("%c ", c); return 0; } 结果:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z输出大写或小写字母:
#includeint main() { char c; printf("输入 u 显示大写字母,输入 l 显示小写字母: "); scanf("%c", &c); if(c== 'U' || c== 'u') { for(c = 'A'; c <= 'Z'; ++c) printf("%c ", c); } else if (c == 'L' || c == 'l') { for(c = 'a'; c <= 'z'; ++c) printf("%c ", c); } else printf("Error! 输入非法字符。"); return 0; } 结果:
输入 u 显示大写字母,输入 l 显示小写字母: l a b c d e f g h i j k l m n o p q r s t u v w x y z28.判断数字为几位数
#includeint main() { long long n; int count = 0; printf("输入一个整数: "); scanf("%lld", &n); while(n != 0) { // n = n/10 n /= 10; ++count; } printf("数字是 %d 位数。", count); } 结果:
输入一个整数: 2345 数字是 4 位数。29.计算一个数的 n 次方
#includeint main() { int base, exponent; long long result = 1; printf("基数: "); scanf("%d", &base); printf("指数: "); scanf("%d", &exponent); while (exponent != 0) { result *= base; --exponent; } printf("结果:%lld", result); return 0; } 结果:
基数: 2 指数: 3 结果:8使用 pow() 函数:
#include#include int main() { double base, exponent, result; printf("基数: "); scanf("%lf", &base); printf("指数: "); scanf("%lf", &exponent); // 计算结果 result = pow(base, exponent); printf("%.1lf^%.1lf = %.2lf", base, exponent, result); return 0; } 结果:
基数: 2 指数: 3 2.0^3.0 = 8.0030.判断回文数
判断一个数是否为回文数。设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数#includeint main() { int n, reversedInteger = 0, remainder, originalInteger; printf("输入一个整数: "); scanf("%d", &n); originalInteger = n; // 翻转 while( n!=0 ) { remainder = n%10; reversedInteger = reversedInteger*10 + remainder; n /= 10; } // 判断 if (originalInteger == reversedInteger) printf("%d 是回文数。", originalInteger); else printf("%d 不是回文数。", originalInteger); return 0; } 结果:
输入一个整数: 12321 12321 是回文数31.判断素数
质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数。#includeint main() { int n, i, flag = 0; printf("输入一个正整数: "); scanf("%d",&n); for(i=2; i<=n/2; ++i) { // 符合该条件不是素数 if(n%i==0) { flag=1; break; } } if (flag==0) printf("%d 是素数",n); else printf("%d 不是素数",n); return 0; } 结果:
输入一个正整数: 29 29 是素数判断两个数之间的素数:
#includeint main() { int low, high, i, flag; printf("输入两个整数: "); scanf("%d %d", &low, &high); printf("%d 与 %d 之间的素数为: ", low, high); while (low < high) { flag = 0; for(i = 2; i <= low/2; ++i) { if(low % i == 0) { flag = 1; break; } } if (flag == 0) printf("%d ", low); ++low; } return 0; } 结果:
输入两个整数: 100 200 100 与 200 之间的素数为: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199使用函数判断两数间的素数:
#includeint checkPrimeNumber(int n); int main() { int n1, n2, i, flag; printf("输入两个正整数: "); scanf("%d %d", &n1, &n2); printf("%d 和 %d 间的素数为: ", n1, n2); for(i=n1+1; i 结果:
输入两个正整数: 10 30 10 和 30 间的素数为: 11 13 17 19 23 2932.判断Armstrong数(阿姆斯壮数)
Armstrong 数,就是n位数的各位数的n次方之和等于该数,如:153=1^3+5^3+3^3 1634=1^4+6^4+3^4+4^4#includeint main() { int number, originalNumber, remainder, result = 0; printf("输入三位数: "); scanf("%d", &number); originalNumber = number; while (originalNumber != 0) { remainder = originalNumber%10; result += remainder*remainder*remainder; originalNumber /= 10; } if(result == number) printf("%d 是 Armstrong 数",number); else printf("%d 不是 Armstrong 数",number); return 0; } 结果:
输入三位数: 371 371 是 Armstrong两数之间的 Armstrong 数:
#include#include int main() { int low, high, i, temp1, temp2, remainder, n = 0, result = 0; printf("输入两个整数: "); scanf("%d %d", &low, &high); printf("%d 和 %d 之间的 Armstrong 数为: ", low, high); for(i = low + 1; i < high; ++i) { temp2 = i; temp1 = i; // 计算 while (temp1 != 0) { temp1 /= 10; ++n; } while (temp2 != 0) { remainder = temp2 % 10; result += pow(remainder, n); temp2 /= 10; } if (result == i) { printf("%d ", i); } n = 0; result = 0; } return 0; } 结果:
输入两个整数: 100 1000 100 和 1000 之间的 Armstrong 数为: 153 370 371 407使用函数判断Armstrong 数:
#include#include int checkPrimeNumber(int n); int checkArmstrongNumber(int n); int main() { int n, flag; printf("输入正整数: "); scanf("%d", &n); // 检测素数 flag = checkPrimeNumber(n); if (flag == 1) printf("%d 是素数。n", n); else printf("%d 不是素数n", n); // 检测 Armstrong 数 flag = checkArmstrongNumber(n); if (flag == 1) printf("%d 是 Armstrong 数。", n); else printf("%d 不是 Armstrong 数。",n); return 0; } int checkPrimeNumber(int n) { int i, flag = 1; for(i=2; i<=n/2; ++i) { // 非素数条件 if(n%i == 0) { flag = 0; break; } } return flag; } int checkArmstrongNumber(int number) { int originalNumber, remainder, result = 0, n = 0, flag; originalNumber = number; while (originalNumber != 0) { originalNumber /= 10; ++n; } originalNumber = number; while (originalNumber != 0) { remainder = originalNumber%10; result += pow(remainder, n); originalNumber /= 10; } // 判断条件 if(result == number) flag = 1; else flag = 0; return flag; } 结果:
输入正整数: 371 371 不是素数 371 是 Armstrong 数。33.求一个整数的所有因数
#includeint main() { int number, i; printf("输入一个整数: "); scanf("%d",&number); printf("%d 的因数有: ", number); for(i=1; i <= number; ++i) { if (number%i == 0) { printf("%d ",i); } } return 0; } 结果:
输入一个整数: 60 60 的因数有: 1 2 3 4 5 6 10 12 15 20 30 6034.创建各类三角形图案
#includeint main() { int i, j, rows; printf("行数: "); scanf("%d",&rows); for(i=1; i<=rows; ++i) { for(j=1; j<=i; ++j) { printf("* "); } printf("n"); } return 0; } 结果:
* * * * * * * * * * * * * * *使用数字:
#includeint main() { int i, j, rows; printf("行数: "); scanf("%d",&rows); for(i=1; i<=rows; ++i) { for(j=1; j<=i; ++j) { printf("%d ",j); } printf("n"); } return 0; } 结果:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5使用字母:
#includeint main() { int i, j; char input, alphabet = 'A'; printf("输入大写字母: "); scanf("%c",&input); for(i=1; i <= (input-'A'+1); ++i) { for(j=1;j<=i;++j) { printf("%c", alphabet); } ++alphabet; printf("n"); } return 0; } 结果:
A B B C C C D D D D E E E E E倒三角形:
#includeint main() { int i, j, rows; printf("行数: "); scanf("%d",&rows); for(i=rows; i>=1; --i) { for(j=1; j<=i; ++j) { printf("* "); } printf("n"); } return 0; } 结果:
* * * * * * * * * * * * * * *倒三角形数字:
#includeint main() { int i, j, rows; printf("行数: "); scanf("%d",&rows); for(i=rows; i>=1; --i) { for(j=1; j<=i; ++j) { printf("%d ",j); } printf("n"); } return 0; } 结果:
1 2 3 4 5 1 2 3 4 1 2 3 1 2 1金字塔:
#includeint main() { int i, space, rows, k=0; printf("Enter number of rows: "); scanf("%d",&rows); for(i=1; i<=rows; ++i, k=0) { for(space=1; space<=rows-i; ++space) { printf(" "); } while(k != 2*i-1) { printf("* "); ++k; } printf("n"); } return 0; } 结果:
* * * * * * * * * * * * * * * * * * * * * * * * *数字金字塔:
#includeint main() { int i, space, rows, k=0, count = 0, count1 = 0; printf("行数: "); scanf("%d",&rows); for(i=1; i<=rows; ++i) { for(space=1; space <= rows-i; ++space) { printf(" "); ++count; } while(k != 2*i-1) { if (count <= rows-1) { printf("%d ", i+k); ++count; } else { ++count1; printf("%d ", (i+k-2*count1)); } ++k; } count1 = count = k = 0; printf("n"); } return 0; } 结果:
1 2 3 2 3 4 5 4 3 4 5 6 7 6 5 4 5 6 7 8 9 8 7 6 5倒金字塔:
#includeint main() { int rows, i, j, space; printf("行数: "); scanf("%d",&rows); for(i=rows; i>=1; --i) { for(space=0; space < rows-i; ++space) printf(" "); for(j=i; j <= 2*i-1; ++j) printf("* "); for(j=0; j < i-1; ++j) printf("* "); printf("n"); } return 0; } 结果:
* * * * * * * * * * * * * * * * * * * * * * * * *杨辉三角:
#includeint main() { int rows, coef = 1, space, i, j; printf("行数: "); scanf("%d",&rows); for(i=0; i 结果:
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1弗洛伊德三角形:
#include#define N 10 int main() { int i,j,l; for(i=1,j=1;i<=N;i++) { for(l=1;l<=i;l++,j++) printf("%5d",j); printf("n"); } return 0; } 结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 5535.表格形式输出数据
将 1~100 的数据以 10x10 矩阵格式输出。#includeint main() { int i, j, count; for(i = 1; i <= 10; i++) { for(j = i; j <=100; j += 10 ) printf(" %3d", j); printf("n"); } return 0; } 结果:
1 11 21 31 41 51 61 71 81 91 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 75 85 95 6 16 26 36 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 38 48 58 68 78 88 98 9 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100等差数列输出 10x10 矩阵格式:
#includeint main() { int i, j, count; int start, end; start = 2, end = 10; for(i = start; i <= end; i++) { count = i; for(j = 1; j <= 10; j++) { printf(" %3d", count*j); } printf("n"); } return 0; } 结果:
2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100乘法运算格式:
#includeint main() { int i, j, n; n = 3; j = 1; for(i = n; i <= (n*10); i+=n) { printf("%3d x %2d = %3dn", n, j, i); j++; } return 0; } 结果:
3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 3 x 10 = 30



