这段代码有几个问题:

  1. 定义数组 a[n],n 没有初始化,会造成不确定的结果,应该先读入 n,再定义 a[n]。
  2. 输出的第一个数应该是 0,不是 1。
  3. 输出的格式不够清晰,应该在每行的最后添加一个空格。

下面是修改后的代码:

#include<stdio.h> #define N 10

void Fun(int a[], int n) { int i; for (i = 0; i < n; i++) { scanf("%d", &a[i]); } }

void Output(int a[], int m, int n) { int i, c = 1; a[0] = 0; a[1] = 1; printf("%d %d ", a[0], a[1]); for (i = 2; i < n; i++) { a[i] = a[i-1] + a[i-2]; printf("%d ", a[i]); c++; if (c % m == 0) { printf("\n"); } } }

int main() { int n, m, a[N]; scanf("%d,%d", &n, &m); Fun(a, n); Output(a, m, n); return 0;

#includestdioh #define N 10 void Funint aint n 	int i; 	fori=0;in;i++ 	scanfd&ai; 		 void Outputint aint mint n 	int ic=2; 	a0=1; 	a1=1; 	printfd d a0a1; 	fori=2;in;i++ 	 	ai=ai-1+ai-2; 	printfdai;

原文地址: https://www.cveoy.top/t/topic/epbD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录