不管怎么改都运行不了,这个c程序是我自己写的,肯定有很多问题,但不知道该怎么改
int main()
{
int s, n;
//直接赋值 或者用scanf来初始化
n = 5; //scanf("%d",&n);
if (n == 1) //注意 你的n 后面使用前没有赋值操作啊 你要给n赋值的
{
return 10;
}
//if (n >= 1; n <= 5) 你这里应该注意 你是想把n从1~5 遍历5次 注意if语句以及循环语句的差异啊
//或者这里你分析代码后可以知道 这里算法其实就是 s = 10 +(n-1)*2;
// 用if判断 符合条件
if (n >= 1 && n <= 5)
{
s = 10 + (n - 1) * 2;
printf("第%d个人的年龄为 %d \n", n, s); //注意格式化前面的标识和后面参数要对应
}
//这里可以用for, do while, while,但是不能用if,并且语法也不对
//同时你要注意 题目中说第一个人年纪是10 你做处理了吗?
s = 10;
for (int i = 1; i <= n-1; i++) //注意 这里是遍历n次
{
//每次都是再第一个人的10岁的基础上+2 第n个就加了几次2
s += 2;
printf("第%d个人的年龄为 %d \n", n, s); //注意格式化前面的标识和后面参数要对应
}
return 0;
}
#include<stdio.h>
int getage(int n) //获取年龄
{
if ( n == 1 )
{
return 10;
}
return getage(n - 1) + 2;//比前一个人大2
}
int main()
{
int n = 5;
int age = getage(5);//递归获取年龄
return 0;
}
第二个if语句,改成if(n>=1&&n<=5)