1. 程式人生 > >作業:金字塔、乘法口訣表和字元反輸出

作業:金字塔、乘法口訣表和字元反輸出

列印金字塔

#include<Stdio.h>
int main(void)
{
	int i,z,k,n;
	printf("請輸入要生成的塔層:");
	scanf("%d",&n ); 
	for(i=1;i<=n;i++)    /*首先判斷需要列印幾行塔,把i與n值比較,判斷需要迴圈幾次 
	
	                        然後逐句列印,首先由思路可知,一層列印的空格數為n-i個 
                            一層列印的*的數量為(2*i-1)  設定迴圈,迴圈逐層列印 */ 
	{
	for(z=0;z<n-i;z++)
	printf(" ");
	for(k=0;k<(2*i-1);k++)
	printf("*");
	printf("\n");}
	return 0;	
} 

執行結果
在這裡

列印乘法口訣表

#include<stdio.h>
int main(void)
{
	int i,j,num;    //num只是儲存下面i*j的數,不是加法的意思。乘法的英語忘了......
	for(i=1;i<10;i++)
	{
	for(j=1;j<=i;j++)
	{num=i*j;
	printf("%d*%d=%d\t",j,i,num);}   //    /t是水平製表符的意思,用來讓表格對齊
	
	printf("\n");}
	return 0;
}

執行結果
在這裡插入圖片描述

字元反輸出

#include<stdio.h>
#include<string.h>
int main()
{
	char a[50],b[50];
	int i ,n,j=0;
	printf("請輸入一段話:");
	gets (a);       //輸入一段字元並存入a中 
	n=strlen(a);      //測量字串長度 
	for(i=n-1;i>=0;i--)    //複製第n-1個,因為第n個是'\n'。所以不復制 
	b[j++]=a[i];
	b[j]='\0';   //讓字串最後以回車符結束 
	strcpy(a,b);     //把字串b複製到字串a中 
printf("該段話反過來為:%s\n",a);
	return 0; 
	}

執行結果
在這裡插入圖片描述