C語言中將需要輸出的數據導入Excel中

今天被一個澳大利亞的朋友問到一個編程題,將下列題目的情況列舉出來並製成Excel表格。

a有6種情況,b有6種情況,c有6種情況,因此一共有6×6×6 = 216種情況。

#include <stdio.h>
#include <cstdio>

int funa(int num);
int funb(int num);
int func(int num);

int main(int argc,char **argv)
{
	FILE *fp = NULL;
	fp = fopen("E:\\zuhe.xls","w");

	int a[6] = {1,2,3,4,5,6};
	int b[6] = {1,2,3,4,5,6};
	int c[6] = {1,2,3,4,5,6};

	int i,j,k,ret,
		count = 0;

	for(i=0;i<6;i++)
	{
		for(j=0;j<6;j++)
		{
			for(k=0;k<6;k++)
			{
				ret = funa(a[i])*funb(b[j])*func(c[k]);	
				count++;
				printf("%d  ",ret);
				fprintf(fp,"%d\n",ret);
			}
		}
	}
			printf("\n");
			printf("一共有%d種情況\n",count);

			fclose(fp);
}

 導出的Excel表格zuhe.xls是放在E:\下的,而C語言中“\\”代表'\'。

int funa(int num)
{
	int temp = 6;
	int sum1 = 1;
	int sum2 = 1;
	while(temp >= (6-num+1))
	{
		sum1 = sum1 * temp;
		temp--;
	}
	while(num)
	{
		sum2 = sum2 * num;
		num--;
	}
	int suma = sum1/sum2;
	return suma;
}
int funb(int num)
{
	int temp = 6;
	int sum1 = 1;
	int sum2 = 1;
	while(temp >= (6-num+1))
	{
		sum1 = sum1 * temp;
		temp--;
	}
	while(num)
	{
		sum2 = sum2 * num;
		num--;
	}
	int sumb = sum1/sum2;

	return sumb;
}
int func(int num)
{
	int temp = 6;
	int sum1 = 1;
	int sum2 = 1;
	while(temp >= (6-num+1))
	{
		sum1 = sum1 * temp;
		temp--;
	}
	while(num)
	{
		sum2 = sum2 * num;
		num--;
	}
	int sumc = sum1/sum2;
	return sumc;
}

以下是編譯結果:

生成的Excel表格zuhe.xls

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章