一.比如第一题用C语言敲菱形金字塔1. 学会使用循环嵌套:菱形金字塔的每一行可以看作是由空格和星号组成的一串字符。可以使用循环嵌套来控制每一行的输出。外层循环控制行数,内层循环控制每一行的空格和星号的数量。
#include<stdio.h>
int main()
{
int n = 0;
while (scanf("%d", &n) != EOF)
{
int i = 0;
int j = 0;
for (i = 0; i < n; i++)//上半部分
{
for (j = 0; j < n - i; j++)
{
printf(" ");
}
for (j = 0; j < i + 1; j++)
{
printf("* ");
}
printf("\n");
}
for (i = 0; i < n+1; i++)//下半部分
{
for (j = 0; j < i; j++)
{
printf(" ");
}
for (j = 0; j < n+1- i; j++)
{
printf("* ");
}
printf("\n");
}
}
return 0;
}
2.同时也要注意边界条件:在编写循环时,需要注意边界条件,以避免出现数组越界或死循环等问题 3.代码的可读性和可维护性:为了使代码易于理解和维护,可以使用适当的注释、缩进和命名规范。这样可以提高代码的可读性,并使其他人能够更容易地理解和修改代码。
二.再比如做级数和题的时候要注意初始化变量,同时熟悉的了解循环计算,同时控制循环条件以及数据类型的转换,从而保证结果的准确性
#include<stdio.h>
#include<math.h>
double fun(double x,int n)
{
double S=1.0,a=1.0;
int i,j,b;
for(i=1;i<=n;i++)
{
b=1;
for(j=1;j<=i;j++)
b=b*j;
a=a*x;
S=S+a/b;
}
return S;
}
void main()
{
int n;
double x,s;
printf("请输入n,x的值:\n");
scanf("%d%lf",&n,&x);
s=fun(x,n);
printf("函数值为:%lf\n",s);
}
三.同时做水莲花的题,也让我学到了就让数字拆分,因为在循环里就是每三个十位和百位,这样就可以进行除法和处理运算符来实现。
#include <iostream>
using namespace std;
int main() {
int num = 100;
int a = 0;
int b = 0;
int c = 0;
do {
a = num / 100;
b = (num / 10) % 10;
c = num % 10;
if (num == a * a * a + b * b * b + c * c * c) {
cout << num << endl;
}
num++;
} while (num < 1000);
}