循环嵌套编程
问题如图
循环嵌套编程
编程1:打印三角形九九乘法表。
编程2:如图
供参考:
//九九乘法表
#include <stdio.h>
int main()
{
int i,j;
for (i = 1; i <= 9; i++){
for (j = 1; j <= i; j++)
printf("%d * %d = %2d " ,i, j, i*j);
printf("\n");
}
return 0;
}
//第二题
#include <stdio.h>
int main()
{
long long int s,tmp;
int i;
for(i = 2,s = 0,tmp = 1;i <= 10; i+=2){
tmp *= i * (i - 1);
s += tmp;
}
printf("s=%lld", s);
return 0;
}
#include<stdio.h>
int getWordNum(char ar1[],char ch) ;
int main()
{
char string[81],c,n;
gets(string);
c=getchar();
n=getWordNum(string,c);
printf("%d",n);
return 0;
}
/* 请在这里填写答案 */
回答:
要打印三角形九九乘法表,需要使用循环嵌套来实现。
首先,外层循环控制行数,内层循环控制每行的列数。每行的列数要比行数多1,因为九九乘法表中的每个数后面都要加上乘号。
具体操作步骤如下:
#include <stdio.h>
void printTriangle() {
int i, j;
for (i = 1; i <= 9; i++) { // 外层循环控制行数
for (j = 1; j <= i; j++) { // 内层循环控制每行的列数
printf("%d*%d=%-3d ", j, i, i*j); // 打印每个数及其后面的乘号
}
printf("\n"); // 换行
}
}
int main() {
printTriangle();
return 0;
}
要打印半个玫瑰花图案,也需要使用循环嵌套来实现。
首先,外层循环控制行数,内层循环控制每行的列数。通过判断行数和列数的关系,来决定打印哪些字符。具体的,当列数小于等于行数的时候打印"*",否则打印"@"。
具体操作步骤如下:
#include <stdio.h>
void printFlower() {
int i, j;
for (i = 1; i <= 7; i++) { // 外层循环控制行数
for (j = 1; j <= 7; j++) { // 内层循环控制每行的列数
if (j <= i) { // 判断打印什么字符
printf("*");
} else {
printf("@");
}
}
printf("\n"); // 换行
}
}
int main() {
printFlower();
return 0;
}
第一道
#include <stdio.h>
int main() {
int i, j;
for(i = 1; i <= 9; i++) { // 外层循环控制行数
for(j = 1; j <= i; j++) { // 内层循环控制每行的列数
printf("%d×%d=%d\t", j, i, i*j);
}
printf("\n"); // 每行结束后换行
}
return 0;
}
第二道题
#include <stdio.h>
int main() {
int n;
long long sum = 0, factorial = 1; // 防止数据溢出,使用 long long 类型
printf("请输入一个偶数:");
scanf("%d", &n);
// 计算偶数阶乘的和
for (int i = 2; i <= n; i += 2) {
factorial = 1;
for (int j = 2; j <= i; j += 2) {
factorial *= j;
}
sum += factorial;
}
printf("偶数阶乘的和为:%lld\n", sum);
return 0;
}